Merge branch 'sprint_1_delivery' into 'master'
Sprint 1 delivery See merge request marcel.schwarz/software-projekt-2!23
113
.gitignore
vendored
Normal file
@ -0,0 +1,113 @@
|
||||
|
||||
# Created by https://www.gitignore.io/api/macos,swift
|
||||
# Edit at https://www.gitignore.io/?templates=macos,swift
|
||||
|
||||
### macOS ###
|
||||
# General
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
|
||||
# Icon must end with two \r
|
||||
Icon
|
||||
|
||||
# Thumbnails
|
||||
._*
|
||||
|
||||
# Files that might appear in the root of a volume
|
||||
.DocumentRevisions-V100
|
||||
.fseventsd
|
||||
.Spotlight-V100
|
||||
.TemporaryItems
|
||||
.Trashes
|
||||
.VolumeIcon.icns
|
||||
.com.apple.timemachine.donotpresent
|
||||
|
||||
# Directories potentially created on remote AFP share
|
||||
.AppleDB
|
||||
.AppleDesktop
|
||||
Network Trash Folder
|
||||
Temporary Items
|
||||
.apdisk
|
||||
|
||||
### Swift ###
|
||||
# Xcode
|
||||
#
|
||||
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
|
||||
|
||||
## Build generated
|
||||
build/
|
||||
DerivedData/
|
||||
|
||||
## Various settings
|
||||
*.pbxuser
|
||||
!default.pbxuser
|
||||
*.mode1v3
|
||||
!default.mode1v3
|
||||
*.mode2v3
|
||||
!default.mode2v3
|
||||
*.perspectivev3
|
||||
!default.perspectivev3
|
||||
xcuserdata/
|
||||
xcshareddata/
|
||||
|
||||
## Other
|
||||
*.moved-aside
|
||||
*.xccheckout
|
||||
*.xcscmblueprint
|
||||
|
||||
## Obj-C/Swift specific
|
||||
*.hmap
|
||||
*.ipa
|
||||
*.dSYM.zip
|
||||
*.dSYM
|
||||
|
||||
## Playgrounds
|
||||
timeline.xctimeline
|
||||
playground.xcworkspace
|
||||
|
||||
# Swift Package Manager
|
||||
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
|
||||
# Packages/
|
||||
# Package.pins
|
||||
# Package.resolved
|
||||
.build/
|
||||
# Add this line if you want to avoid checking in Xcode SPM integration.
|
||||
# .swiftpm/xcode
|
||||
|
||||
# CocoaPods
|
||||
# We recommend against adding the Pods directory to your .gitignore. However
|
||||
# you should judge for yourself, the pros and cons are mentioned at:
|
||||
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
|
||||
# Pods/
|
||||
# Add this line if you want to avoid checking in source code from the Xcode workspace
|
||||
# *.xcworkspace
|
||||
|
||||
# Carthage
|
||||
# Add this line if you want to avoid checking in source code from Carthage dependencies.
|
||||
# Carthage/Checkouts
|
||||
|
||||
Carthage/Build
|
||||
|
||||
# Accio dependency management
|
||||
Dependencies/
|
||||
.accio/
|
||||
|
||||
# fastlane
|
||||
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
|
||||
# screenshots whenever they are needed.
|
||||
# For more information about the recommended setup visit:
|
||||
# https://docs.fastlane.tools/best-practices/source-control/#source-control
|
||||
|
||||
fastlane/report.xml
|
||||
fastlane/Preview.html
|
||||
fastlane/screenshots/**/*.png
|
||||
fastlane/test_output
|
||||
|
||||
# Code Injection
|
||||
# After new code Injection tools there's a generated folder /iOSInjectionProject
|
||||
# https://github.com/johnno1962/injectionforxcode
|
||||
|
||||
iOSInjectionProject/
|
||||
|
||||
# End of https://www.gitignore.io/api/macos,swift
|
5
.gitlab/issue_templates/Template.md
Normal file
@ -0,0 +1,5 @@
|
||||
Description
|
||||
|
||||
**Acceptance Criteria**
|
||||
* One
|
||||
* Two
|
641
GoldWars/GoldWars.xcodeproj/project.pbxproj
Normal file
@ -0,0 +1,641 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 50;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
110360D3244B101A008610AF /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 110360D2244B101A008610AF /* AppDelegate.swift */; };
|
||||
110360D5244B101A008610AF /* GameScene.sks in Resources */ = {isa = PBXBuildFile; fileRef = 110360D4244B101A008610AF /* GameScene.sks */; };
|
||||
110360D9244B101A008610AF /* GameScene.swift in Sources */ = {isa = PBXBuildFile; fileRef = 110360D8244B101A008610AF /* GameScene.swift */; };
|
||||
110360DB244B101A008610AF /* GameViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 110360DA244B101A008610AF /* GameViewController.swift */; };
|
||||
110360DE244B101A008610AF /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 110360DC244B101A008610AF /* Main.storyboard */; };
|
||||
110360E0244B101B008610AF /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 110360DF244B101B008610AF /* Assets.xcassets */; };
|
||||
110360E3244B101B008610AF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 110360E1244B101B008610AF /* LaunchScreen.storyboard */; };
|
||||
110360EE244B101B008610AF /* GoldWarsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 110360ED244B101B008610AF /* GoldWarsTests.swift */; };
|
||||
110360F9244B101B008610AF /* GoldWarsUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 110360F8244B101B008610AF /* GoldWarsUITests.swift */; };
|
||||
11036111244B3D6A008610AF /* MenuScene.sks in Resources */ = {isa = PBXBuildFile; fileRef = 11036110244B3D6A008610AF /* MenuScene.sks */; };
|
||||
11036113244B3E30008610AF /* MenuScene.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11036112244B3E30008610AF /* MenuScene.swift */; };
|
||||
11738A3B24508F68004426F1 /* Unit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11738A3A24508F68004426F1 /* Unit.swift */; };
|
||||
ABA03DA0244BD54F00A66916 /* Base.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABA03D9F244BD54F00A66916 /* Base.swift */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
110360EA244B101B008610AF /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 110360C7244B101A008610AF /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 110360CE244B101A008610AF;
|
||||
remoteInfo = GoldWars;
|
||||
};
|
||||
110360F5244B101B008610AF /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 110360C7244B101A008610AF /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 110360CE244B101A008610AF;
|
||||
remoteInfo = GoldWars;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
110360CF244B101A008610AF /* GoldWars.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = GoldWars.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
110360D2244B101A008610AF /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||
110360D4244B101A008610AF /* GameScene.sks */ = {isa = PBXFileReference; lastKnownFileType = file.sks; path = GameScene.sks; sourceTree = "<group>"; };
|
||||
110360D8244B101A008610AF /* GameScene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameScene.swift; sourceTree = "<group>"; };
|
||||
110360DA244B101A008610AF /* GameViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameViewController.swift; sourceTree = "<group>"; };
|
||||
110360DD244B101A008610AF /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
||||
110360DF244B101B008610AF /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
110360E2244B101B008610AF /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||
110360E4244B101B008610AF /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
110360E9244B101B008610AF /* GoldWarsTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GoldWarsTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
110360ED244B101B008610AF /* GoldWarsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GoldWarsTests.swift; sourceTree = "<group>"; };
|
||||
110360EF244B101B008610AF /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
110360F4244B101B008610AF /* GoldWarsUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GoldWarsUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
110360F8244B101B008610AF /* GoldWarsUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GoldWarsUITests.swift; sourceTree = "<group>"; };
|
||||
110360FA244B101B008610AF /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
11036110244B3D6A008610AF /* MenuScene.sks */ = {isa = PBXFileReference; lastKnownFileType = file.sks; path = MenuScene.sks; sourceTree = "<group>"; };
|
||||
11036112244B3E30008610AF /* MenuScene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuScene.swift; sourceTree = "<group>"; };
|
||||
11738A3A24508F68004426F1 /* Unit.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Unit.swift; sourceTree = "<group>"; };
|
||||
ABA03D9F244BD54F00A66916 /* Base.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Base.swift; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
110360CC244B101A008610AF /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
110360E6244B101B008610AF /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
110360F1244B101B008610AF /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
110360C6244B101A008610AF = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
110360D1244B101A008610AF /* GoldWars */,
|
||||
110360EC244B101B008610AF /* GoldWarsTests */,
|
||||
110360F7244B101B008610AF /* GoldWarsUITests */,
|
||||
110360D0244B101A008610AF /* Products */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
110360D0244B101A008610AF /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
110360CF244B101A008610AF /* GoldWars.app */,
|
||||
110360E9244B101B008610AF /* GoldWarsTests.xctest */,
|
||||
110360F4244B101B008610AF /* GoldWarsUITests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
110360D1244B101A008610AF /* GoldWars */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
11738A3C24508F8C004426F1 /* Unit */,
|
||||
ABA03D9E244BD53D00A66916 /* Base */,
|
||||
11036114244B3E8A008610AF /* Menu */,
|
||||
1103610F244B3D48008610AF /* Game */,
|
||||
110360D2244B101A008610AF /* AppDelegate.swift */,
|
||||
110360DA244B101A008610AF /* GameViewController.swift */,
|
||||
110360DC244B101A008610AF /* Main.storyboard */,
|
||||
110360DF244B101B008610AF /* Assets.xcassets */,
|
||||
110360E1244B101B008610AF /* LaunchScreen.storyboard */,
|
||||
110360E4244B101B008610AF /* Info.plist */,
|
||||
);
|
||||
path = GoldWars;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
110360EC244B101B008610AF /* GoldWarsTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
110360ED244B101B008610AF /* GoldWarsTests.swift */,
|
||||
110360EF244B101B008610AF /* Info.plist */,
|
||||
);
|
||||
path = GoldWarsTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
110360F7244B101B008610AF /* GoldWarsUITests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
110360F8244B101B008610AF /* GoldWarsUITests.swift */,
|
||||
110360FA244B101B008610AF /* Info.plist */,
|
||||
);
|
||||
path = GoldWarsUITests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1103610F244B3D48008610AF /* Game */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
110360D4244B101A008610AF /* GameScene.sks */,
|
||||
110360D8244B101A008610AF /* GameScene.swift */,
|
||||
);
|
||||
path = Game;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
11036114244B3E8A008610AF /* Menu */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
11036110244B3D6A008610AF /* MenuScene.sks */,
|
||||
11036112244B3E30008610AF /* MenuScene.swift */,
|
||||
);
|
||||
path = Menu;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
11738A3C24508F8C004426F1 /* Unit */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
11738A3A24508F68004426F1 /* Unit.swift */,
|
||||
);
|
||||
path = Unit;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
ABA03D9E244BD53D00A66916 /* Base */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
ABA03D9F244BD54F00A66916 /* Base.swift */,
|
||||
);
|
||||
path = Base;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
110360CE244B101A008610AF /* GoldWars */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 110360FD244B101B008610AF /* Build configuration list for PBXNativeTarget "GoldWars" */;
|
||||
buildPhases = (
|
||||
110360CB244B101A008610AF /* Sources */,
|
||||
110360CC244B101A008610AF /* Frameworks */,
|
||||
110360CD244B101A008610AF /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = GoldWars;
|
||||
productName = GoldWars;
|
||||
productReference = 110360CF244B101A008610AF /* GoldWars.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
110360E8244B101B008610AF /* GoldWarsTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 11036100244B101B008610AF /* Build configuration list for PBXNativeTarget "GoldWarsTests" */;
|
||||
buildPhases = (
|
||||
110360E5244B101B008610AF /* Sources */,
|
||||
110360E6244B101B008610AF /* Frameworks */,
|
||||
110360E7244B101B008610AF /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
110360EB244B101B008610AF /* PBXTargetDependency */,
|
||||
);
|
||||
name = GoldWarsTests;
|
||||
productName = GoldWarsTests;
|
||||
productReference = 110360E9244B101B008610AF /* GoldWarsTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
110360F3244B101B008610AF /* GoldWarsUITests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 11036103244B101B008610AF /* Build configuration list for PBXNativeTarget "GoldWarsUITests" */;
|
||||
buildPhases = (
|
||||
110360F0244B101B008610AF /* Sources */,
|
||||
110360F1244B101B008610AF /* Frameworks */,
|
||||
110360F2244B101B008610AF /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
110360F6244B101B008610AF /* PBXTargetDependency */,
|
||||
);
|
||||
name = GoldWarsUITests;
|
||||
productName = GoldWarsUITests;
|
||||
productReference = 110360F4244B101B008610AF /* GoldWarsUITests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.ui-testing";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
110360C7244B101A008610AF /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastSwiftUpdateCheck = 1130;
|
||||
LastUpgradeCheck = 1130;
|
||||
ORGANIZATIONNAME = SP2;
|
||||
TargetAttributes = {
|
||||
110360CE244B101A008610AF = {
|
||||
CreatedOnToolsVersion = 11.3.1;
|
||||
};
|
||||
110360E8244B101B008610AF = {
|
||||
CreatedOnToolsVersion = 11.3.1;
|
||||
TestTargetID = 110360CE244B101A008610AF;
|
||||
};
|
||||
110360F3244B101B008610AF = {
|
||||
CreatedOnToolsVersion = 11.3.1;
|
||||
TestTargetID = 110360CE244B101A008610AF;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 110360CA244B101A008610AF /* Build configuration list for PBXProject "GoldWars" */;
|
||||
compatibilityVersion = "Xcode 9.3";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = 110360C6244B101A008610AF;
|
||||
productRefGroup = 110360D0244B101A008610AF /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
110360CE244B101A008610AF /* GoldWars */,
|
||||
110360E8244B101B008610AF /* GoldWarsTests */,
|
||||
110360F3244B101B008610AF /* GoldWarsUITests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
110360CD244B101A008610AF /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
110360DE244B101A008610AF /* Main.storyboard in Resources */,
|
||||
11036111244B3D6A008610AF /* MenuScene.sks in Resources */,
|
||||
110360D5244B101A008610AF /* GameScene.sks in Resources */,
|
||||
110360E0244B101B008610AF /* Assets.xcassets in Resources */,
|
||||
110360E3244B101B008610AF /* LaunchScreen.storyboard in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
110360E7244B101B008610AF /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
110360F2244B101B008610AF /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
110360CB244B101A008610AF /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
110360D9244B101A008610AF /* GameScene.swift in Sources */,
|
||||
11738A3B24508F68004426F1 /* Unit.swift in Sources */,
|
||||
11036113244B3E30008610AF /* MenuScene.swift in Sources */,
|
||||
ABA03DA0244BD54F00A66916 /* Base.swift in Sources */,
|
||||
110360DB244B101A008610AF /* GameViewController.swift in Sources */,
|
||||
110360D3244B101A008610AF /* AppDelegate.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
110360E5244B101B008610AF /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
110360EE244B101B008610AF /* GoldWarsTests.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
110360F0244B101B008610AF /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
110360F9244B101B008610AF /* GoldWarsUITests.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
110360EB244B101B008610AF /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 110360CE244B101A008610AF /* GoldWars */;
|
||||
targetProxy = 110360EA244B101B008610AF /* PBXContainerItemProxy */;
|
||||
};
|
||||
110360F6244B101B008610AF /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 110360CE244B101A008610AF /* GoldWars */;
|
||||
targetProxy = 110360F5244B101B008610AF /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
110360DC244B101A008610AF /* Main.storyboard */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
110360DD244B101A008610AF /* Base */,
|
||||
);
|
||||
name = Main.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
110360E1244B101B008610AF /* LaunchScreen.storyboard */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
110360E2244B101B008610AF /* Base */,
|
||||
);
|
||||
name = LaunchScreen.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
110360FB244B101B008610AF /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 13.2;
|
||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||
MTL_FAST_MATH = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
110360FC244B101B008610AF /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 13.2;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
MTL_FAST_MATH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_COMPILATION_MODE = wholemodule;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
110360FE244B101B008610AF /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
INFOPLIST_FILE = GoldWars/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.hft.stuttgart.GoldWars;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = 2;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
110360FF244B101B008610AF /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
INFOPLIST_FILE = GoldWars/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.hft.stuttgart.GoldWars;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = 2;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
11036101244B101B008610AF /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
INFOPLIST_FILE = GoldWarsTests/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 13.2;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
"@loader_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.hft.stuttgart.GoldWarsTests;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/GoldWars.app/GoldWars";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
11036102244B101B008610AF /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
INFOPLIST_FILE = GoldWarsTests/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 13.2;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
"@loader_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.hft.stuttgart.GoldWarsTests;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/GoldWars.app/GoldWars";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
11036104244B101B008610AF /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
INFOPLIST_FILE = GoldWarsUITests/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
"@loader_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.hft.stuttgart.GoldWarsUITests;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
TEST_TARGET_NAME = GoldWars;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
11036105244B101B008610AF /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
INFOPLIST_FILE = GoldWarsUITests/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
"@loader_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.hft.stuttgart.GoldWarsUITests;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
TEST_TARGET_NAME = GoldWars;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
110360CA244B101A008610AF /* Build configuration list for PBXProject "GoldWars" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
110360FB244B101B008610AF /* Debug */,
|
||||
110360FC244B101B008610AF /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
110360FD244B101B008610AF /* Build configuration list for PBXNativeTarget "GoldWars" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
110360FE244B101B008610AF /* Debug */,
|
||||
110360FF244B101B008610AF /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
11036100244B101B008610AF /* Build configuration list for PBXNativeTarget "GoldWarsTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
11036101244B101B008610AF /* Debug */,
|
||||
11036102244B101B008610AF /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
11036103244B101B008610AF /* Build configuration list for PBXNativeTarget "GoldWarsUITests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
11036104244B101B008610AF /* Debug */,
|
||||
11036105244B101B008610AF /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 110360C7244B101A008610AF /* Project object */;
|
||||
}
|
7
GoldWars/GoldWars.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:GoldWars.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
41
GoldWars/GoldWars/AppDelegate.swift
Normal file
@ -0,0 +1,41 @@
|
||||
//
|
||||
// AppDelegate.swift
|
||||
// GoldWars
|
||||
//
|
||||
// Created by Aldin Duraki on 18.04.20.
|
||||
// Copyright © 2020 SP2. All rights reserved.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
@UIApplicationMain
|
||||
class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
|
||||
var window: UIWindow?
|
||||
|
||||
|
||||
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
|
||||
// Override point for customization after application launch.
|
||||
return true
|
||||
}
|
||||
|
||||
func applicationWillResignActive(_ application: UIApplication) {
|
||||
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
|
||||
// Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
|
||||
}
|
||||
|
||||
func applicationDidEnterBackground(_ application: UIApplication) {
|
||||
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
|
||||
}
|
||||
|
||||
func applicationWillEnterForeground(_ application: UIApplication) {
|
||||
// Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
|
||||
}
|
||||
|
||||
func applicationDidBecomeActive(_ application: UIApplication) {
|
||||
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,108 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "20x20",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "20x20",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "29x29",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "29x29",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "40x40",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "40x40",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "60x60",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "60x60",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "20x20",
|
||||
"filename" : "logo_20.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "20x20",
|
||||
"filename" : "logo_40.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "29x29",
|
||||
"filename" : "logo_29.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "29x29",
|
||||
"filename" : "logo_58.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "40x40",
|
||||
"filename" : "logo_40.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "40x40",
|
||||
"filename" : "logo_80.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "76x76",
|
||||
"filename" : "logo_76.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "76x76",
|
||||
"filename" : "logo_152.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "83.5x83.5",
|
||||
"filename" : "logo_167.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ios-marketing",
|
||||
"size" : "1024x1024",
|
||||
"filename" : "logo.png",
|
||||
"scale" : "1x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
|
||||
The different image sizes are used for:
|
||||
|
||||
App Store: logo.png
|
||||
iPad Pro - App Icon: logo_167.png
|
||||
iPad, iPad Mini - App Icon: logo_152.png
|
||||
iPad (all) - Spotlight: logo_80.png
|
||||
iPad (all) - Settings: logo_58.png
|
||||
iPad (all) - Notifications: logo_40.png
|
||||
|
||||
|
||||
Color Codes:
|
||||
|
||||
Coin:
|
||||
Main: #ae841a
|
||||
Edges: #daa520 (goldenrod)
|
||||
|
||||
Background flow:
|
||||
From: #a9003c
|
||||
To: #2f0011
|
||||
|
||||
|
||||
The logo.svg file is a vectorized version of the coin without the background.
|
BIN
GoldWars/GoldWars/Assets.xcassets/AppIcon.appiconset/logo.png
Normal file
After Width: | Height: | Size: 330 KiB |
@ -0,0 +1,11 @@
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="1024px" height="1024px" viewBox="0 0 10240 10240" preserveAspectRatio="xMidYMid meet">
|
||||
<g id="layer101" fill="#ae841a" stroke="none">
|
||||
<path d="M4865 8994 c-610 -49 -1168 -217 -1661 -500 -538 -308 -994 -736 -1327 -1245 -346 -528 -544 -1082 -619 -1734 -17 -144 -17 -646 0 -790 54 -470 170 -881 362 -1283 260 -544 672 -1048 1157 -1415 569 -430 1224 -689 1948 -769 158 -17 632 -17 790 0 1186 131 2214 760 2859 1749 336 517 538 1086 608 1718 17 158 17 632 0 790 -70 631 -271 1200 -608 1718 -153 234 -280 392 -484 601 -619 635 -1428 1033 -2320 1141 -129 16 -590 28 -705 19z m1000 -3134 l740 -740 -743 -743 -742 -742 -742 742 -743 743 740 740 c407 407 742 740 745 740 3 0 338 -333 745 -740z"/>
|
||||
</g>
|
||||
<g id="layer102" fill="#daa520" stroke="none">
|
||||
<path d="M4900 8989 c-942 -50 -1846 -455 -2520 -1129 -631 -631 -1018 -1443 -1116 -2342 -20 -184 -23 -578 -5 -753 79 -785 360 -1477 846 -2081 532 -663 1294 -1143 2125 -1338 298 -70 553 -98 890 -98 605 0 1135 118 1668 373 524 250 997 624 1352 1068 411 515 678 1100 795 1743 80 439 79 939 -1 1376 -305 1669 -1644 2941 -3322 3157 -121 16 -436 36 -522 33 -25 0 -110 -4 -190 -9z m616 -673 c1065 -138 1972 -771 2465 -1721 180 -345 290 -711 341 -1125 17 -136 17 -564 0 -700 -73 -593 -280 -1118 -622 -1575 -528 -705 -1298 -1153 -2188 -1272 -177 -24 -607 -24 -784 0 -890 119 -1660 567 -2188 1272 -342 457 -549 982 -622 1575 -17 136 -17 564 0 700 85 693 352 1290 807 1801 517 581 1276 971 2040 1048 61 6 126 13 145 15 78 9 493 -4 606 -18z"/>
|
||||
<path d="M3907 6342 l-1217 -1217 1218 -1218 1217 -1217 1218 1218 1217 1217 -1218 1218 -1217 1217 -1218 -1218z m1958 -482 l740 -740 -743 -743 -742 -742 -742 742 -743 743 740 740 c407 407 742 740 745 740 3 0 338 -333 745 -740z"/>
|
||||
</g>
|
||||
|
||||
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 8.3 KiB |
After Width: | Height: | Size: 9.4 KiB |
BIN
GoldWars/GoldWars/Assets.xcassets/AppIcon.appiconset/logo_20.png
Normal file
After Width: | Height: | Size: 692 B |
BIN
GoldWars/GoldWars/Assets.xcassets/AppIcon.appiconset/logo_29.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
GoldWars/GoldWars/Assets.xcassets/AppIcon.appiconset/logo_40.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
GoldWars/GoldWars/Assets.xcassets/AppIcon.appiconset/logo_58.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
GoldWars/GoldWars/Assets.xcassets/AppIcon.appiconset/logo_76.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
BIN
GoldWars/GoldWars/Assets.xcassets/AppIcon.appiconset/logo_80.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
GoldWars/GoldWars/Assets.xcassets/Background.imageset/Backgorund.png
vendored
Normal file
After Width: | Height: | Size: 149 KiB |
BIN
GoldWars/GoldWars/Assets.xcassets/Background.imageset/Background@2x.png
vendored
Normal file
After Width: | Height: | Size: 423 KiB |
BIN
GoldWars/GoldWars/Assets.xcassets/Background.imageset/Background@3x.png
vendored
Normal file
After Width: | Height: | Size: 849 KiB |
23
GoldWars/GoldWars/Assets.xcassets/Background.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "Backgorund.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "Background@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Background@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
23
GoldWars/GoldWars/Assets.xcassets/Base.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "base-small.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "base-medium.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "base-large.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/Base.imageset/base-large.png
vendored
Normal file
After Width: | Height: | Size: 54 KiB |
BIN
GoldWars/GoldWars/Assets.xcassets/Base.imageset/base-medium.png
vendored
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
GoldWars/GoldWars/Assets.xcassets/Base.imageset/base-small.png
vendored
Normal file
After Width: | Height: | Size: 10 KiB |
6
GoldWars/GoldWars/Assets.xcassets/Contents.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_boxCheckmark.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 768 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_boxCross.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_boxCross.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_boxCross.imageset/yellow_boxCross.png
vendored
Normal file
After Width: | Height: | Size: 712 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_boxTick.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_boxTick.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_boxTick.imageset/yellow_boxTick.png
vendored
Normal file
After Width: | Height: | Size: 963 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button00.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_button00.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button00.imageset/yellow_button00.png
vendored
Normal file
After Width: | Height: | Size: 491 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button01.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_button01.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button01.imageset/yellow_button01.png
vendored
Normal file
After Width: | Height: | Size: 432 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button02.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_button02.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button02.imageset/yellow_button02.png
vendored
Normal file
After Width: | Height: | Size: 522 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button03.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_button03.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button03.imageset/yellow_button03.png
vendored
Normal file
After Width: | Height: | Size: 458 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button04.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_button04.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button04.imageset/yellow_button04.png
vendored
Normal file
After Width: | Height: | Size: 640 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button05.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_button05.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button05.imageset/yellow_button05.png
vendored
Normal file
After Width: | Height: | Size: 557 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button06.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_button06.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button06.imageset/yellow_button06.png
vendored
Normal file
After Width: | Height: | Size: 437 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button07.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_button07.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button07.imageset/yellow_button07.png
vendored
Normal file
After Width: | Height: | Size: 426 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button08.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_button08.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button08.imageset/yellow_button08.png
vendored
Normal file
After Width: | Height: | Size: 369 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button09.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_button09.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button09.imageset/yellow_button09.png
vendored
Normal file
After Width: | Height: | Size: 452 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button10.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_button10.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button10.imageset/yellow_button10.png
vendored
Normal file
After Width: | Height: | Size: 395 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button11.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_button11.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button11.imageset/yellow_button11.png
vendored
Normal file
After Width: | Height: | Size: 563 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button12.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_button12.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button12.imageset/yellow_button12.png
vendored
Normal file
After Width: | Height: | Size: 500 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button13.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_button13.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_button13.imageset/yellow_button13.png
vendored
Normal file
After Width: | Height: | Size: 510 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_checkmark.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_checkmark.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 358 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_circle.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_circle.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_circle.imageset/yellow_circle.png
vendored
Normal file
After Width: | Height: | Size: 870 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_cross.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_cross.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_cross.imageset/yellow_cross.png
vendored
Normal file
After Width: | Height: | Size: 290 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_panel.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_panel.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_panel.imageset/yellow_panel.png
vendored
Normal file
After Width: | Height: | Size: 612 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_sliderDown.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_sliderDown.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 434 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_sliderLeft.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_sliderLeft.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 507 B |
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_sliderRight.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 498 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_sliderUp.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_sliderUp.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_sliderUp.imageset/yellow_sliderUp.png
vendored
Normal file
After Width: | Height: | Size: 427 B |
21
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_tick.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "yellow_tick.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
GoldWars/GoldWars/Assets.xcassets/UITexture.spriteatlas/yellow_tick.imageset/yellow_tick.png
vendored
Normal file
After Width: | Height: | Size: 293 B |
25
GoldWars/GoldWars/Base.lproj/LaunchScreen.storyboard
Normal file
@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--View Controller-->
|
||||
<scene sceneID="EHf-IW-A2E">
|
||||
<objects>
|
||||
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
|
||||
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
|
||||
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
|
||||
</view>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="53" y="375"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
</document>
|
24
GoldWars/GoldWars/Base.lproj/Main.storyboard
Normal file
@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BV1-FR-VrT">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--Game View Controller-->
|
||||
<scene sceneID="tXr-a1-R10">
|
||||
<objects>
|
||||
<viewController id="BV1-FR-VrT" customClass="GameViewController" customModuleProvider="target" sceneMemberID="viewController">
|
||||
<view key="view" multipleTouchEnabled="YES" contentMode="scaleToFill" id="3se-qz-xqx" customClass="SKView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
|
||||
<viewLayoutGuide key="safeArea" id="4qk-I5-YsI"/>
|
||||
</view>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="SZV-WD-TEh" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
</scene>
|
||||
</scenes>
|
||||
</document>
|
71
GoldWars/GoldWars/Base/Base.swift
Normal file
@ -0,0 +1,71 @@
|
||||
//
|
||||
// Base.swift
|
||||
// GoldWars
|
||||
//
|
||||
// Created by Marcel Schwarz on 18.04.20.
|
||||
// Copyright © 2020 SP2. All rights reserved.
|
||||
//
|
||||
|
||||
import SpriteKit
|
||||
import GameplayKit
|
||||
|
||||
class Base : SKSpriteNode{
|
||||
public static let colorSelected = SKColor.yellow
|
||||
var availableBases = [Base]()
|
||||
var defaultColor = SKColor.green
|
||||
var unitType: Unit = Unit.General;
|
||||
var unitCount: Int = 0;
|
||||
|
||||
init(color: UIColor, position: CGPoint, name: String, unitCount: Int = 0, unitType: Unit = Unit.General) {
|
||||
super.init(texture: SKTexture(imageNamed: "Base"),
|
||||
color: color,
|
||||
size: CGSize(width: 50.0, height: 50.0)
|
||||
)
|
||||
|
||||
defaultColor = color
|
||||
self.colorBlendFactor = 1
|
||||
self.name = name
|
||||
self.position = position
|
||||
self.zPosition = 2
|
||||
self.isUserInteractionEnabled = true
|
||||
self.unitCount = unitCount
|
||||
self.unitType = unitType
|
||||
}
|
||||
|
||||
required init?(coder aDecoder: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
|
||||
func addAvailableBase(base: Base) {
|
||||
availableBases.append(base)
|
||||
}
|
||||
|
||||
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
|
||||
self.run(
|
||||
SKAction.sequence(
|
||||
[
|
||||
SKAction.resize(byWidth: 20, height: 20, duration: 0.5),
|
||||
SKAction.resize(byWidth: -20, height: -20, duration: 0.5)
|
||||
]
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
|
||||
self.color = SKColor.yellow
|
||||
|
||||
for base in availableBases {
|
||||
base.color = Base.colorSelected
|
||||
base.size = CGSize(width: 60, height: 60)
|
||||
}
|
||||
}
|
||||
|
||||
override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
|
||||
self.color = defaultColor
|
||||
for base in availableBases {
|
||||
base.color = base.defaultColor
|
||||
base.size = CGSize(width: 50, height: 50)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
BIN
GoldWars/GoldWars/Game/GameScene.sks
Normal file
254
GoldWars/GoldWars/Game/GameScene.swift
Normal file
@ -0,0 +1,254 @@
|
||||
//
|
||||
// GameScene.swift
|
||||
// GoldWars
|
||||
//
|
||||
// Created by Aldin Duraki on 18.04.20.
|
||||
// Copyright © 2020 SP2. All rights reserved.
|
||||
//
|
||||
|
||||
import SpriteKit
|
||||
import GameplayKit
|
||||
|
||||
class GameScene: SKScene, SKPhysicsContactDelegate {
|
||||
|
||||
var entities = [GKEntity]()
|
||||
var graphs = [String : GKGraph]()
|
||||
var bases = [Base]()
|
||||
var player = [Base]()
|
||||
var popUpOnBaseCollision = SKSpriteNode()
|
||||
|
||||
// TODO: Refactoring following as Components in Sprint 2
|
||||
var timer = SKLabelNode()
|
||||
var backBtn = SKShapeNode(circleOfRadius: 40)
|
||||
var backLabel = SKLabelNode()
|
||||
var atkBoostSkill = SKShapeNode(circleOfRadius: 30)
|
||||
var defBoostSkill = SKShapeNode(circleOfRadius: 30)
|
||||
var spySkill = SKShapeNode(circleOfRadius: 30)
|
||||
var atkBoostLabel = SKLabelNode()
|
||||
var defBoostLabel = SKLabelNode()
|
||||
var spyLabel = SKLabelNode()
|
||||
// TODO: END
|
||||
|
||||
struct physicsBodyNumber {
|
||||
static let basePlayer1Number: UInt32 = 0b1
|
||||
static let basePlayer2Number: UInt32 = 0b10
|
||||
static let base5Number: UInt32 = 0b101
|
||||
static let base6Number: UInt32 = 0b110
|
||||
static let base7Number: UInt32 = 0b111
|
||||
static let emptyNumber: UInt32 = 0b100
|
||||
}
|
||||
|
||||
override func sceneDidLoad() {
|
||||
|
||||
self.physicsWorld.gravity = CGVector(dx: 0, dy: 0)
|
||||
self.physicsWorld.contactDelegate = self
|
||||
|
||||
let maxX = self.size.width
|
||||
let midY = self.size.height / 2
|
||||
|
||||
let basePlayer1 = Base(color: SKColor.red, position: CGPoint(x: maxX * 0.1, y: midY), name: "Player1", unitCount: 100, unitType: Unit.General)
|
||||
let basePlayer2 = Base(color: SKColor.blue, position: CGPoint(x: maxX * 0.9, y: midY), name: "Player2", unitCount: 100, unitType: Unit.General)
|
||||
basePlayer2.physicsBody = SKPhysicsBody(circleOfRadius: 50)
|
||||
basePlayer2.physicsBody?.categoryBitMask = physicsBodyNumber.basePlayer2Number
|
||||
basePlayer2.physicsBody?.collisionBitMask = physicsBodyNumber.emptyNumber
|
||||
basePlayer2.physicsBody?.contactTestBitMask = physicsBodyNumber.base5Number & physicsBodyNumber.base6Number & physicsBodyNumber.base7Number
|
||||
|
||||
popUpOnBaseCollision = SKSpriteNode(color: SKColor.blue , size: CGSize(width: self.size.width * 0.4, height: self.size.height * 0.4))
|
||||
popUpOnBaseCollision.position = CGPoint(x: self.size.width * 0.5, y: self.size.height * 0.5)
|
||||
popUpOnBaseCollision.zPosition = 2
|
||||
|
||||
self.addChild(basePlayer1)
|
||||
self.addChild(basePlayer2)
|
||||
player.append(basePlayer1)
|
||||
player.append(basePlayer2)
|
||||
createVirginBases()
|
||||
connectBases()
|
||||
addPhysicsBodyToBase()
|
||||
}
|
||||
override func didMove(to view: SKView) {
|
||||
let background = SKSpriteNode(imageNamed: "Background")
|
||||
background.position = CGPoint(x: self.size.width / 2, y: self.size.height / 2)
|
||||
background.zPosition = -1
|
||||
background.size = self.size
|
||||
self.addChild(background)
|
||||
|
||||
// TODO: Refactor following as Components in Sprint 2
|
||||
timer.text = "Roundtime: 30 Seconds left"
|
||||
timer.fontColor = SKColor.black
|
||||
timer.fontSize = 40
|
||||
timer.position = CGPoint(x: self.size.width/2, y: self.size.height * 0.9)
|
||||
backBtn.position = CGPoint(x: 40, y: self.size.height * 0.9)
|
||||
backBtn.fillColor = SKColor.gray
|
||||
backLabel.text = "Back"
|
||||
backLabel.position = CGPoint(x: backBtn.position.x, y: backBtn.position.y - 15)
|
||||
spySkill.position = CGPoint(x: self.size.width * 0.75, y: 40)
|
||||
spySkill.fillColor = SKColor.gray
|
||||
spyLabel.text = "Spy"
|
||||
spyLabel.position = CGPoint(x: spySkill.position.x, y: spySkill.position.y - 15);
|
||||
atkBoostSkill.position = CGPoint(x: self.size.width * 0.85, y: 40)
|
||||
atkBoostSkill.fillColor = SKColor.gray
|
||||
atkBoostLabel.text = "Atk"
|
||||
atkBoostLabel.position = CGPoint(x: atkBoostSkill.position.x, y: atkBoostSkill.position.y - 15)
|
||||
defBoostSkill.position = CGPoint(x: self.size.width * 0.95, y: 40)
|
||||
defBoostSkill.fillColor = SKColor.gray
|
||||
defBoostLabel.text = "Def"
|
||||
defBoostLabel.position = CGPoint(x: defBoostSkill.position.x, y: defBoostSkill.position.y - 15)
|
||||
self.addChild(timer)
|
||||
self.addChild(backBtn)
|
||||
self.addChild(backLabel)
|
||||
self.addChild(atkBoostSkill)
|
||||
self.addChild(defBoostSkill)
|
||||
self.addChild(spySkill)
|
||||
self.addChild(atkBoostLabel)
|
||||
self.addChild(defBoostLabel)
|
||||
self.addChild(spyLabel)
|
||||
// TODO: END
|
||||
}
|
||||
|
||||
|
||||
func addPhysicsBodyToBase() {
|
||||
bases[5].physicsBody = SKPhysicsBody(circleOfRadius: 20)
|
||||
bases[5].physicsBody?.categoryBitMask = physicsBodyNumber.base5Number
|
||||
bases[5].physicsBody?.collisionBitMask = physicsBodyNumber.emptyNumber
|
||||
bases[5].physicsBody?.contactTestBitMask = physicsBodyNumber.basePlayer2Number
|
||||
|
||||
bases[6].physicsBody = SKPhysicsBody(circleOfRadius: 20)
|
||||
bases[6].physicsBody?.categoryBitMask = physicsBodyNumber.base6Number
|
||||
bases[6].physicsBody?.collisionBitMask = physicsBodyNumber.emptyNumber
|
||||
bases[6].physicsBody?.contactTestBitMask = physicsBodyNumber.basePlayer2Number
|
||||
|
||||
bases[7].physicsBody = SKPhysicsBody(circleOfRadius: 20)
|
||||
bases[7].physicsBody?.categoryBitMask = physicsBodyNumber.base7Number
|
||||
bases[7].physicsBody?.collisionBitMask = physicsBodyNumber.emptyNumber
|
||||
bases[7].physicsBody?.contactTestBitMask = physicsBodyNumber.basePlayer2Number
|
||||
}
|
||||
|
||||
func createVirginBases() {
|
||||
for i in 0...7 {
|
||||
let base:Base
|
||||
let color = SKColor.green
|
||||
|
||||
var position = CGPoint(x: 0, y: 0)
|
||||
switch i {
|
||||
case 0...2:
|
||||
let width = self.size.width * 0.25
|
||||
|
||||
if i == 0 {
|
||||
position = CGPoint(x: width, y: self.size.height * 0.25)
|
||||
}
|
||||
if i == 1 {
|
||||
position = CGPoint(x: width, y: self.size.height * 0.5)
|
||||
}
|
||||
if i == 2{
|
||||
position = CGPoint(x: width, y: self.size.height * 0.75)
|
||||
}
|
||||
|
||||
case 3...4:
|
||||
let width = self.size.width * 0.5
|
||||
|
||||
if i == 3{
|
||||
position = CGPoint(x: width, y: self.size.height * 0.333)
|
||||
}
|
||||
if i == 4{
|
||||
position = CGPoint(x: width, y: self.size.height * 0.666)
|
||||
}
|
||||
|
||||
case 5...7:
|
||||
let width = self.size.width * 0.75
|
||||
|
||||
if i == 5{
|
||||
position = CGPoint(x: width, y: self.size.height * 0.25)
|
||||
}
|
||||
if i == 6{
|
||||
position = CGPoint(x: width, y: self.size.height * 0.5)
|
||||
}
|
||||
if i == 7{
|
||||
position = CGPoint(x: width, y: self.size.height * 0.75)
|
||||
}
|
||||
|
||||
default:
|
||||
break
|
||||
}
|
||||
|
||||
base = Base(color: color, position: position, name: "Base\(i)")
|
||||
bases.append(base)
|
||||
self.addChild(base)
|
||||
}
|
||||
}
|
||||
|
||||
func addLine(base1: Base , base2: Base){
|
||||
let line = SKShapeNode()
|
||||
let linePath = CGMutablePath()
|
||||
linePath.move(to: base1.position)
|
||||
linePath.addLine(to: base2.position)
|
||||
line.path = linePath
|
||||
line.strokeColor = SKColor.white
|
||||
addChild(line)
|
||||
|
||||
}
|
||||
|
||||
func connectBases(){
|
||||
player[0].addAvailableBase(base: bases[0])
|
||||
player[0].addAvailableBase(base: bases[1])
|
||||
player[0].addAvailableBase(base: bases[2])
|
||||
|
||||
bases[0].addAvailableBase(base: bases[3])
|
||||
|
||||
bases[1].addAvailableBase(base: bases[3])
|
||||
bases[1].addAvailableBase(base: bases[4])
|
||||
|
||||
bases[2].addAvailableBase(base: bases[4])
|
||||
|
||||
bases[3].addAvailableBase(base: bases[5])
|
||||
bases[3].addAvailableBase(base: bases[6])
|
||||
|
||||
bases[4].addAvailableBase(base: bases[7])
|
||||
bases[4].addAvailableBase(base: bases[6])
|
||||
|
||||
player[1].addAvailableBase(base: bases[5])
|
||||
player[1].addAvailableBase(base: bases[6])
|
||||
player[1].addAvailableBase(base: bases[7])
|
||||
|
||||
for base in player{
|
||||
for availableBase in base.availableBases{
|
||||
addLine(base1: base, base2: availableBase)
|
||||
}
|
||||
}
|
||||
|
||||
for base in bases{
|
||||
for availableBase in base.availableBases{
|
||||
addLine(base1: base, base2: availableBase)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
|
||||
for touch in touches {
|
||||
let locationUser = touch.location(in: self)
|
||||
if atPoint(locationUser) == popUpOnBaseCollision {
|
||||
popUpOnBaseCollision.removeFromParent()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
|
||||
for touch in touches {
|
||||
let locationUser = touch.location(in: self)
|
||||
if atPoint(locationUser) == player[1]{
|
||||
player[1].position = locationUser
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
|
||||
let maxX = self.size.width
|
||||
let midY = self.size.height / 2
|
||||
|
||||
player[1].position = CGPoint(x: maxX * 0.9, y: midY)
|
||||
}
|
||||
|
||||
func didBegin(_ contact: SKPhysicsContact) {
|
||||
self.addChild(popUpOnBaseCollision)
|
||||
}
|
||||
}
|
44
GoldWars/GoldWars/GameViewController.swift
Normal file
@ -0,0 +1,44 @@
|
||||
//
|
||||
// GameViewController.swift
|
||||
// GoldWars
|
||||
//
|
||||
// Created by Aldin Duraki on 18.04.20.
|
||||
// Copyright © 2020 SP2. All rights reserved.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
import SpriteKit
|
||||
import GameplayKit
|
||||
|
||||
class GameViewController: UIViewController {
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
if let view = self.view as! SKView? {
|
||||
if let scene = SKScene(fileNamed: "MenuScene") {
|
||||
//scene.scaleMode = .aspectFill
|
||||
view.presentScene(scene)
|
||||
//TODO: create dev profile or remove on delivery
|
||||
view.showsFPS = true
|
||||
view.showsNodeCount = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override var shouldAutorotate: Bool {
|
||||
return true
|
||||
}
|
||||
|
||||
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
|
||||
if UIDevice.current.userInterfaceIdiom == .phone {
|
||||
return .allButUpsideDown
|
||||
} else {
|
||||
return .all
|
||||
}
|
||||
}
|
||||
|
||||
override var prefersStatusBarHidden: Bool {
|
||||
return true
|
||||
}
|
||||
}
|
45
GoldWars/GoldWars/Info.plist
Normal file
@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>UILaunchStoryboardName</key>
|
||||
<string>LaunchScreen</string>
|
||||
<key>UIMainStoryboardFile</key>
|
||||
<string>Main</string>
|
||||
<key>UIRequiredDeviceCapabilities</key>
|
||||
<array>
|
||||
<string>armv7</string>
|
||||
</array>
|
||||
<key>UIStatusBarHidden</key>
|
||||
<true/>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
BIN
GoldWars/GoldWars/Menu/MenuScene.sks
Normal file
36
GoldWars/GoldWars/Menu/MenuScene.swift
Normal file
@ -0,0 +1,36 @@
|
||||
//
|
||||
// MenuScene.swift
|
||||
// GoldWars
|
||||
//
|
||||
// Created by Aldin Duraki on 18.04.20.
|
||||
// Copyright © 2020 SP2. All rights reserved.
|
||||
//
|
||||
|
||||
import SpriteKit
|
||||
|
||||
class MenuScene: SKScene {
|
||||
|
||||
var startGameButtonNode:SKSpriteNode!
|
||||
var settingsButtonNode:SKSpriteNode!
|
||||
|
||||
|
||||
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
|
||||
guard let touch = touches.first else {
|
||||
return
|
||||
}
|
||||
let gameScene = GameScene(size: self.size)
|
||||
let location = touch.location(in: self)
|
||||
let frontTouchedNode = atPoint(location).name
|
||||
|
||||
let transition = SKTransition.moveIn(with: .right, duration: 1)
|
||||
|
||||
if frontTouchedNode == "startGameBtn" || frontTouchedNode == "tmpStartGameLbl"{
|
||||
self.view?.presentScene(gameScene, transition: transition)
|
||||
}
|
||||
|
||||
if frontTouchedNode == "settingsBtn" || frontTouchedNode == "tmpSettingsLbl"{
|
||||
//TODO: Implement settings functionality
|
||||
}
|
||||
}
|
||||
|
||||
}
|
13
GoldWars/GoldWars/Unit/Unit.swift
Normal file
@ -0,0 +1,13 @@
|
||||
//
|
||||
// Units.swift
|
||||
// GoldWars
|
||||
//
|
||||
// Created by Chauntalle Schüle on 20.04.20.
|
||||
// Copyright © 2020 SP2. All rights reserved.
|
||||
//
|
||||
|
||||
enum Unit{
|
||||
case General
|
||||
case Defence
|
||||
case Attack
|
||||
}
|
34
GoldWars/GoldWarsTests/GoldWarsTests.swift
Normal file
@ -0,0 +1,34 @@
|
||||
//
|
||||
// GoldWarsTests.swift
|
||||
// GoldWarsTests
|
||||
//
|
||||
// Created by Aldin Duraki on 18.04.20.
|
||||
// Copyright © 2020 SP2. All rights reserved.
|
||||
//
|
||||
|
||||
import XCTest
|
||||
@testable import GoldWars
|
||||
|
||||
class GoldWarsTests: XCTestCase {
|
||||
|
||||
override func setUp() {
|
||||
// Put setup code here. This method is called before the invocation of each test method in the class.
|
||||
}
|
||||
|
||||
override func tearDown() {
|
||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||
}
|
||||
|
||||
func testExample() {
|
||||
// This is an example of a functional test case.
|
||||
// Use XCTAssert and related functions to verify your tests produce the correct results.
|
||||
}
|
||||
|
||||
func testPerformanceExample() {
|
||||
// This is an example of a performance test case.
|
||||
self.measure {
|
||||
// Put the code you want to measure the time of here.
|
||||
}
|
||||
}
|
||||
|
||||
}
|
22
GoldWars/GoldWarsTests/Info.plist
Normal file
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
43
GoldWars/GoldWarsUITests/GoldWarsUITests.swift
Normal file
@ -0,0 +1,43 @@
|
||||
//
|
||||
// GoldWarsUITests.swift
|
||||
// GoldWarsUITests
|
||||
//
|
||||
// Created by Aldin Duraki on 18.04.20.
|
||||
// Copyright © 2020 SP2. All rights reserved.
|
||||
//
|
||||
|
||||
import XCTest
|
||||
|
||||
class GoldWarsUITests: XCTestCase {
|
||||
|
||||
override func setUp() {
|
||||
// Put setup code here. This method is called before the invocation of each test method in the class.
|
||||
|
||||
// In UI tests it is usually best to stop immediately when a failure occurs.
|
||||
continueAfterFailure = false
|
||||
|
||||
// In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
|
||||
}
|
||||
|
||||
override func tearDown() {
|
||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||
}
|
||||
|
||||
func testExample() {
|
||||
// UI tests must launch the application that they test.
|
||||
let app = XCUIApplication()
|
||||
app.launch()
|
||||
|
||||
// Use recording to get started writing UI tests.
|
||||
// Use XCTAssert and related functions to verify your tests produce the correct results.
|
||||
}
|
||||
|
||||
func testLaunchPerformance() {
|
||||
if #available(macOS 10.15, iOS 13.0, tvOS 13.0, *) {
|
||||
// This measures how long it takes to launch your application.
|
||||
measure(metrics: [XCTOSSignpostMetric.applicationLaunch]) {
|
||||
XCUIApplication().launch()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
22
GoldWars/GoldWarsUITests/Info.plist
Normal file
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|