├── AlienDefence.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ └── contents.xcworkspacedata └── xcuserdata │ └── tharshan.xcuserdatad │ └── xcschemes │ ├── AlienDefence.xcscheme │ └── xcschememanagement.plist ├── AlienDefence ├── AlienDefence-Info.plist ├── AlienDefence-Prefix.pch ├── AppDelegate.h ├── AppDelegate.m ├── Base.lproj │ └── Main.storyboard ├── CreepNode.h ├── CreepNode.m ├── GameOver.h ├── GameOver.m ├── GameScene.h ├── GameScene.m ├── GameWin.h ├── GameWin.m ├── Images.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── LaunchImage.launchimage │ │ └── Contents.json │ ├── bg.imageset │ │ ├── Contents.json │ │ ├── bg-1.png │ │ └── bg@2x.png │ └── title_scene.imageset │ │ ├── Contents.json │ │ ├── title_scene-1.png │ │ └── title_scene@2x.png ├── Sprites.atlas │ ├── bg.png │ ├── bg@2x.png │ ├── boss-1.png │ ├── boss-1@2x.png │ ├── boss-2.png │ ├── boss-2@2x.png │ ├── boss-3.png │ ├── boss-3@2x.png │ ├── boss-4.png │ ├── boss-4@2x.png │ ├── boss.gif │ ├── boss@2x.gif │ ├── bullet_1.png │ ├── bullet_1@2x.png │ ├── bullet_2.png │ ├── bullet_2@2x.png │ ├── bullet_3.png │ ├── bullet_3@2x.png │ ├── bullet_4.png │ ├── bullet_4@2x.png │ ├── bullet_5.png │ ├── bullet_5@2x.png │ ├── bullet_6.png │ ├── bullet_6@2x.png │ ├── bullets@2x.png │ ├── creep_1_1.png │ ├── creep_1_1@2x.png │ ├── creep_1_2.png │ ├── creep_1_2@2x.png │ ├── creep_1_3.png │ ├── creep_1_3@2x.png │ ├── creep_1_4.png │ ├── creep_1_4@2x.png │ ├── creep_1_5.png │ ├── creep_1_5@2x.png │ ├── creep_1_6.png │ ├── creep_1_6@2x.png │ ├── creep_1b_1.png │ ├── creep_1b_1@2x.png │ ├── creep_1b_2.png │ ├── creep_1b_2@2x.png │ ├── creep_1b_3.png │ ├── creep_1b_3@2x.png │ ├── creep_1b_4.png │ ├── creep_1b_4@2x.png │ ├── creep_1b_5.png │ ├── creep_1b_5@2x.png │ ├── creep_1b_6.png │ ├── creep_1b_6@2x.png │ ├── creep_1g_1.png │ ├── creep_1g_1@2x.png │ ├── creep_1g_2.png │ ├── creep_1g_2@2x.png │ ├── creep_1g_3.png │ ├── creep_1g_3@2x.png │ ├── creep_1g_4.png │ ├── creep_1g_4@2x.png │ ├── creep_1g_5.png │ ├── creep_1g_5@2x.png │ ├── creep_1g_6.png │ ├── creep_1g_6@2x.png │ ├── creep_1r_1.png │ ├── creep_1r_1@2x.png │ ├── creep_1r_2.png │ ├── creep_1r_2@2x.png │ ├── creep_1r_3.png │ ├── creep_1r_3@2x.png │ ├── creep_1r_4.png │ ├── creep_1r_4@2x.png │ ├── creep_1r_5.png │ ├── creep_1r_5@2x.png │ ├── creep_1r_6.png │ ├── creep_1r_6@2x.png │ ├── creep_2b_1.png │ ├── creep_2b_1@2x.png │ ├── creep_2b_2.png │ ├── creep_2b_2@2x.png │ ├── creep_2b_3.png │ ├── creep_2b_3@2x.png │ ├── creep_2b_4.png │ ├── creep_2b_4@2x.png │ ├── creep_2g_1.png │ ├── creep_2g_1@2x.png │ ├── creep_2g_2.png │ ├── creep_2g_2@2x.png │ ├── creep_2g_3.png │ ├── creep_2g_3@2x.png │ ├── creep_2g_4.png │ ├── creep_2g_4@2x.png │ ├── creep_2y_1.png │ ├── creep_2y_1@2x.png │ ├── creep_2y_2.png │ ├── creep_2y_2@2x.png │ ├── creep_2y_3.png │ ├── creep_2y_3@2x.png │ ├── creep_2y_4.png │ ├── creep_2y_4@2x.png │ ├── creep_3b_1.png │ ├── creep_3b_1@2x.png │ ├── creep_3b_2.png │ ├── creep_3b_2@2x.png │ ├── creep_3b_3.png │ ├── creep_3b_3@2x.png │ ├── creep_3b_4.png │ ├── creep_3b_4@2x.png │ ├── creep_3g_1.png │ ├── creep_3g_1@2x.png │ ├── creep_3g_2.png │ ├── creep_3g_2@2x.png │ ├── creep_3g_3.png │ ├── creep_3g_3@2x.png │ ├── creep_3g_4.png │ ├── creep_3g_4@2x.png │ ├── creep_3r_1.png │ ├── creep_3r_1@2x.png │ ├── creep_3r_2.png │ ├── creep_3r_2@2x.png │ ├── creep_3r_3.png │ ├── creep_3r_3@2x.png │ ├── creep_3r_4.png │ ├── creep_3r_4@2x.png │ ├── creep_3y_1.png │ ├── creep_3y_1@2x.png │ ├── creep_3y_2.png │ ├── creep_3y_2@2x.png │ ├── creep_3y_3.png │ ├── creep_3y_3@2x.png │ ├── creep_3y_4.png │ ├── creep_3y_4@2x.png │ ├── game_over.png │ ├── game_over@2x.png │ ├── game_win.png │ ├── game_win@2x.png │ ├── hud.png │ ├── hud@2x.png │ ├── hud_points@2x.png │ ├── ship_dmg_high.png │ ├── ship_dmg_high@2x.png │ ├── ship_dmg_low.png │ ├── ship_dmg_low@2x.png │ ├── ship_dmg_med.png │ ├── ship_dmg_med@2x.png │ ├── tiles.png │ ├── tiles@2x.png │ ├── turret-1-1.png │ ├── turret-1-1@2x.png │ ├── turret-1-2.png │ ├── turret-1-2@2x.png │ ├── turret-1-3.png │ ├── turret-1-3@2x.png │ ├── turret-1-base copy.gif │ ├── turret-1-base.gif │ ├── turret-1-cannon copy.gif │ ├── turret-1-cannon.gif │ ├── turret-1-icon.png │ ├── turret-1-icon@2x.png │ ├── turret-2-1.png │ ├── turret-2-1@2x.png │ ├── turret-2-2.png │ ├── turret-2-2@2x.png │ ├── turret-2-3.png │ ├── turret-2-3@2x.png │ ├── turret-2-base copy.gif │ ├── turret-2-base.gif │ ├── turret-2-cannon copy.gif │ ├── turret-2-cannon.gif │ ├── turret-2-icon.png │ ├── turret-2-icon@2x.png │ ├── turret-3-1.png │ ├── turret-3-1@2x.png │ ├── turret-3-2.png │ ├── turret-3-2@2x.png │ ├── turret-3-3.png │ ├── turret-3-3@2x.png │ ├── turret-3-base copy.gif │ ├── turret-3-base.gif │ ├── turret-3-cannon copy.gif │ ├── turret-3-cannon.gif │ ├── turret-3-icon.png │ ├── turret-3-icon@2x.png │ ├── turret-4-1.png │ ├── turret-4-1@2x.png │ ├── turret-4-2.png │ ├── turret-4-2@2x.png │ ├── turret-4-3.png │ ├── turret-4-3@2x.png │ ├── turret-4-base copy.gif │ ├── turret-4-base.gif │ ├── turret-4-cannon copy.gif │ ├── turret-4-cannon.gif │ ├── turret-4-icon.png │ ├── turret-4-icon@2x.png │ ├── turret-5-1.png │ ├── turret-5-1@2x.png │ ├── turret-5-2.png │ ├── turret-5-2@2x.png │ ├── turret-5-3.png │ ├── turret-5-3@2x.png │ ├── turret-5-base copy.gif │ ├── turret-5-base.gif │ ├── turret-5-cannon copy.gif │ ├── turret-5-cannon.gif │ ├── turret-5-icon.png │ ├── turret-5-icon@2x.png │ ├── turret-6-1.png │ ├── turret-6-1@2x.png │ ├── turret-6-2.png │ ├── turret-6-2@2x.png │ ├── turret-6-3.png │ ├── turret-6-3@2x.png │ ├── turret-6-base copy.gif │ ├── turret-6-base.gif │ ├── turret-6-cannon copy.gif │ ├── turret-6-cannon.gif │ ├── turret-7-1.png │ ├── turret-7-1@2x.png │ ├── turret-7-2.png │ ├── turret-7-2@2x.png │ ├── turret-7-3.png │ ├── turret-7-3@2x.png │ ├── turret-7-base copy.gif │ ├── turret-7-base.gif │ ├── turret-7-cannon copy.gif │ ├── turret-7-cannon.gif │ ├── upgrade.png │ └── upgrade@2x.png ├── TileNode.h ├── TileNode.m ├── TitleScene.h ├── TitleScene.m ├── TowerNode.h ├── TowerNode.m ├── Util.h ├── Util.m ├── ViewController.h ├── ViewController.m ├── en.lproj │ └── InfoPlist.strings └── main.m ├── AlienDefenceTests ├── AlienDefenceTests-Info.plist ├── AlienDefenceTests.m └── en.lproj │ └── InfoPlist.strings ├── AlienDefenseDesignBoard.sketch ├── Data ├── metadata └── version ├── README.md └── screenshots ├── Screenshot 2014.07.24 20.36.17.png ├── Screenshot 2014.07.26 00.14.25.png ├── Screenshot 2014.07.28 17.27.57.png └── Screenshot 2014.07.28 17.29.43.png /AlienDefence.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 3C477A461982686400458DF9 /* Util.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C477A451982686400458DF9 /* Util.m */; }; 11 | 3C477A891985B2EE00458DF9 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 3C477A881985B2EE00458DF9 /* README.md */; }; 12 | 3C477A8C1986A69E00458DF9 /* GameOver.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C477A8B1986A69E00458DF9 /* GameOver.m */; }; 13 | 3C477A8F1986A86800458DF9 /* GameWin.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C477A8E1986A86800458DF9 /* GameWin.m */; }; 14 | 3C477A961986B2EA00458DF9 /* Screenshot 2014.07.24 20.36.17.png in Resources */ = {isa = PBXBuildFile; fileRef = 3C477A921986B2EA00458DF9 /* Screenshot 2014.07.24 20.36.17.png */; }; 15 | 3C477A971986B2EA00458DF9 /* Screenshot 2014.07.26 00.14.25.png in Resources */ = {isa = PBXBuildFile; fileRef = 3C477A931986B2EA00458DF9 /* Screenshot 2014.07.26 00.14.25.png */; }; 16 | 3C477A981986B2EA00458DF9 /* Screenshot 2014.07.28 17.27.57.png in Resources */ = {isa = PBXBuildFile; fileRef = 3C477A941986B2EA00458DF9 /* Screenshot 2014.07.28 17.27.57.png */; }; 17 | 3C477A991986B2EA00458DF9 /* Screenshot 2014.07.28 17.29.43.png in Resources */ = {isa = PBXBuildFile; fileRef = 3C477A951986B2EA00458DF9 /* Screenshot 2014.07.28 17.29.43.png */; }; 18 | 3C477A9B1986B8AB00458DF9 /* AlienDefenseDesignBoard.sketch in Resources */ = {isa = PBXBuildFile; fileRef = 3C477A9A1986B8AB00458DF9 /* AlienDefenseDesignBoard.sketch */; }; 19 | 3CB84BF5197C0DB60098F11B /* Sprites.atlas in Resources */ = {isa = PBXBuildFile; fileRef = 3CB84BF4197C0DB60098F11B /* Sprites.atlas */; }; 20 | 3CB84BFB197C16740098F11B /* TitleScene.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CB84BFA197C16740098F11B /* TitleScene.m */; }; 21 | 3CB84BFF197C17B90098F11B /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3CB84BFE197C17B90098F11B /* Images.xcassets */; }; 22 | 3CB84C02197C19190098F11B /* GameScene.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CB84C01197C19190098F11B /* GameScene.m */; }; 23 | 3CB84C05197C297B0098F11B /* CreepNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CB84C04197C297B0098F11B /* CreepNode.m */; }; 24 | 3CB84C08197C3ACA0098F11B /* TowerNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CB84C07197C3ACA0098F11B /* TowerNode.m */; }; 25 | 3CB84C0B197C3DE70098F11B /* TileNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CB84C0A197C3DE70098F11B /* TileNode.m */; }; 26 | 3CF222E51979AAB0002EBC44 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3CF222E41979AAB0002EBC44 /* Foundation.framework */; }; 27 | 3CF222E71979AAB0002EBC44 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3CF222E61979AAB0002EBC44 /* CoreGraphics.framework */; }; 28 | 3CF222E91979AAB0002EBC44 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3CF222E81979AAB0002EBC44 /* UIKit.framework */; }; 29 | 3CF222EB1979AAB0002EBC44 /* SpriteKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3CF222EA1979AAB0002EBC44 /* SpriteKit.framework */; }; 30 | 3CF222F11979AAB0002EBC44 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3CF222EF1979AAB0002EBC44 /* InfoPlist.strings */; }; 31 | 3CF222F31979AAB0002EBC44 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CF222F21979AAB0002EBC44 /* main.m */; }; 32 | 3CF222F71979AAB0002EBC44 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CF222F61979AAB0002EBC44 /* AppDelegate.m */; }; 33 | 3CF222FA1979AAB0002EBC44 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3CF222F81979AAB0002EBC44 /* Main.storyboard */; }; 34 | 3CF222FD1979AAB1002EBC44 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CF222FC1979AAB0002EBC44 /* ViewController.m */; }; 35 | 3CF2230B1979AAB1002EBC44 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3CF2230A1979AAB1002EBC44 /* XCTest.framework */; }; 36 | 3CF2230C1979AAB1002EBC44 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3CF222E41979AAB0002EBC44 /* Foundation.framework */; }; 37 | 3CF2230D1979AAB1002EBC44 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3CF222E81979AAB0002EBC44 /* UIKit.framework */; }; 38 | 3CF223151979AAB1002EBC44 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3CF223131979AAB1002EBC44 /* InfoPlist.strings */; }; 39 | 3CF223171979AAB1002EBC44 /* AlienDefenceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CF223161979AAB1002EBC44 /* AlienDefenceTests.m */; }; 40 | /* End PBXBuildFile section */ 41 | 42 | /* Begin PBXContainerItemProxy section */ 43 | 3CF2230E1979AAB1002EBC44 /* PBXContainerItemProxy */ = { 44 | isa = PBXContainerItemProxy; 45 | containerPortal = 3CF222D91979AAB0002EBC44 /* Project object */; 46 | proxyType = 1; 47 | remoteGlobalIDString = 3CF222E01979AAB0002EBC44; 48 | remoteInfo = AlienDefence; 49 | }; 50 | /* End PBXContainerItemProxy section */ 51 | 52 | /* Begin PBXFileReference section */ 53 | 3C477A441982686400458DF9 /* Util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Util.h; sourceTree = ""; }; 54 | 3C477A451982686400458DF9 /* Util.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Util.m; sourceTree = ""; }; 55 | 3C477A881985B2EE00458DF9 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.md; sourceTree = ""; }; 56 | 3C477A8A1986A69E00458DF9 /* GameOver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GameOver.h; sourceTree = ""; }; 57 | 3C477A8B1986A69E00458DF9 /* GameOver.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GameOver.m; sourceTree = ""; }; 58 | 3C477A8D1986A86800458DF9 /* GameWin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GameWin.h; sourceTree = ""; }; 59 | 3C477A8E1986A86800458DF9 /* GameWin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GameWin.m; sourceTree = ""; }; 60 | 3C477A921986B2EA00458DF9 /* Screenshot 2014.07.24 20.36.17.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Screenshot 2014.07.24 20.36.17.png"; sourceTree = ""; }; 61 | 3C477A931986B2EA00458DF9 /* Screenshot 2014.07.26 00.14.25.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Screenshot 2014.07.26 00.14.25.png"; sourceTree = ""; }; 62 | 3C477A941986B2EA00458DF9 /* Screenshot 2014.07.28 17.27.57.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Screenshot 2014.07.28 17.27.57.png"; sourceTree = ""; }; 63 | 3C477A951986B2EA00458DF9 /* Screenshot 2014.07.28 17.29.43.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Screenshot 2014.07.28 17.29.43.png"; sourceTree = ""; }; 64 | 3C477A9A1986B8AB00458DF9 /* AlienDefenseDesignBoard.sketch */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = AlienDefenseDesignBoard.sketch; sourceTree = ""; }; 65 | 3CB84BF4197C0DB60098F11B /* Sprites.atlas */ = {isa = PBXFileReference; lastKnownFileType = folder.skatlas; path = Sprites.atlas; sourceTree = ""; }; 66 | 3CB84BF9197C16740098F11B /* TitleScene.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TitleScene.h; sourceTree = ""; }; 67 | 3CB84BFA197C16740098F11B /* TitleScene.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TitleScene.m; sourceTree = ""; }; 68 | 3CB84BFE197C17B90098F11B /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; 69 | 3CB84C00197C19190098F11B /* GameScene.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GameScene.h; sourceTree = ""; }; 70 | 3CB84C01197C19190098F11B /* GameScene.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GameScene.m; sourceTree = ""; }; 71 | 3CB84C03197C297B0098F11B /* CreepNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CreepNode.h; sourceTree = ""; }; 72 | 3CB84C04197C297B0098F11B /* CreepNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CreepNode.m; sourceTree = ""; }; 73 | 3CB84C06197C3ACA0098F11B /* TowerNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TowerNode.h; sourceTree = ""; }; 74 | 3CB84C07197C3ACA0098F11B /* TowerNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TowerNode.m; sourceTree = ""; }; 75 | 3CB84C09197C3DE70098F11B /* TileNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TileNode.h; sourceTree = ""; }; 76 | 3CB84C0A197C3DE70098F11B /* TileNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TileNode.m; sourceTree = ""; }; 77 | 3CF222E11979AAB0002EBC44 /* AlienDefence.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AlienDefence.app; sourceTree = BUILT_PRODUCTS_DIR; }; 78 | 3CF222E41979AAB0002EBC44 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 79 | 3CF222E61979AAB0002EBC44 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 80 | 3CF222E81979AAB0002EBC44 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 81 | 3CF222EA1979AAB0002EBC44 /* SpriteKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SpriteKit.framework; path = System/Library/Frameworks/SpriteKit.framework; sourceTree = SDKROOT; }; 82 | 3CF222EE1979AAB0002EBC44 /* AlienDefence-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "AlienDefence-Info.plist"; sourceTree = ""; }; 83 | 3CF222F01979AAB0002EBC44 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 84 | 3CF222F21979AAB0002EBC44 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 85 | 3CF222F41979AAB0002EBC44 /* AlienDefence-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "AlienDefence-Prefix.pch"; sourceTree = ""; }; 86 | 3CF222F51979AAB0002EBC44 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 87 | 3CF222F61979AAB0002EBC44 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; 88 | 3CF222F91979AAB0002EBC44 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 89 | 3CF222FB1979AAB0002EBC44 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; 90 | 3CF222FC1979AAB0002EBC44 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; 91 | 3CF223091979AAB1002EBC44 /* AlienDefenceTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AlienDefenceTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 92 | 3CF2230A1979AAB1002EBC44 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; 93 | 3CF223121979AAB1002EBC44 /* AlienDefenceTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "AlienDefenceTests-Info.plist"; sourceTree = ""; }; 94 | 3CF223141979AAB1002EBC44 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 95 | 3CF223161979AAB1002EBC44 /* AlienDefenceTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AlienDefenceTests.m; sourceTree = ""; }; 96 | /* End PBXFileReference section */ 97 | 98 | /* Begin PBXFrameworksBuildPhase section */ 99 | 3CF222DE1979AAB0002EBC44 /* Frameworks */ = { 100 | isa = PBXFrameworksBuildPhase; 101 | buildActionMask = 2147483647; 102 | files = ( 103 | 3CF222E71979AAB0002EBC44 /* CoreGraphics.framework in Frameworks */, 104 | 3CF222E91979AAB0002EBC44 /* UIKit.framework in Frameworks */, 105 | 3CF222EB1979AAB0002EBC44 /* SpriteKit.framework in Frameworks */, 106 | 3CF222E51979AAB0002EBC44 /* Foundation.framework in Frameworks */, 107 | ); 108 | runOnlyForDeploymentPostprocessing = 0; 109 | }; 110 | 3CF223061979AAB1002EBC44 /* Frameworks */ = { 111 | isa = PBXFrameworksBuildPhase; 112 | buildActionMask = 2147483647; 113 | files = ( 114 | 3CF2230B1979AAB1002EBC44 /* XCTest.framework in Frameworks */, 115 | 3CF2230D1979AAB1002EBC44 /* UIKit.framework in Frameworks */, 116 | 3CF2230C1979AAB1002EBC44 /* Foundation.framework in Frameworks */, 117 | ); 118 | runOnlyForDeploymentPostprocessing = 0; 119 | }; 120 | /* End PBXFrameworksBuildPhase section */ 121 | 122 | /* Begin PBXGroup section */ 123 | 3C477A911986B2EA00458DF9 /* screenshots */ = { 124 | isa = PBXGroup; 125 | children = ( 126 | 3C477A921986B2EA00458DF9 /* Screenshot 2014.07.24 20.36.17.png */, 127 | 3C477A931986B2EA00458DF9 /* Screenshot 2014.07.26 00.14.25.png */, 128 | 3C477A941986B2EA00458DF9 /* Screenshot 2014.07.28 17.27.57.png */, 129 | 3C477A951986B2EA00458DF9 /* Screenshot 2014.07.28 17.29.43.png */, 130 | ); 131 | path = screenshots; 132 | sourceTree = ""; 133 | }; 134 | 3CF222D81979AAB0002EBC44 = { 135 | isa = PBXGroup; 136 | children = ( 137 | 3C477A9A1986B8AB00458DF9 /* AlienDefenseDesignBoard.sketch */, 138 | 3C477A911986B2EA00458DF9 /* screenshots */, 139 | 3C477A881985B2EE00458DF9 /* README.md */, 140 | 3CF222EC1979AAB0002EBC44 /* AlienDefence */, 141 | 3CF223101979AAB1002EBC44 /* AlienDefenceTests */, 142 | 3CF222E31979AAB0002EBC44 /* Frameworks */, 143 | 3CF222E21979AAB0002EBC44 /* Products */, 144 | ); 145 | sourceTree = ""; 146 | }; 147 | 3CF222E21979AAB0002EBC44 /* Products */ = { 148 | isa = PBXGroup; 149 | children = ( 150 | 3CF222E11979AAB0002EBC44 /* AlienDefence.app */, 151 | 3CF223091979AAB1002EBC44 /* AlienDefenceTests.xctest */, 152 | ); 153 | name = Products; 154 | sourceTree = ""; 155 | }; 156 | 3CF222E31979AAB0002EBC44 /* Frameworks */ = { 157 | isa = PBXGroup; 158 | children = ( 159 | 3CF222E41979AAB0002EBC44 /* Foundation.framework */, 160 | 3CF222E61979AAB0002EBC44 /* CoreGraphics.framework */, 161 | 3CF222E81979AAB0002EBC44 /* UIKit.framework */, 162 | 3CF222EA1979AAB0002EBC44 /* SpriteKit.framework */, 163 | 3CF2230A1979AAB1002EBC44 /* XCTest.framework */, 164 | ); 165 | name = Frameworks; 166 | sourceTree = ""; 167 | }; 168 | 3CF222EC1979AAB0002EBC44 /* AlienDefence */ = { 169 | isa = PBXGroup; 170 | children = ( 171 | 3C477A441982686400458DF9 /* Util.h */, 172 | 3C477A451982686400458DF9 /* Util.m */, 173 | 3CB84BF9197C16740098F11B /* TitleScene.h */, 174 | 3CB84BFA197C16740098F11B /* TitleScene.m */, 175 | 3C477A8A1986A69E00458DF9 /* GameOver.h */, 176 | 3C477A8B1986A69E00458DF9 /* GameOver.m */, 177 | 3C477A8D1986A86800458DF9 /* GameWin.h */, 178 | 3C477A8E1986A86800458DF9 /* GameWin.m */, 179 | 3CB84C00197C19190098F11B /* GameScene.h */, 180 | 3CB84C01197C19190098F11B /* GameScene.m */, 181 | 3CB84C03197C297B0098F11B /* CreepNode.h */, 182 | 3CB84C04197C297B0098F11B /* CreepNode.m */, 183 | 3CB84C06197C3ACA0098F11B /* TowerNode.h */, 184 | 3CB84C07197C3ACA0098F11B /* TowerNode.m */, 185 | 3CB84C09197C3DE70098F11B /* TileNode.h */, 186 | 3CB84C0A197C3DE70098F11B /* TileNode.m */, 187 | 3CB84BF4197C0DB60098F11B /* Sprites.atlas */, 188 | 3CF222ED1979AAB0002EBC44 /* Supporting Files */, 189 | 3CB84BFE197C17B90098F11B /* Images.xcassets */, 190 | ); 191 | path = AlienDefence; 192 | sourceTree = ""; 193 | }; 194 | 3CF222ED1979AAB0002EBC44 /* Supporting Files */ = { 195 | isa = PBXGroup; 196 | children = ( 197 | 3CF222FB1979AAB0002EBC44 /* ViewController.h */, 198 | 3CF222FC1979AAB0002EBC44 /* ViewController.m */, 199 | 3CF222F51979AAB0002EBC44 /* AppDelegate.h */, 200 | 3CF222F81979AAB0002EBC44 /* Main.storyboard */, 201 | 3CF222F61979AAB0002EBC44 /* AppDelegate.m */, 202 | 3CF222EE1979AAB0002EBC44 /* AlienDefence-Info.plist */, 203 | 3CF222EF1979AAB0002EBC44 /* InfoPlist.strings */, 204 | 3CF222F21979AAB0002EBC44 /* main.m */, 205 | 3CF222F41979AAB0002EBC44 /* AlienDefence-Prefix.pch */, 206 | ); 207 | name = "Supporting Files"; 208 | sourceTree = ""; 209 | }; 210 | 3CF223101979AAB1002EBC44 /* AlienDefenceTests */ = { 211 | isa = PBXGroup; 212 | children = ( 213 | 3CF223161979AAB1002EBC44 /* AlienDefenceTests.m */, 214 | 3CF223111979AAB1002EBC44 /* Supporting Files */, 215 | ); 216 | path = AlienDefenceTests; 217 | sourceTree = ""; 218 | }; 219 | 3CF223111979AAB1002EBC44 /* Supporting Files */ = { 220 | isa = PBXGroup; 221 | children = ( 222 | 3CF223121979AAB1002EBC44 /* AlienDefenceTests-Info.plist */, 223 | 3CF223131979AAB1002EBC44 /* InfoPlist.strings */, 224 | ); 225 | name = "Supporting Files"; 226 | sourceTree = ""; 227 | }; 228 | /* End PBXGroup section */ 229 | 230 | /* Begin PBXNativeTarget section */ 231 | 3CF222E01979AAB0002EBC44 /* AlienDefence */ = { 232 | isa = PBXNativeTarget; 233 | buildConfigurationList = 3CF2231A1979AAB1002EBC44 /* Build configuration list for PBXNativeTarget "AlienDefence" */; 234 | buildPhases = ( 235 | 3CF222DD1979AAB0002EBC44 /* Sources */, 236 | 3CF222DE1979AAB0002EBC44 /* Frameworks */, 237 | 3CF222DF1979AAB0002EBC44 /* Resources */, 238 | ); 239 | buildRules = ( 240 | ); 241 | dependencies = ( 242 | ); 243 | name = AlienDefence; 244 | productName = AlienDefence; 245 | productReference = 3CF222E11979AAB0002EBC44 /* AlienDefence.app */; 246 | productType = "com.apple.product-type.application"; 247 | }; 248 | 3CF223081979AAB1002EBC44 /* AlienDefenceTests */ = { 249 | isa = PBXNativeTarget; 250 | buildConfigurationList = 3CF2231D1979AAB1002EBC44 /* Build configuration list for PBXNativeTarget "AlienDefenceTests" */; 251 | buildPhases = ( 252 | 3CF223051979AAB1002EBC44 /* Sources */, 253 | 3CF223061979AAB1002EBC44 /* Frameworks */, 254 | 3CF223071979AAB1002EBC44 /* Resources */, 255 | ); 256 | buildRules = ( 257 | ); 258 | dependencies = ( 259 | 3CF2230F1979AAB1002EBC44 /* PBXTargetDependency */, 260 | ); 261 | name = AlienDefenceTests; 262 | productName = AlienDefenceTests; 263 | productReference = 3CF223091979AAB1002EBC44 /* AlienDefenceTests.xctest */; 264 | productType = "com.apple.product-type.bundle.unit-test"; 265 | }; 266 | /* End PBXNativeTarget section */ 267 | 268 | /* Begin PBXProject section */ 269 | 3CF222D91979AAB0002EBC44 /* Project object */ = { 270 | isa = PBXProject; 271 | attributes = { 272 | LastUpgradeCheck = 0510; 273 | ORGANIZATIONNAME = Tharshan; 274 | TargetAttributes = { 275 | 3CF223081979AAB1002EBC44 = { 276 | TestTargetID = 3CF222E01979AAB0002EBC44; 277 | }; 278 | }; 279 | }; 280 | buildConfigurationList = 3CF222DC1979AAB0002EBC44 /* Build configuration list for PBXProject "AlienDefence" */; 281 | compatibilityVersion = "Xcode 3.2"; 282 | developmentRegion = English; 283 | hasScannedForEncodings = 0; 284 | knownRegions = ( 285 | en, 286 | Base, 287 | ); 288 | mainGroup = 3CF222D81979AAB0002EBC44; 289 | productRefGroup = 3CF222E21979AAB0002EBC44 /* Products */; 290 | projectDirPath = ""; 291 | projectRoot = ""; 292 | targets = ( 293 | 3CF222E01979AAB0002EBC44 /* AlienDefence */, 294 | 3CF223081979AAB1002EBC44 /* AlienDefenceTests */, 295 | ); 296 | }; 297 | /* End PBXProject section */ 298 | 299 | /* Begin PBXResourcesBuildPhase section */ 300 | 3CF222DF1979AAB0002EBC44 /* Resources */ = { 301 | isa = PBXResourcesBuildPhase; 302 | buildActionMask = 2147483647; 303 | files = ( 304 | 3C477A981986B2EA00458DF9 /* Screenshot 2014.07.28 17.27.57.png in Resources */, 305 | 3CF222F11979AAB0002EBC44 /* InfoPlist.strings in Resources */, 306 | 3CB84BFF197C17B90098F11B /* Images.xcassets in Resources */, 307 | 3C477A891985B2EE00458DF9 /* README.md in Resources */, 308 | 3CB84BF5197C0DB60098F11B /* Sprites.atlas in Resources */, 309 | 3C477A961986B2EA00458DF9 /* Screenshot 2014.07.24 20.36.17.png in Resources */, 310 | 3C477A971986B2EA00458DF9 /* Screenshot 2014.07.26 00.14.25.png in Resources */, 311 | 3CF222FA1979AAB0002EBC44 /* Main.storyboard in Resources */, 312 | 3C477A991986B2EA00458DF9 /* Screenshot 2014.07.28 17.29.43.png in Resources */, 313 | 3C477A9B1986B8AB00458DF9 /* AlienDefenseDesignBoard.sketch in Resources */, 314 | ); 315 | runOnlyForDeploymentPostprocessing = 0; 316 | }; 317 | 3CF223071979AAB1002EBC44 /* Resources */ = { 318 | isa = PBXResourcesBuildPhase; 319 | buildActionMask = 2147483647; 320 | files = ( 321 | 3CF223151979AAB1002EBC44 /* InfoPlist.strings in Resources */, 322 | ); 323 | runOnlyForDeploymentPostprocessing = 0; 324 | }; 325 | /* End PBXResourcesBuildPhase section */ 326 | 327 | /* Begin PBXSourcesBuildPhase section */ 328 | 3CF222DD1979AAB0002EBC44 /* Sources */ = { 329 | isa = PBXSourcesBuildPhase; 330 | buildActionMask = 2147483647; 331 | files = ( 332 | 3CB84BFB197C16740098F11B /* TitleScene.m in Sources */, 333 | 3C477A8C1986A69E00458DF9 /* GameOver.m in Sources */, 334 | 3C477A8F1986A86800458DF9 /* GameWin.m in Sources */, 335 | 3CB84C0B197C3DE70098F11B /* TileNode.m in Sources */, 336 | 3CF222FD1979AAB1002EBC44 /* ViewController.m in Sources */, 337 | 3CB84C02197C19190098F11B /* GameScene.m in Sources */, 338 | 3CB84C08197C3ACA0098F11B /* TowerNode.m in Sources */, 339 | 3CB84C05197C297B0098F11B /* CreepNode.m in Sources */, 340 | 3CF222F71979AAB0002EBC44 /* AppDelegate.m in Sources */, 341 | 3CF222F31979AAB0002EBC44 /* main.m in Sources */, 342 | 3C477A461982686400458DF9 /* Util.m in Sources */, 343 | ); 344 | runOnlyForDeploymentPostprocessing = 0; 345 | }; 346 | 3CF223051979AAB1002EBC44 /* Sources */ = { 347 | isa = PBXSourcesBuildPhase; 348 | buildActionMask = 2147483647; 349 | files = ( 350 | 3CF223171979AAB1002EBC44 /* AlienDefenceTests.m in Sources */, 351 | ); 352 | runOnlyForDeploymentPostprocessing = 0; 353 | }; 354 | /* End PBXSourcesBuildPhase section */ 355 | 356 | /* Begin PBXTargetDependency section */ 357 | 3CF2230F1979AAB1002EBC44 /* PBXTargetDependency */ = { 358 | isa = PBXTargetDependency; 359 | target = 3CF222E01979AAB0002EBC44 /* AlienDefence */; 360 | targetProxy = 3CF2230E1979AAB1002EBC44 /* PBXContainerItemProxy */; 361 | }; 362 | /* End PBXTargetDependency section */ 363 | 364 | /* Begin PBXVariantGroup section */ 365 | 3CF222EF1979AAB0002EBC44 /* InfoPlist.strings */ = { 366 | isa = PBXVariantGroup; 367 | children = ( 368 | 3CF222F01979AAB0002EBC44 /* en */, 369 | ); 370 | name = InfoPlist.strings; 371 | sourceTree = ""; 372 | }; 373 | 3CF222F81979AAB0002EBC44 /* Main.storyboard */ = { 374 | isa = PBXVariantGroup; 375 | children = ( 376 | 3CF222F91979AAB0002EBC44 /* Base */, 377 | ); 378 | name = Main.storyboard; 379 | sourceTree = ""; 380 | }; 381 | 3CF223131979AAB1002EBC44 /* InfoPlist.strings */ = { 382 | isa = PBXVariantGroup; 383 | children = ( 384 | 3CF223141979AAB1002EBC44 /* en */, 385 | ); 386 | name = InfoPlist.strings; 387 | sourceTree = ""; 388 | }; 389 | /* End PBXVariantGroup section */ 390 | 391 | /* Begin XCBuildConfiguration section */ 392 | 3CF223181979AAB1002EBC44 /* Debug */ = { 393 | isa = XCBuildConfiguration; 394 | buildSettings = { 395 | ALWAYS_SEARCH_USER_PATHS = NO; 396 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 397 | CLANG_CXX_LIBRARY = "libc++"; 398 | CLANG_ENABLE_MODULES = YES; 399 | CLANG_ENABLE_OBJC_ARC = YES; 400 | CLANG_WARN_BOOL_CONVERSION = YES; 401 | CLANG_WARN_CONSTANT_CONVERSION = YES; 402 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 403 | CLANG_WARN_EMPTY_BODY = YES; 404 | CLANG_WARN_ENUM_CONVERSION = YES; 405 | CLANG_WARN_INT_CONVERSION = YES; 406 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 407 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 408 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 409 | COPY_PHASE_STRIP = NO; 410 | GCC_C_LANGUAGE_STANDARD = gnu99; 411 | GCC_DYNAMIC_NO_PIC = NO; 412 | GCC_OPTIMIZATION_LEVEL = 0; 413 | GCC_PREPROCESSOR_DEFINITIONS = ( 414 | "DEBUG=1", 415 | "$(inherited)", 416 | ); 417 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 418 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 419 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 420 | GCC_WARN_UNDECLARED_SELECTOR = YES; 421 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 422 | GCC_WARN_UNUSED_FUNCTION = YES; 423 | GCC_WARN_UNUSED_VARIABLE = YES; 424 | IPHONEOS_DEPLOYMENT_TARGET = 7.1; 425 | ONLY_ACTIVE_ARCH = YES; 426 | SDKROOT = iphoneos; 427 | }; 428 | name = Debug; 429 | }; 430 | 3CF223191979AAB1002EBC44 /* Release */ = { 431 | isa = XCBuildConfiguration; 432 | buildSettings = { 433 | ALWAYS_SEARCH_USER_PATHS = NO; 434 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 435 | CLANG_CXX_LIBRARY = "libc++"; 436 | CLANG_ENABLE_MODULES = YES; 437 | CLANG_ENABLE_OBJC_ARC = YES; 438 | CLANG_WARN_BOOL_CONVERSION = YES; 439 | CLANG_WARN_CONSTANT_CONVERSION = YES; 440 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 441 | CLANG_WARN_EMPTY_BODY = YES; 442 | CLANG_WARN_ENUM_CONVERSION = YES; 443 | CLANG_WARN_INT_CONVERSION = YES; 444 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 445 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 446 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 447 | COPY_PHASE_STRIP = YES; 448 | ENABLE_NS_ASSERTIONS = NO; 449 | GCC_C_LANGUAGE_STANDARD = gnu99; 450 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 451 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 452 | GCC_WARN_UNDECLARED_SELECTOR = YES; 453 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 454 | GCC_WARN_UNUSED_FUNCTION = YES; 455 | GCC_WARN_UNUSED_VARIABLE = YES; 456 | IPHONEOS_DEPLOYMENT_TARGET = 7.1; 457 | SDKROOT = iphoneos; 458 | VALIDATE_PRODUCT = YES; 459 | }; 460 | name = Release; 461 | }; 462 | 3CF2231B1979AAB1002EBC44 /* Debug */ = { 463 | isa = XCBuildConfiguration; 464 | buildSettings = { 465 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 466 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 467 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 468 | GCC_PREFIX_HEADER = "AlienDefence/AlienDefence-Prefix.pch"; 469 | INFOPLIST_FILE = "AlienDefence/AlienDefence-Info.plist"; 470 | PRODUCT_NAME = "$(TARGET_NAME)"; 471 | SPRITEKIT_TEXTURE_ATLAS_OUTPUT = YES; 472 | WRAPPER_EXTENSION = app; 473 | }; 474 | name = Debug; 475 | }; 476 | 3CF2231C1979AAB1002EBC44 /* Release */ = { 477 | isa = XCBuildConfiguration; 478 | buildSettings = { 479 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 480 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 481 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 482 | GCC_PREFIX_HEADER = "AlienDefence/AlienDefence-Prefix.pch"; 483 | INFOPLIST_FILE = "AlienDefence/AlienDefence-Info.plist"; 484 | PRODUCT_NAME = "$(TARGET_NAME)"; 485 | SPRITEKIT_TEXTURE_ATLAS_OUTPUT = YES; 486 | WRAPPER_EXTENSION = app; 487 | }; 488 | name = Release; 489 | }; 490 | 3CF2231E1979AAB1002EBC44 /* Debug */ = { 491 | isa = XCBuildConfiguration; 492 | buildSettings = { 493 | BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/AlienDefence.app/AlienDefence"; 494 | FRAMEWORK_SEARCH_PATHS = ( 495 | "$(SDKROOT)/Developer/Library/Frameworks", 496 | "$(inherited)", 497 | "$(DEVELOPER_FRAMEWORKS_DIR)", 498 | ); 499 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 500 | GCC_PREFIX_HEADER = "AlienDefence/AlienDefence-Prefix.pch"; 501 | GCC_PREPROCESSOR_DEFINITIONS = ( 502 | "DEBUG=1", 503 | "$(inherited)", 504 | ); 505 | INFOPLIST_FILE = "AlienDefenceTests/AlienDefenceTests-Info.plist"; 506 | PRODUCT_NAME = "$(TARGET_NAME)"; 507 | TEST_HOST = "$(BUNDLE_LOADER)"; 508 | WRAPPER_EXTENSION = xctest; 509 | }; 510 | name = Debug; 511 | }; 512 | 3CF2231F1979AAB1002EBC44 /* Release */ = { 513 | isa = XCBuildConfiguration; 514 | buildSettings = { 515 | BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/AlienDefence.app/AlienDefence"; 516 | FRAMEWORK_SEARCH_PATHS = ( 517 | "$(SDKROOT)/Developer/Library/Frameworks", 518 | "$(inherited)", 519 | "$(DEVELOPER_FRAMEWORKS_DIR)", 520 | ); 521 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 522 | GCC_PREFIX_HEADER = "AlienDefence/AlienDefence-Prefix.pch"; 523 | INFOPLIST_FILE = "AlienDefenceTests/AlienDefenceTests-Info.plist"; 524 | PRODUCT_NAME = "$(TARGET_NAME)"; 525 | TEST_HOST = "$(BUNDLE_LOADER)"; 526 | WRAPPER_EXTENSION = xctest; 527 | }; 528 | name = Release; 529 | }; 530 | /* End XCBuildConfiguration section */ 531 | 532 | /* Begin XCConfigurationList section */ 533 | 3CF222DC1979AAB0002EBC44 /* Build configuration list for PBXProject "AlienDefence" */ = { 534 | isa = XCConfigurationList; 535 | buildConfigurations = ( 536 | 3CF223181979AAB1002EBC44 /* Debug */, 537 | 3CF223191979AAB1002EBC44 /* Release */, 538 | ); 539 | defaultConfigurationIsVisible = 0; 540 | defaultConfigurationName = Release; 541 | }; 542 | 3CF2231A1979AAB1002EBC44 /* Build configuration list for PBXNativeTarget "AlienDefence" */ = { 543 | isa = XCConfigurationList; 544 | buildConfigurations = ( 545 | 3CF2231B1979AAB1002EBC44 /* Debug */, 546 | 3CF2231C1979AAB1002EBC44 /* Release */, 547 | ); 548 | defaultConfigurationIsVisible = 0; 549 | defaultConfigurationName = Release; 550 | }; 551 | 3CF2231D1979AAB1002EBC44 /* Build configuration list for PBXNativeTarget "AlienDefenceTests" */ = { 552 | isa = XCConfigurationList; 553 | buildConfigurations = ( 554 | 3CF2231E1979AAB1002EBC44 /* Debug */, 555 | 3CF2231F1979AAB1002EBC44 /* Release */, 556 | ); 557 | defaultConfigurationIsVisible = 0; 558 | defaultConfigurationName = Release; 559 | }; 560 | /* End XCConfigurationList section */ 561 | }; 562 | rootObject = 3CF222D91979AAB0002EBC44 /* Project object */; 563 | } 564 | -------------------------------------------------------------------------------- /AlienDefence.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /AlienDefence.xcodeproj/xcuserdata/tharshan.xcuserdatad/xcschemes/AlienDefence.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 33 | 39 | 40 | 41 | 42 | 43 | 49 | 50 | 51 | 52 | 61 | 62 | 68 | 69 | 70 | 71 | 72 | 73 | 79 | 80 | 86 | 87 | 88 | 89 | 91 | 92 | 95 | 96 | 97 | -------------------------------------------------------------------------------- /AlienDefence.xcodeproj/xcuserdata/tharshan.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | AlienDefence.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 3CF222E01979AAB0002EBC44 16 | 17 | primary 18 | 19 | 20 | 3CF223081979AAB1002EBC44 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /AlienDefence/AlienDefence-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIdentifier 12 | com.tharshan.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0 25 | LSRequiresIPhoneOS 26 | 27 | UIMainStoryboardFile 28 | Main 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UIStatusBarHidden 34 | 35 | UISupportedInterfaceOrientations 36 | 37 | UIInterfaceOrientationLandscapeLeft 38 | UIInterfaceOrientationLandscapeRight 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /AlienDefence/AlienDefence-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header 3 | // 4 | // The contents of this file are implicitly included at the beginning of every source file. 5 | // 6 | 7 | #import 8 | 9 | #ifndef __IPHONE_5_0 10 | #warning "This project uses features only available in iOS SDK 5.0 and later." 11 | #endif 12 | 13 | #ifdef __OBJC__ 14 | #import 15 | #import 16 | #endif 17 | -------------------------------------------------------------------------------- /AlienDefence/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // AlienDefence 4 | // 5 | // Created by Tharshan on 18/07/2014. 6 | // Copyright (c) 2014 Tharshan. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /AlienDefence/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // AlienDefence 4 | // 5 | // Created by Tharshan on 18/07/2014. 6 | // Copyright (c) 2014 Tharshan. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | 11 | @implementation AppDelegate 12 | 13 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 14 | { 15 | // Override point for customization after application launch. 16 | return YES; 17 | } 18 | 19 | - (void)applicationWillResignActive:(UIApplication *)application 20 | { 21 | // 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. 22 | // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 23 | } 24 | 25 | - (void)applicationDidEnterBackground:(UIApplication *)application 26 | { 27 | // 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. 28 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 29 | } 30 | 31 | - (void)applicationWillEnterForeground:(UIApplication *)application 32 | { 33 | // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. 34 | } 35 | 36 | - (void)applicationDidBecomeActive:(UIApplication *)application 37 | { 38 | // 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. 39 | } 40 | 41 | - (void)applicationWillTerminate:(UIApplication *)application 42 | { 43 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 44 | } 45 | 46 | @end 47 | -------------------------------------------------------------------------------- /AlienDefence/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /AlienDefence/CreepNode.h: -------------------------------------------------------------------------------- 1 | // 2 | // CreepNode.h 3 | // AlienDefence 4 | // 5 | // Created by Tharshan on 20/07/2014. 6 | // Copyright (c) 2014 Tharshan. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | typedef NS_ENUM(NSUInteger, CreepType) { 12 | CreepOne = 0, 13 | CreepTwo = 1, 14 | CreepThree = 3, 15 | }; 16 | 17 | @interface CreepNode : SKSpriteNode 18 | +(instancetype) creepOfType:(CreepType)type; 19 | @property (nonatomic) int health; 20 | @end 21 | -------------------------------------------------------------------------------- /AlienDefence/CreepNode.m: -------------------------------------------------------------------------------- 1 | // 2 | // CreepNode.m 3 | // AlienDefence 4 | // 5 | // Created by Tharshan on 20/07/2014. 6 | // Copyright (c) 2014 Tharshan. All rights reserved. 7 | // 8 | 9 | #import "CreepNode.h" 10 | #import "Util.h" 11 | @implementation CreepNode 12 | +(instancetype) creepOfType:(CreepType)type { 13 | CreepNode *creep; 14 | NSArray *textures; 15 | 16 | if (type == CreepOne) { 17 | creep = [self spriteNodeWithImageNamed:@"creep_1r_1"]; 18 | creep.health = 80; 19 | textures = @[[SKTexture textureWithImageNamed:@"creep_1r_2"], 20 | [SKTexture textureWithImageNamed:@"creep_1r_3"], 21 | [SKTexture textureWithImageNamed:@"creep_1r_4"], 22 | [SKTexture textureWithImageNamed:@"creep_1r_5"], 23 | [SKTexture textureWithImageNamed:@"creep_1r_6"]]; 24 | SKAction *animation = [SKAction animateWithTextures:textures timePerFrame:0.2]; 25 | [creep runAction:[SKAction repeatActionForever:animation]]; 26 | }else if (type == CreepTwo) { 27 | creep = [self spriteNodeWithImageNamed:@"creep_2b_1"]; 28 | creep.health = 100; 29 | textures = @[[SKTexture textureWithImageNamed:@"creep_2b_2"], 30 | [SKTexture textureWithImageNamed:@"creep_2b_3"], 31 | [SKTexture textureWithImageNamed:@"creep_2b_4"]]; 32 | SKAction *animation = [SKAction animateWithTextures:textures timePerFrame:0.2]; 33 | [creep runAction:[SKAction repeatActionForever:animation]]; 34 | }else{ 35 | creep = [self spriteNodeWithImageNamed:@"boss"]; 36 | } 37 | creep.name = @"creep"; 38 | creep.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:creep.frame.size]; 39 | creep.physicsBody.dynamic = YES; 40 | creep.physicsBody.affectedByGravity = NO; 41 | creep.physicsBody.categoryBitMask = CollisionMaskCreep; 42 | creep.physicsBody.contactTestBitMask = CollisionMaskTower; 43 | creep.physicsBody.collisionBitMask = 0; 44 | return creep; 45 | } 46 | @end 47 | -------------------------------------------------------------------------------- /AlienDefence/GameOver.h: -------------------------------------------------------------------------------- 1 | // 2 | // GameOver.h 3 | // AlienDefence 4 | // 5 | // Created by Tharshan on 28/07/2014. 6 | // Copyright (c) 2014 Tharshan. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface GameOver : SKScene 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /AlienDefence/GameOver.m: -------------------------------------------------------------------------------- 1 | // 2 | // GameOver.m 3 | // AlienDefence 4 | // 5 | // Created by Tharshan on 28/07/2014. 6 | // Copyright (c) 2014 Tharshan. All rights reserved. 7 | // 8 | 9 | #import "GameOver.h" 10 | #import "GameScene.h" 11 | @implementation GameOver 12 | -(id)initWithSize:(CGSize)size { 13 | if (self = [super initWithSize:size]) { 14 | /* Setup your scene here */ 15 | SKSpriteNode *background = [SKSpriteNode spriteNodeWithImageNamed:@"game_over"]; 16 | background.position = CGPointMake(0, 0); 17 | background.anchorPoint = CGPointMake(0, 0); 18 | background.yScale = 0.5; 19 | background.xScale = 0.5; 20 | [self addChild:background]; 21 | } 22 | return self; 23 | } 24 | 25 | -(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 26 | GameScene *gameScene = [GameScene sceneWithSize:self.frame.size]; 27 | SKTransition *transition = [SKTransition crossFadeWithDuration:1.0]; 28 | [self.view presentScene:gameScene transition:transition]; 29 | } 30 | @end 31 | -------------------------------------------------------------------------------- /AlienDefence/GameScene.h: -------------------------------------------------------------------------------- 1 | // 2 | // GameScene.h 3 | // AlienDefence 4 | // 5 | // Created by Tharshan on 20/07/2014. 6 | // Copyright (c) 2014 Tharshan. All rights reserved. 7 | // 8 | 9 | #import 10 | @interface GameScene : SKScene { 11 | UISwipeGestureRecognizer* swipeRightGesture; 12 | UISwipeGestureRecognizer* swipeLeftGesture; 13 | } 14 | 15 | @property (nonatomic, strong) SKSpriteNode* tiles; 16 | @property (nonatomic, strong) NSArray *towerBases; 17 | @property (nonatomic, strong) NSMutableArray *towerBaseBounds; 18 | @property (nonatomic, strong) NSMutableArray *towers; 19 | @property (nonatomic, strong) NSMutableArray *creeps; 20 | @property (nonatomic, strong) SKSpriteNode* selectedTower; 21 | @property (nonatomic) BOOL isTowerSelected; 22 | @property (nonatomic) NSTimeInterval timeOfLastMove; 23 | @property (nonatomic, strong) NSArray *waveData; 24 | @property (nonatomic) int waveNumber; 25 | @property (nonatomic) int score; 26 | @property (nonatomic) int killCount; 27 | @property (nonatomic, strong) SKAction* followline; 28 | - (void) addCreepWave; 29 | - (void) didKillEnemy; 30 | @end 31 | -------------------------------------------------------------------------------- /AlienDefence/GameScene.m: -------------------------------------------------------------------------------- 1 | // 2 | // GameScene.m 3 | // AlienDefence 4 | // 5 | // Created by Tharshan on 20/07/2014. 6 | // Copyright (c) 2014 Tharshan. All rights reserved. 7 | // 8 | 9 | #import "GameScene.h" 10 | #import "CreepNode.h" 11 | #import "TileNode.h" 12 | #import "TowerNode.h" 13 | #import "Util.h" 14 | #import "GameOver.h" 15 | #import "GameWin.h" 16 | @implementation GameScene 17 | 18 | -(id)initWithSize:(CGSize)size { 19 | if (self = [super initWithSize:size]) { 20 | /* Setup your scene here */ 21 | SKSpriteNode *background = [SKSpriteNode spriteNodeWithImageNamed:@"bg"]; 22 | background.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame)); 23 | [self addChild:background]; 24 | 25 | SKSpriteNode *ship = [SKSpriteNode spriteNodeWithImageNamed:@"ship_dmg_low"]; 26 | ship.position = CGPointMake(CGRectGetMaxX(self.frame)-ship.frame.size.width/2, CGRectGetMidY(self.frame)); 27 | [self addChild:ship]; 28 | _score = 90; 29 | SKSpriteNode *panels = [SKSpriteNode spriteNodeWithImageNamed:@"hud_points"]; 30 | panels.position = CGPointMake(29, 15); 31 | panels.anchorPoint = CGPointMake(0, 0); 32 | panels.name = @"hud"; 33 | SKLabelNode *score = [SKLabelNode labelNodeWithFontNamed:@"Menlo-Regular"]; 34 | score.text = [NSString stringWithFormat:@"%d",_score]; 35 | score.fontSize = 13; 36 | score.fontColor = [SKColor greenColor]; 37 | score.position = CGPointMake(5, 6); 38 | score.horizontalAlignmentMode = SKLabelHorizontalAlignmentModeLeft; 39 | score.name = @"scoreNode"; 40 | _tiles.anchorPoint = CGPointMake(0, 0); 41 | [self addChild:panels]; 42 | [panels addChild:score]; 43 | _tiles = [TileNode drawTilesWithFrame:self.frame]; 44 | [self addChild:_tiles]; 45 | self.physicsWorld.contactDelegate = self; 46 | self.towerBases = @[ 47 | [NSValue valueWithCGPoint:CGPointMake(40+(69/4),60+(69/4))], 48 | [NSValue valueWithCGPoint:CGPointMake(149*0.5+(69/4),60+(69/4))], 49 | [NSValue valueWithCGPoint:CGPointMake(218*0.5+(69/4),120*0.5+(69/4))], 50 | [NSValue valueWithCGPoint:CGPointMake(285*0.5+(69/4),120*0.5+(69/4))], 51 | [NSValue valueWithCGPoint:CGPointMake(354*0.5+(69/4),120*0.5+(69/4))], 52 | [NSValue valueWithCGPoint:CGPointMake(423*0.5+(69/4),120*0.5+(69/4))], 53 | [NSValue valueWithCGPoint:CGPointMake(492*0.5+(69/4),120*0.5+(69/4))], 54 | [NSValue valueWithCGPoint:CGPointMake(561*0.5+(69/4),120*0.5+(69/4))], 55 | [NSValue valueWithCGPoint:CGPointMake(580*0.5+(69/4),189*0.5+(69/4))], 56 | [NSValue valueWithCGPoint:CGPointMake(580*0.5+(69/4),258*0.5+(69/4))], 57 | [NSValue valueWithCGPoint:CGPointMake(580*0.5+(69/4),327*0.5+(69/4))], 58 | [NSValue valueWithCGPoint:CGPointMake(580*0.5+(69/4),396*0.5+(69/4))], 59 | [NSValue valueWithCGPoint:CGPointMake(580*0.5+(69/4),327*0.5+(69/4))], 60 | [NSValue valueWithCGPoint:CGPointMake(580*0.5+(69/4),464*0.5+(69/4))], 61 | [NSValue valueWithCGPoint:CGPointMake(513*0.5+(69/4),464*0.5+(69/4))], 62 | [NSValue valueWithCGPoint:CGPointMake(444*0.5+(69/4),464*0.5+(69/4))], 63 | [NSValue valueWithCGPoint:CGPointMake(375*0.5+(69/4),464*0.5+(69/4))], 64 | [NSValue valueWithCGPoint:CGPointMake(306*0.5+(69/4),464*0.5+(69/4))], 65 | [NSValue valueWithCGPoint:CGPointMake(237*0.5+(69/4),464*0.5+(69/4))], 66 | [NSValue valueWithCGPoint:CGPointMake(168*0.5+(69/4),464*0.5+(69/4))], 67 | ]; 68 | _waveData = @[ 69 | @{@"creepType": [NSNumber numberWithInteger:CreepOne], @"count": @10}, 70 | @{@"creepType": [NSNumber numberWithInteger:CreepTwo], @"count": @10} 71 | ]; 72 | _waveNumber = 0; 73 | _killCount = 0; 74 | SKAction *wait = [SKAction waitForDuration:50]; 75 | SKAction *performSelector = [SKAction performSelector:@selector(addCreepWave) onTarget:self]; 76 | SKAction *sequence = [SKAction sequence:@[performSelector, wait]]; 77 | SKAction *repeat = [SKAction repeatAction:sequence count:[_waveData count]]; 78 | [self runAction:repeat]; 79 | 80 | CGMutablePathRef path = CGPathCreateMutable(); 81 | CGPathMoveToPoint(path, NULL, -10, 110); 82 | CGPathAddLineToPoint(path, NULL, 270, 110); 83 | CGPathAddLineToPoint(path, NULL, 270, 215); 84 | CGPathAddLineToPoint(path, NULL, 66, 215); 85 | CGPathAddLineToPoint(path, NULL, 68, 300); 86 | CGPathAddLineToPoint(path, NULL, 500, 300); 87 | _followline = [SKAction followPath:path asOffset:NO orientToPath:YES duration:100]; 88 | 89 | 90 | //TODO Upgrade Tower Mechanism 91 | //SKSpriteNode *upgrade = [SKSpriteNode spriteNodeWithImageNamed:@"upgrade"]; 92 | //upgrade.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame)); 93 | //upgrade.yScale = 1.5; 94 | //upgrade.xScale = 1.5; 95 | //[self addChild:upgrade]; 96 | 97 | _isTowerSelected = NO; 98 | NSArray *turretIconNames = @[@"turret-1-icon",@"turret-2-icon",@"turret-3-icon", @"turret-4-icon",@"turret-5-icon"]; 99 | for (NSString *turretIconName in turretIconNames) { 100 | SKSpriteNode *turretIconSprite = [SKSpriteNode spriteNodeWithImageNamed:turretIconName]; 101 | [turretIconSprite setName:@"movable"]; 102 | [turretIconSprite setColor:[SKColor blackColor]]; 103 | [turretIconSprite setColorBlendFactor:0.8]; 104 | turretIconSprite.userData = [NSMutableDictionary dictionaryWithObject:[NSNumber numberWithInt:([turretIconNames indexOfObject:turretIconName]+1)*50] forKey:@"cost"]; 105 | [turretIconSprite.userData setObject:[NSNumber numberWithInt:[turretIconNames indexOfObject:turretIconName]+1] forKey:@"number"]; 106 | [turretIconSprite setPosition:CGPointMake(CGRectGetMaxX(self.frame)-250+[turretIconNames indexOfObject:turretIconName]*40, 30)]; 107 | [self addChild:turretIconSprite]; 108 | } 109 | [self didKillEnemy]; 110 | _towers = [[NSMutableArray alloc] init]; 111 | _creeps = [[NSMutableArray alloc] init]; 112 | _towerBaseBounds = [[NSMutableArray alloc] init]; 113 | for (NSValue *base in _towerBases) { 114 | CGPoint basePoint = [base CGPointValue]; 115 | CGRect baseRect = CGRectMake(basePoint.x, basePoint.y, 0, 0); 116 | CGRect expandedRect = CGRectInset(baseRect, -69/4, -69/4); 117 | [_towerBaseBounds addObject:[NSValue valueWithCGRect:expandedRect]]; 118 | } 119 | 120 | } 121 | return self; 122 | } 123 | - (void) addCreepWave { 124 | NSDictionary *creepWave = [_waveData objectAtIndex:_waveNumber]; 125 | SKAction *wait = [SKAction waitForDuration:2]; 126 | SKAction *performSelector = [SKAction performSelector:@selector(addCreep) onTarget:self]; 127 | SKAction *sequence = [SKAction sequence:@[performSelector, wait]]; 128 | SKAction *repeat = [SKAction repeatAction:sequence count:[[creepWave objectForKey:@"count"] intValue]]; 129 | [self runAction:repeat]; 130 | _waveNumber++; 131 | NSLog(@"creep wave added"); 132 | } 133 | 134 | -(void) addCreep { 135 | NSDictionary *creepWave = [_waveData objectAtIndex:_waveNumber-1]; 136 | SKSpriteNode *creep = [CreepNode creepOfType:(CreepType)[[creepWave objectForKey:@"creepType"] intValue]]; 137 | creep.position = CGPointMake(-10, 125); 138 | [self addChild:creep]; 139 | [_creeps addObject:creep]; 140 | [creep runAction:_followline completion:^{ 141 | NSLog(@"game over"); 142 | GameOver *gameOver = [GameOver sceneWithSize:self.frame.size]; 143 | SKTransition *transition = [SKTransition crossFadeWithDuration:1.0]; 144 | [self.view presentScene:gameOver transition:transition]; 145 | }]; 146 | NSLog(@"creep added"); 147 | 148 | } 149 | - (void) didKillEnemy { 150 | SKNode *hud = [self childNodeWithName:@"hud"]; 151 | SKLabelNode *label = (SKLabelNode*)[hud childNodeWithName:@"scoreNode"]; 152 | [label setText:[NSString stringWithFormat:@"%d", _score+=10]]; 153 | [self enumerateChildNodesWithName:@"movable" usingBlock:^(SKNode *node, BOOL *stop) { 154 | NSInteger cost = [[node.userData objectForKey:@"cost"] intValue]; 155 | SKSpriteNode *towerIcon = (SKSpriteNode*) node; 156 | if (cost <= _score) { 157 | [towerIcon setColorBlendFactor:0]; 158 | }else { 159 | [towerIcon setColorBlendFactor:0.8]; 160 | } 161 | }]; 162 | if (_killCount++ >= 20) { 163 | NSLog(@"You Win"); 164 | GameWin *gameWin = [GameWin sceneWithSize:self.frame.size]; 165 | SKTransition *transition = [SKTransition crossFadeWithDuration:1.0]; 166 | [self.view presentScene:gameWin transition:transition]; 167 | } 168 | } 169 | -(void) updateHUD { 170 | SKNode *hud = [self childNodeWithName:@"hud"]; 171 | SKLabelNode *label = (SKLabelNode*)[hud childNodeWithName:@"scoreNode"]; 172 | [label setText:[NSString stringWithFormat:@"%d", _score]]; 173 | [self enumerateChildNodesWithName:@"movable" usingBlock:^(SKNode *node, BOOL *stop) { 174 | NSInteger cost = [[node.userData objectForKey:@"cost"] intValue]; 175 | SKSpriteNode *towerIcon = (SKSpriteNode*) node; 176 | if (cost <= _score) { 177 | [towerIcon setColorBlendFactor:0]; 178 | }else { 179 | [towerIcon setColorBlendFactor:0.8]; 180 | } 181 | }]; 182 | } 183 | -(void)didBeginContact:(SKPhysicsContact *)contact { 184 | SKPhysicsBody* firstBody; 185 | SKPhysicsBody* secondBody; 186 | 187 | if (contact.bodyA.categoryBitMask < contact.bodyB.categoryBitMask) 188 | { 189 | firstBody = contact.bodyA; 190 | secondBody = contact.bodyB; 191 | } 192 | else 193 | { 194 | firstBody = contact.bodyB; 195 | secondBody = contact.bodyA; 196 | } 197 | if (firstBody.categoryBitMask == CollisionMaskCreep && secondBody.categoryBitMask == CollisionMaskTower) { 198 | CreepNode *creep = (CreepNode*) firstBody.node; 199 | TowerNode *tower = (TowerNode*) secondBody.node; 200 | [tower.targets addObject:creep]; 201 | }else if (firstBody.categoryBitMask == CollisionMaskCreep && secondBody.categoryBitMask == CollisionMaskBullet) { 202 | CreepNode *creep = (CreepNode*) firstBody.node; 203 | TowerNode *tower = (TowerNode*) secondBody.node.parent; 204 | if (creep.health > 0) { 205 | [tower damageEnemy:creep onKill:^{ 206 | [self didKillEnemy]; 207 | }]; 208 | } 209 | } 210 | } 211 | 212 | -(void)didEndContact:(SKPhysicsContact *)contact { 213 | SKPhysicsBody* firstBody; 214 | SKPhysicsBody* secondBody; 215 | 216 | if (contact.bodyA.categoryBitMask < contact.bodyB.categoryBitMask) 217 | { 218 | firstBody = contact.bodyA; 219 | secondBody = contact.bodyB; 220 | } 221 | else 222 | { 223 | firstBody = contact.bodyB; 224 | secondBody = contact.bodyA; 225 | } 226 | if (firstBody.categoryBitMask == CollisionMaskCreep && secondBody.categoryBitMask == CollisionMaskTower) { 227 | TowerNode *tower = (TowerNode*) secondBody.node; 228 | CreepNode *creep = (CreepNode*) firstBody.node; 229 | [tower.targets removeObject:creep]; 230 | } 231 | } 232 | 233 | - (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 234 | UITouch *touch = [touches anyObject]; 235 | CGPoint positionInScene = [touch locationInNode:self]; 236 | [self selectNodeForTouch:positionInScene]; 237 | 238 | } 239 | 240 | - (void) selectNodeForTouch:(CGPoint)touchLocation { 241 | bool spotTaken = false; 242 | SKSpriteNode *touchedNode = (SKSpriteNode*)[self nodeAtPoint:touchLocation]; 243 | if(![_selectedTower isEqual:touchedNode]) { 244 | 245 | if (_isTowerSelected) { 246 | for (TowerNode *tower in _towers) { 247 | CGRect touchFrame = CGRectInset(tower.frame, -9, -8); 248 | if (CGRectContainsPoint(touchFrame, touchLocation)) { 249 | NSLog(@"%@", tower); 250 | spotTaken = true; 251 | } 252 | } 253 | if (spotTaken) { 254 | [_selectedTower removeAllActions]; 255 | [_selectedTower runAction:[SKAction rotateToAngle:0.0f duration:0.1]]; 256 | [_selectedTower setScale:1.0f]; 257 | _isTowerSelected = NO; 258 | }else{ 259 | for (NSValue *base in _towerBaseBounds) { 260 | CGRect baseRect = [base CGRectValue]; 261 | if (CGRectContainsPoint(baseRect, touchLocation)) { 262 | if (_score >= [[_selectedTower.userData objectForKey:@"cost"] intValue]) { 263 | int turret_no = [[_selectedTower.userData objectForKey:@"number"] intValue]; 264 | TowerNode *turretPlaced = [TowerNode towerOfType:(TowerType)turret_no withLevel:1]; 265 | [turretPlaced setPosition:[[_towerBases objectAtIndex:[_towerBaseBounds indexOfObject:base]]CGPointValue]]; 266 | //[turretPlaced debugDrawWithScene:self]; 267 | _score -= [[_selectedTower.userData objectForKey:@"cost"] intValue]; 268 | [self updateHUD]; 269 | [self addChild:turretPlaced]; 270 | [_towers addObject:turretPlaced]; 271 | _isTowerSelected = NO; 272 | } 273 | } 274 | } 275 | 276 | } 277 | } 278 | 279 | [_selectedTower removeAllActions]; 280 | [_selectedTower runAction:[SKAction rotateToAngle:0.0f duration:0.1]]; 281 | [_selectedTower setScale:1.0f]; 282 | _selectedTower = touchedNode; 283 | 284 | 285 | if([[touchedNode name] isEqualToString:@"movable"] && (_score >= [[_selectedTower.userData objectForKey:@"cost"] intValue])) { 286 | [_selectedTower setScale:1.5f]; 287 | _isTowerSelected = YES; 288 | SKAction *sequence = [SKAction sequence:@[[SKAction rotateByAngle:degToRad(-6.0f) duration:0.1], 289 | [SKAction rotateByAngle:0.0 duration:0.1], 290 | [SKAction rotateByAngle:degToRad(6.0f) duration:0.1]]]; 291 | [_selectedTower runAction:[SKAction repeatActionForever:sequence]]; 292 | } 293 | if([[touchedNode name] isEqualToString:@"tower"]) { 294 | NSLog(@"tap turret"); 295 | } 296 | } 297 | } 298 | 299 | - (void) update:(NSTimeInterval)currentTime { 300 | if (currentTime - self.timeOfLastMove < 0.5) return; 301 | [self enumerateChildNodesWithName:@"tower" usingBlock:^(SKNode *node, BOOL *stop) { 302 | TowerNode *tower = (TowerNode*) node; 303 | @try { 304 | CreepNode *target = [tower.targets objectAtIndex:0]; 305 | if (target.health <= 0) { 306 | [tower.targets removeObjectAtIndex:0]; 307 | }else { 308 | [tower shootAtTarget:target]; 309 | } 310 | } 311 | @catch (NSException *exception) { 312 | //do nothing 313 | } 314 | }]; 315 | self.timeOfLastMove = currentTime; 316 | } 317 | 318 | - (bool) isCreepinRange:(int) range creep:(CGPoint) creep tower:(CGPoint) tower { 319 | int rootDistance = sqrt(powf((tower.x-creep.x), 2)+powf((tower.y-creep.y), 2)); 320 | if (rootDistance > range) 321 | return NO; 322 | return YES; 323 | } 324 | 325 | 326 | float degToRad(float degree) { 327 | return degree / 180.0f * M_PI; 328 | } 329 | @end 330 | -------------------------------------------------------------------------------- /AlienDefence/GameWin.h: -------------------------------------------------------------------------------- 1 | // 2 | // GameWin.h 3 | // AlienDefence 4 | // 5 | // Created by Tharshan on 28/07/2014. 6 | // Copyright (c) 2014 Tharshan. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface GameWin : SKScene 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /AlienDefence/GameWin.m: -------------------------------------------------------------------------------- 1 | // 2 | // GameWin.m 3 | // AlienDefence 4 | // 5 | // Created by Tharshan on 28/07/2014. 6 | // Copyright (c) 2014 Tharshan. All rights reserved. 7 | // 8 | 9 | #import "GameWin.h" 10 | #import "GameScene.h" 11 | @implementation GameWin 12 | -(id)initWithSize:(CGSize)size { 13 | if (self = [super initWithSize:size]) { 14 | /* Setup your scene here */ 15 | SKSpriteNode *background = [SKSpriteNode spriteNodeWithImageNamed:@"game_win"]; 16 | background.position = CGPointMake(0, 0); 17 | background.anchorPoint = CGPointMake(0, 0); 18 | background.yScale = 0.5; 19 | background.xScale = 0.5; 20 | [self addChild:background]; 21 | } 22 | return self; 23 | } 24 | 25 | -(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 26 | GameScene *gameScene = [GameScene sceneWithSize:self.frame.size]; 27 | SKTransition *transition = [SKTransition crossFadeWithDuration:1.0]; 28 | [self.view presentScene:gameScene transition:transition]; 29 | } 30 | @end -------------------------------------------------------------------------------- /AlienDefence/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "57x57", 21 | "scale" : "1x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "57x57", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "2x" 32 | }, 33 | { 34 | "idiom" : "ipad", 35 | "size" : "29x29", 36 | "scale" : "1x" 37 | }, 38 | { 39 | "idiom" : "ipad", 40 | "size" : "29x29", 41 | "scale" : "2x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "40x40", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "40x40", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "50x50", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "50x50", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "size" : "72x72", 66 | "scale" : "1x" 67 | }, 68 | { 69 | "idiom" : "ipad", 70 | "size" : "72x72", 71 | "scale" : "2x" 72 | }, 73 | { 74 | "idiom" : "ipad", 75 | "size" : "76x76", 76 | "scale" : "1x" 77 | }, 78 | { 79 | "idiom" : "ipad", 80 | "size" : "76x76", 81 | "scale" : "2x" 82 | } 83 | ], 84 | "info" : { 85 | "version" : 1, 86 | "author" : "xcode" 87 | } 88 | } -------------------------------------------------------------------------------- /AlienDefence/Images.xcassets/LaunchImage.launchimage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "orientation" : "portrait", 5 | "idiom" : "iphone", 6 | "extent" : "full-screen", 7 | "minimum-system-version" : "7.0", 8 | "scale" : "2x" 9 | }, 10 | { 11 | "orientation" : "portrait", 12 | "idiom" : "iphone", 13 | "extent" : "full-screen", 14 | "minimum-system-version" : "7.0", 15 | "subtype" : "retina4", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "orientation" : "portrait", 20 | "idiom" : "ipad", 21 | "extent" : "full-screen", 22 | "minimum-system-version" : "7.0", 23 | "scale" : "1x" 24 | }, 25 | { 26 | "orientation" : "landscape", 27 | "idiom" : "ipad", 28 | "extent" : "full-screen", 29 | "minimum-system-version" : "7.0", 30 | "scale" : "1x" 31 | }, 32 | { 33 | "orientation" : "portrait", 34 | "idiom" : "ipad", 35 | "extent" : "full-screen", 36 | "minimum-system-version" : "7.0", 37 | "scale" : "2x" 38 | }, 39 | { 40 | "orientation" : "landscape", 41 | "idiom" : "ipad", 42 | "extent" : "full-screen", 43 | "minimum-system-version" : "7.0", 44 | "scale" : "2x" 45 | }, 46 | { 47 | "orientation" : "portrait", 48 | "idiom" : "iphone", 49 | "extent" : "full-screen", 50 | "scale" : "1x" 51 | }, 52 | { 53 | "orientation" : "portrait", 54 | "idiom" : "iphone", 55 | "extent" : "full-screen", 56 | "scale" : "2x" 57 | }, 58 | { 59 | "orientation" : "portrait", 60 | "idiom" : "iphone", 61 | "extent" : "full-screen", 62 | "subtype" : "retina4", 63 | "scale" : "2x" 64 | }, 65 | { 66 | "orientation" : "portrait", 67 | "idiom" : "ipad", 68 | "extent" : "to-status-bar", 69 | "scale" : "1x" 70 | }, 71 | { 72 | "orientation" : "portrait", 73 | "idiom" : "ipad", 74 | "extent" : "full-screen", 75 | "scale" : "1x" 76 | }, 77 | { 78 | "orientation" : "landscape", 79 | "idiom" : "ipad", 80 | "extent" : "to-status-bar", 81 | "scale" : "1x" 82 | }, 83 | { 84 | "orientation" : "landscape", 85 | "idiom" : "ipad", 86 | "extent" : "full-screen", 87 | "scale" : "1x" 88 | }, 89 | { 90 | "orientation" : "portrait", 91 | "idiom" : "ipad", 92 | "extent" : "to-status-bar", 93 | "scale" : "2x" 94 | }, 95 | { 96 | "orientation" : "portrait", 97 | "idiom" : "ipad", 98 | "extent" : "full-screen", 99 | "scale" : "2x" 100 | }, 101 | { 102 | "orientation" : "landscape", 103 | "idiom" : "ipad", 104 | "extent" : "to-status-bar", 105 | "scale" : "2x" 106 | }, 107 | { 108 | "orientation" : "landscape", 109 | "idiom" : "ipad", 110 | "extent" : "full-screen", 111 | "scale" : "2x" 112 | } 113 | ], 114 | "info" : { 115 | "version" : 1, 116 | "author" : "xcode" 117 | } 118 | } -------------------------------------------------------------------------------- /AlienDefence/Images.xcassets/bg.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x", 6 | "filename" : "bg-1.png" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x", 11 | "filename" : "bg@2x.png" 12 | } 13 | ], 14 | "info" : { 15 | "version" : 1, 16 | "author" : "xcode" 17 | } 18 | } -------------------------------------------------------------------------------- /AlienDefence/Images.xcassets/bg.imageset/bg-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Images.xcassets/bg.imageset/bg-1.png -------------------------------------------------------------------------------- /AlienDefence/Images.xcassets/bg.imageset/bg@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Images.xcassets/bg.imageset/bg@2x.png -------------------------------------------------------------------------------- /AlienDefence/Images.xcassets/title_scene.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x", 6 | "filename" : "title_scene-1.png" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x", 11 | "filename" : "title_scene@2x.png" 12 | } 13 | ], 14 | "info" : { 15 | "version" : 1, 16 | "author" : "xcode" 17 | } 18 | } -------------------------------------------------------------------------------- /AlienDefence/Images.xcassets/title_scene.imageset/title_scene-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Images.xcassets/title_scene.imageset/title_scene-1.png -------------------------------------------------------------------------------- /AlienDefence/Images.xcassets/title_scene.imageset/title_scene@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Images.xcassets/title_scene.imageset/title_scene@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/bg.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/bg@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/bg@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/boss-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/boss-1.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/boss-1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/boss-1@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/boss-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/boss-2.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/boss-2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/boss-2@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/boss-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/boss-3.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/boss-3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/boss-3@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/boss-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/boss-4.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/boss-4@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/boss-4@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/boss.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/boss.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/boss@2x.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/boss@2x.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/bullet_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/bullet_1.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/bullet_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/bullet_1@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/bullet_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/bullet_2.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/bullet_2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/bullet_2@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/bullet_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/bullet_3.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/bullet_3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/bullet_3@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/bullet_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/bullet_4.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/bullet_4@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/bullet_4@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/bullet_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/bullet_5.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/bullet_5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/bullet_5@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/bullet_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/bullet_6.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/bullet_6@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/bullet_6@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/bullets@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/bullets@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1_1.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1_1@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1_2.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1_2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1_2@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1_3.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1_3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1_3@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1_4.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1_4@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1_4@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1_5.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1_5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1_5@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1_6.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1_6@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1_6@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1b_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1b_1.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1b_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1b_1@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1b_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1b_2.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1b_2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1b_2@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1b_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1b_3.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1b_3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1b_3@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1b_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1b_4.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1b_4@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1b_4@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1b_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1b_5.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1b_5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1b_5@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1b_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1b_6.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1b_6@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1b_6@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1g_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1g_1.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1g_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1g_1@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1g_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1g_2.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1g_2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1g_2@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1g_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1g_3.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1g_3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1g_3@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1g_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1g_4.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1g_4@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1g_4@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1g_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1g_5.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1g_5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1g_5@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1g_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1g_6.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1g_6@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1g_6@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1r_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1r_1.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1r_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1r_1@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1r_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1r_2.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1r_2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1r_2@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1r_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1r_3.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1r_3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1r_3@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1r_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1r_4.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1r_4@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1r_4@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1r_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1r_5.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1r_5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1r_5@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1r_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1r_6.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_1r_6@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_1r_6@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2b_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2b_1.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2b_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2b_1@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2b_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2b_2.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2b_2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2b_2@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2b_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2b_3.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2b_3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2b_3@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2b_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2b_4.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2b_4@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2b_4@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2g_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2g_1.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2g_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2g_1@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2g_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2g_2.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2g_2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2g_2@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2g_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2g_3.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2g_3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2g_3@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2g_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2g_4.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2g_4@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2g_4@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2y_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2y_1.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2y_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2y_1@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2y_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2y_2.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2y_2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2y_2@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2y_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2y_3.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2y_3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2y_3@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2y_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2y_4.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_2y_4@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_2y_4@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3b_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3b_1.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3b_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3b_1@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3b_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3b_2.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3b_2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3b_2@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3b_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3b_3.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3b_3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3b_3@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3b_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3b_4.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3b_4@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3b_4@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3g_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3g_1.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3g_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3g_1@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3g_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3g_2.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3g_2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3g_2@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3g_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3g_3.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3g_3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3g_3@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3g_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3g_4.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3g_4@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3g_4@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3r_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3r_1.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3r_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3r_1@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3r_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3r_2.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3r_2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3r_2@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3r_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3r_3.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3r_3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3r_3@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3r_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3r_4.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3r_4@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3r_4@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3y_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3y_1.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3y_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3y_1@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3y_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3y_2.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3y_2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3y_2@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3y_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3y_3.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3y_3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3y_3@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3y_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3y_4.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/creep_3y_4@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/creep_3y_4@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/game_over.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/game_over.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/game_over@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/game_over@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/game_win.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/game_win.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/game_win@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/game_win@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/hud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/hud.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/hud@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/hud@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/hud_points@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/hud_points@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/ship_dmg_high.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/ship_dmg_high.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/ship_dmg_high@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/ship_dmg_high@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/ship_dmg_low.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/ship_dmg_low.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/ship_dmg_low@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/ship_dmg_low@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/ship_dmg_med.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/ship_dmg_med.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/ship_dmg_med@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/ship_dmg_med@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/tiles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/tiles.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/tiles@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/tiles@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-1-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-1-1.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-1-1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-1-1@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-1-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-1-2.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-1-2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-1-2@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-1-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-1-3.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-1-3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-1-3@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-1-base copy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-1-base copy.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-1-base.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-1-base.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-1-cannon copy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-1-cannon copy.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-1-cannon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-1-cannon.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-1-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-1-icon.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-1-icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-1-icon@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-2-1.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-2-1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-2-1@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-2-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-2-2.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-2-2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-2-2@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-2-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-2-3.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-2-3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-2-3@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-2-base copy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-2-base copy.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-2-base.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-2-base.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-2-cannon copy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-2-cannon copy.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-2-cannon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-2-cannon.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-2-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-2-icon.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-2-icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-2-icon@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-3-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-3-1.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-3-1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-3-1@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-3-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-3-2.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-3-2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-3-2@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-3-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-3-3.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-3-3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-3-3@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-3-base copy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-3-base copy.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-3-base.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-3-base.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-3-cannon copy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-3-cannon copy.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-3-cannon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-3-cannon.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-3-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-3-icon.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-3-icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-3-icon@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-4-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-4-1.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-4-1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-4-1@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-4-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-4-2.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-4-2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-4-2@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-4-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-4-3.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-4-3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-4-3@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-4-base copy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-4-base copy.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-4-base.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-4-base.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-4-cannon copy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-4-cannon copy.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-4-cannon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-4-cannon.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-4-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-4-icon.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-4-icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-4-icon@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-5-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-5-1.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-5-1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-5-1@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-5-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-5-2.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-5-2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-5-2@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-5-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-5-3.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-5-3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-5-3@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-5-base copy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-5-base copy.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-5-base.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-5-base.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-5-cannon copy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-5-cannon copy.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-5-cannon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-5-cannon.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-5-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-5-icon.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-5-icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-5-icon@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-6-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-6-1.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-6-1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-6-1@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-6-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-6-2.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-6-2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-6-2@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-6-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-6-3.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-6-3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-6-3@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-6-base copy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-6-base copy.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-6-base.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-6-base.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-6-cannon copy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-6-cannon copy.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-6-cannon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-6-cannon.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-7-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-7-1.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-7-1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-7-1@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-7-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-7-2.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-7-2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-7-2@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-7-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-7-3.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-7-3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-7-3@2x.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-7-base copy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-7-base copy.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-7-base.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-7-base.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-7-cannon copy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-7-cannon copy.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/turret-7-cannon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/turret-7-cannon.gif -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/upgrade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/upgrade.png -------------------------------------------------------------------------------- /AlienDefence/Sprites.atlas/upgrade@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefence/Sprites.atlas/upgrade@2x.png -------------------------------------------------------------------------------- /AlienDefence/TileNode.h: -------------------------------------------------------------------------------- 1 | // 2 | // TileNode.h 3 | // AlienDefence 4 | // 5 | // Created by Tharshan on 20/07/2014. 6 | // Copyright (c) 2014 Tharshan. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface TileNode : SKSpriteNode 12 | +(instancetype) drawTilesWithFrame:(CGRect)frame; 13 | @end -------------------------------------------------------------------------------- /AlienDefence/TileNode.m: -------------------------------------------------------------------------------- 1 | // 2 | // TileNode.m 3 | // AlienDefence 4 | // 5 | // Created by Tharshan on 20/07/2014. 6 | // Copyright (c) 2014 Tharshan. All rights reserved. 7 | // 8 | 9 | #import "TileNode.h" 10 | 11 | @implementation TileNode 12 | +(instancetype) drawTilesWithFrame:(CGRect)frame { 13 | TileNode *tiles = [self spriteNodeWithImageNamed:@"tiles"]; 14 | tiles.position = CGPointMake(40+(tiles.size.width/2), 60+(tiles.size.height/2)); 15 | tiles.name = @"tiles"; 16 | return tiles; 17 | } 18 | @end 19 | -------------------------------------------------------------------------------- /AlienDefence/TitleScene.h: -------------------------------------------------------------------------------- 1 | // 2 | // TitleScene.h 3 | // AlienDefence 4 | // 5 | // Created by Tharshan on 20/07/2014. 6 | // Copyright (c) 2014 Tharshan. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface TitleScene : SKScene 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /AlienDefence/TitleScene.m: -------------------------------------------------------------------------------- 1 | // 2 | // TitleScene.m 3 | // AlienDefence 4 | // 5 | // Created by Tharshan on 20/07/2014. 6 | // Copyright (c) 2014 Tharshan. All rights reserved. 7 | // 8 | 9 | #import "TitleScene.h" 10 | #import "GameScene.h" 11 | @implementation TitleScene 12 | 13 | -(id)initWithSize:(CGSize)size { 14 | if (self = [super initWithSize:size]) { 15 | /* Setup your scene here */ 16 | SKSpriteNode *background = [SKSpriteNode spriteNodeWithImageNamed:@"title_scene"]; 17 | background.position = CGPointMake(0, 0); 18 | background.anchorPoint = CGPointMake(0, 0); 19 | background.yScale = 0.5; 20 | background.xScale = 0.5; 21 | [self addChild:background]; 22 | } 23 | return self; 24 | } 25 | 26 | -(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 27 | GameScene *gameScene = [GameScene sceneWithSize:self.frame.size]; 28 | SKTransition *transition = [SKTransition crossFadeWithDuration:1.0]; 29 | [self.view presentScene:gameScene transition:transition]; 30 | } 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /AlienDefence/TowerNode.h: -------------------------------------------------------------------------------- 1 | // 2 | // TowerNode.h 3 | // AlienDefence 4 | // 5 | // Created by Tharshan on 20/07/2014. 6 | // Copyright (c) 2014 Tharshan. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | typedef NS_ENUM(NSUInteger, TowerType) { 12 | TowerOne = 1, 13 | TowerTwo = 2, 14 | TowerThree = 3, 15 | TowerFour = 4, 16 | TowerFive = 5 17 | }; 18 | 19 | @interface TowerNode : SKSpriteNode 20 | +(instancetype) towerOfType:(TowerType)type withLevel:(NSInteger)level; 21 | 22 | @property (nonatomic, strong) NSMutableArray *targets; 23 | @property (nonatomic) int damage; 24 | @property (nonatomic) int level; 25 | @property (nonatomic) int bulletType; 26 | @property (nonatomic, strong) UIColor *bulletColor; 27 | @property (nonatomic, strong) SKSpriteNode *bullet; 28 | @end 29 | @interface TowerNode () 30 | 31 | -(void) shootAtTarget:(SKSpriteNode*)target; 32 | -(float) getRotationWithPoint:(CGPoint)spoint endPoint:(CGPoint)epoint; 33 | -(void) damageEnemy:(SKSpriteNode*) enemy onKill:(void (^)()) killHandler; 34 | -(void) debugDrawWithScene:(SKScene*) scene; 35 | @end 36 | 37 | @interface BulletNode : SKSpriteNode 38 | +(instancetype) bulletOfType:(int) type withColor:(UIColor*) color; 39 | 40 | @end -------------------------------------------------------------------------------- /AlienDefence/TowerNode.m: -------------------------------------------------------------------------------- 1 | // 2 | // TowerNode.m 3 | // AlienDefence 4 | // 5 | // Created by Tharshan on 20/07/2014. 6 | // Copyright (c) 2014 Tharshan. All rights reserved. 7 | // 8 | 9 | #import "TowerNode.h" 10 | #import "CreepNode.h" 11 | #import "Util.h" 12 | 13 | @implementation BulletNode 14 | 15 | +(instancetype)bulletOfType:(int)type withColor:(UIColor *)color { 16 | BulletNode *bullet; 17 | bullet = [self spriteNodeWithImageNamed:[NSString stringWithFormat:@"bullet_%d", type]]; 18 | bullet.color = color; 19 | bullet.colorBlendFactor = 0.8; 20 | bullet.name = @"bullet"; 21 | bullet.anchorPoint = CGPointMake(0.5, 0.5); 22 | bullet.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:CGSizeMake(1, 1)]; 23 | bullet.physicsBody.dynamic = NO; 24 | bullet.physicsBody.categoryBitMask = CollisionMaskBullet; 25 | bullet.physicsBody.contactTestBitMask = CollisionMaskCreep; 26 | bullet.physicsBody.collisionBitMask = 0; 27 | bullet.zPosition = 0; 28 | return bullet; 29 | } 30 | 31 | @end 32 | 33 | @implementation TowerNode 34 | +(instancetype) towerOfType:(TowerType)type withLevel:(NSInteger)level{ 35 | TowerNode *tower; 36 | tower = [self spriteNodeWithImageNamed:[NSString stringWithFormat:@"turret-%d-%d",type, level]]; 37 | tower.anchorPoint = CGPointMake(0.5, 0.5); 38 | tower.name = @"tower"; 39 | tower.level = level; 40 | tower.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:50]; 41 | tower.physicsBody.dynamic = YES; 42 | tower.physicsBody.affectedByGravity = NO; 43 | tower.physicsBody.categoryBitMask = CollisionMaskTower; 44 | tower.physicsBody.contactTestBitMask = CollisionMaskCreep; 45 | tower.physicsBody.collisionBitMask = 0; 46 | tower.zPosition = 1; 47 | tower.targets = [[NSMutableArray alloc] init]; 48 | if (type == TowerOne) { 49 | tower.damage = 10; 50 | tower.bulletType = 2; 51 | tower.bulletColor = [UIColor blueColor]; 52 | }else if (type == TowerTwo) { 53 | tower.damage = 20; 54 | tower.bulletType = 3; 55 | tower.bulletColor = [UIColor greenColor]; 56 | }else if (type == TowerThree) { 57 | tower.damage = 15; 58 | tower.bulletType = 4; 59 | tower.bulletColor = [UIColor redColor]; 60 | }else if (type == TowerFour) { 61 | tower.damage = 20; 62 | tower.bulletType = 5; 63 | tower.bulletColor = [UIColor orangeColor]; 64 | } 65 | return tower; 66 | } 67 | 68 | -(void) shootAtTarget:(SKSpriteNode*)target { 69 | float angle = [self getRotationWithPoint:self.position endPoint:target.position]; 70 | SKSpriteNode *bullet = [BulletNode bulletOfType:_bulletType withColor:_bulletColor]; 71 | bullet.zRotation = angle; 72 | [self runAction:[SKAction rotateToAngle:angle duration:0] completion:^{ 73 | [self addChild:bullet]; 74 | CGPoint creepPoint = [self convertPoint:target.position fromNode:self.parent]; 75 | SKAction *move = [SKAction moveTo:creepPoint duration:0.5]; 76 | [bullet runAction:move completion:^{ 77 | [bullet removeFromParent]; 78 | }]; 79 | }]; 80 | 81 | } 82 | -(void) debugDrawWithScene:(SKScene *)scene { 83 | CGMutablePathRef circle = CGPathCreateMutable(); 84 | CGPathAddArc(circle, NULL, self.position.x, self.position.y, 50, 0, 2*M_PI, true); 85 | CGPathCloseSubpath(circle); 86 | SKShapeNode *shape = [SKShapeNode node]; 87 | shape.path = circle; 88 | shape.strokeColor = [SKColor colorWithRed:1.0 green:0 blue:0 alpha:0.2]; 89 | [scene addChild:shape]; 90 | } 91 | -(void) damageEnemy:(CreepNode*) enemy onKill:(void (^)()) killHandler { 92 | enemy.health = enemy.health - self.damage; 93 | if (enemy.health <= 0) { 94 | [enemy removeFromParent]; 95 | //NSLog(@"Creep killed"); 96 | killHandler(); 97 | } 98 | } 99 | - (float)getRotationWithPoint:(CGPoint)spoint endPoint:(CGPoint)epoint { 100 | CGPoint originPoint = CGPointMake(epoint.x - spoint.x, epoint.y - spoint.y); // get origin point to origin by subtracting end from start 101 | float bearingRadians = atan2f(originPoint.y, originPoint.x); // get bearing in radians 102 | return bearingRadians; 103 | } 104 | @end 105 | -------------------------------------------------------------------------------- /AlienDefence/Util.h: -------------------------------------------------------------------------------- 1 | // 2 | // Util.h 3 | // AlienDefence 4 | // 5 | // Created by Tharshan on 25/07/2014. 6 | // Copyright (c) 2014 Tharshan. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | typedef NS_OPTIONS(uint32_t, CollisionMask) { 13 | CollisionMaskCreep = 1 << 0, //0000 14 | CollisionMaskTower = 1 << 1, //0010 15 | CollisionMaskBullet = 1 << 2, //0100 16 | }; 17 | 18 | @interface Util : NSObject 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /AlienDefence/Util.m: -------------------------------------------------------------------------------- 1 | // 2 | // Util.m 3 | // AlienDefence 4 | // 5 | // Created by Tharshan on 25/07/2014. 6 | // Copyright (c) 2014 Tharshan. All rights reserved. 7 | // 8 | 9 | #import "Util.h" 10 | 11 | @implementation Util 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /AlienDefence/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // AlienDefence 4 | // 5 | 6 | // Copyright (c) 2014 Tharshan. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @interface ViewController : UIViewController 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /AlienDefence/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // AlienDefence 4 | // 5 | // Created by Tharshan on 18/07/2014. 6 | // Copyright (c) 2014 Tharshan. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | #import "TitleScene.h" 11 | 12 | @implementation ViewController 13 | 14 | - (void)viewWillLayoutSubviews 15 | { 16 | [super viewWillLayoutSubviews]; 17 | 18 | // Configure the view. 19 | SKView * skView = (SKView *)self.view; 20 | skView.showsFPS = YES; 21 | skView.showsNodeCount = YES; 22 | 23 | // Create and configure the scene. 24 | SKScene * scene = [TitleScene sceneWithSize:skView.bounds.size]; 25 | scene.scaleMode = SKSceneScaleModeResizeFill; 26 | 27 | // Present the scene. 28 | [skView presentScene:scene]; 29 | } 30 | 31 | - (BOOL)shouldAutorotate 32 | { 33 | return YES; 34 | } 35 | 36 | - (BOOL) prefersStatusBarHidden { 37 | return YES; 38 | } 39 | 40 | - (NSUInteger)supportedInterfaceOrientations 41 | { 42 | if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { 43 | return UIInterfaceOrientationMaskAllButUpsideDown; 44 | } else { 45 | return UIInterfaceOrientationMaskAll; 46 | } 47 | } 48 | 49 | - (void)didReceiveMemoryWarning 50 | { 51 | [super didReceiveMemoryWarning]; 52 | // Release any cached data, images, etc that aren't in use. 53 | } 54 | 55 | @end 56 | -------------------------------------------------------------------------------- /AlienDefence/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /AlienDefence/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // AlienDefence 4 | // 5 | // Created by Tharshan on 18/07/2014. 6 | // Copyright (c) 2014 Tharshan. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import "AppDelegate.h" 12 | 13 | int main(int argc, char * argv[]) 14 | { 15 | @autoreleasepool { 16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /AlienDefenceTests/AlienDefenceTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.tharshan.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /AlienDefenceTests/AlienDefenceTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // AlienDefenceTests.m 3 | // AlienDefenceTests 4 | // 5 | // Created by Tharshan on 18/07/2014. 6 | // Copyright (c) 2014 Tharshan. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AlienDefenceTests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation AlienDefenceTests 16 | 17 | - (void)setUp 18 | { 19 | [super setUp]; 20 | // Put setup code here. This method is called before the invocation of each test method in the class. 21 | } 22 | 23 | - (void)tearDown 24 | { 25 | // Put teardown code here. This method is called after the invocation of each test method in the class. 26 | [super tearDown]; 27 | } 28 | 29 | - (void)testExample 30 | { 31 | XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__); 32 | } 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /AlienDefenceTests/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /AlienDefenseDesignBoard.sketch/Data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/AlienDefenseDesignBoard.sketch/Data -------------------------------------------------------------------------------- /AlienDefenseDesignBoard.sketch/metadata: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | app 6 | com.bohemiancoding.sketch3 7 | build 8 | 8053 9 | commit 10 | 104f8b8798002207eebbbee810c02306c5ce85c9 11 | fonts 12 | 13 | OCRAStd 14 | Menlo-Regular 15 | 16 | length 17 | 859026 18 | version 19 | 37 20 | 21 | 22 | -------------------------------------------------------------------------------- /AlienDefenseDesignBoard.sketch/version: -------------------------------------------------------------------------------- 1 | 37 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | AlienDefence-iOS 2 | ================ 3 | **Tower Defence game on iOS using SpriteKit** 4 | ![Game Scene](https://github.com/viperfx/AlienDefense-iOS/raw/master/screenshots/Screenshot%202014.07.28%2017.29.43.png) 5 | 6 | Have any questions or comments? Feel free to [email me](mailto:tharshan09@gmail.com) or send me a [tweet](http://www.twitter.com/viperfx09). 7 | ##Todo 8 | * Upgrade Mechanism 9 | * Fix Bullet Rotation 10 | * Add Health Bars 11 | 12 | ###Copyright 13 | Art Assets are by [Silviu Ploisteanu](http://hirefreelanceartist.com/free-tower-defense-graphics.html) 14 | -------------------------------------------------------------------------------- /screenshots/Screenshot 2014.07.24 20.36.17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/screenshots/Screenshot 2014.07.24 20.36.17.png -------------------------------------------------------------------------------- /screenshots/Screenshot 2014.07.26 00.14.25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/screenshots/Screenshot 2014.07.26 00.14.25.png -------------------------------------------------------------------------------- /screenshots/Screenshot 2014.07.28 17.27.57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/screenshots/Screenshot 2014.07.28 17.27.57.png -------------------------------------------------------------------------------- /screenshots/Screenshot 2014.07.28 17.29.43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viperfx/AlienDefence-iOS/e9fc7b100b14160b59de909adb39aa8a4a9ed3c9/screenshots/Screenshot 2014.07.28 17.29.43.png --------------------------------------------------------------------------------