From e70e332ca359233366a1385a06b00c08f462f372 Mon Sep 17 00:00:00 2001 From: Brys1Saclaus2 Date: Thu, 4 Jun 2020 08:46:48 -0700 Subject: [PATCH] first push contained --- Contained/Contained.xcodeproj/project.pbxproj | 379 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 37072 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 6 + .../xcschemes/xcschememanagement.plist | 14 + Contained/Contained/AppDelegate.swift | 37 ++ .../AppIcon.appiconset/Contents.json | 98 +++++ .../Contained/Assets.xcassets/Contents.json | 6 + .../game_controller.imageset/Contents.json | 23 ++ .../game_controller.png | Bin 0 -> 360 bytes .../game_controller@2x.png | Bin 0 -> 654 bytes .../game_controller@3x.png | Bin 0 -> 971 bytes .../info.imageset/Contents.json | 23 ++ .../Assets.xcassets/info.imageset/info.png | Bin 0 -> 304 bytes .../Assets.xcassets/info.imageset/info@2x.png | Bin 0 -> 520 bytes .../Assets.xcassets/info.imageset/info@3x.png | Bin 0 -> 884 bytes .../settings.imageset/Contents.json | 23 ++ .../settings.imageset/settings.png | Bin 0 -> 418 bytes .../settings.imageset/settings@2x.png | Bin 0 -> 841 bytes .../settings.imageset/settings@3x.png | Bin 0 -> 1406 bytes .../Contained/Base.lproj/Infoo~.storyboard | 113 ++++++ .../Base.lproj/LaunchScreen.storyboard | 25 ++ .../Contained/Base.lproj/Main.storyboard | 141 +++++++ .../Contained/Base.lproj/Infoo.storyboard | 143 +++++++ Contained/Contained/CustomScene.swift | 51 +++ Contained/Contained/GameViewController.swift | 23 ++ Contained/Contained/Info.plist | 64 +++ Contained/Contained/InfoViewController.swift | 47 +++ Contained/Contained/SceneDelegate.swift | 53 +++ Contained/Contained/Settings.swift | 18 + .../Contained/SettingsViewController.swift | 44 ++ 32 files changed, 1346 insertions(+) create mode 100644 Contained/Contained.xcodeproj/project.pbxproj create mode 100644 Contained/Contained.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Contained/Contained.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 Contained/Contained.xcodeproj/project.xcworkspace/xcuserdata/Brys.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Contained/Contained.xcodeproj/xcuserdata/Brys.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist create mode 100644 Contained/Contained.xcodeproj/xcuserdata/Brys.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 Contained/Contained/AppDelegate.swift create mode 100644 Contained/Contained/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Contained/Contained/Assets.xcassets/Contents.json create mode 100644 Contained/Contained/Assets.xcassets/game_controller.imageset/Contents.json create mode 100644 Contained/Contained/Assets.xcassets/game_controller.imageset/game_controller.png create mode 100644 Contained/Contained/Assets.xcassets/game_controller.imageset/game_controller@2x.png create mode 100644 Contained/Contained/Assets.xcassets/game_controller.imageset/game_controller@3x.png create mode 100644 Contained/Contained/Assets.xcassets/info.imageset/Contents.json create mode 100644 Contained/Contained/Assets.xcassets/info.imageset/info.png create mode 100644 Contained/Contained/Assets.xcassets/info.imageset/info@2x.png create mode 100644 Contained/Contained/Assets.xcassets/info.imageset/info@3x.png create mode 100644 Contained/Contained/Assets.xcassets/settings.imageset/Contents.json create mode 100644 Contained/Contained/Assets.xcassets/settings.imageset/settings.png create mode 100644 Contained/Contained/Assets.xcassets/settings.imageset/settings@2x.png create mode 100644 Contained/Contained/Assets.xcassets/settings.imageset/settings@3x.png create mode 100644 Contained/Contained/Base.lproj/Infoo~.storyboard create mode 100644 Contained/Contained/Base.lproj/LaunchScreen.storyboard create mode 100644 Contained/Contained/Base.lproj/Main.storyboard create mode 100644 Contained/Contained/Contained/Base.lproj/Infoo.storyboard create mode 100644 Contained/Contained/CustomScene.swift create mode 100644 Contained/Contained/GameViewController.swift create mode 100644 Contained/Contained/Info.plist create mode 100644 Contained/Contained/InfoViewController.swift create mode 100644 Contained/Contained/SceneDelegate.swift create mode 100644 Contained/Contained/Settings.swift create mode 100644 Contained/Contained/SettingsViewController.swift diff --git a/Contained/Contained.xcodeproj/project.pbxproj b/Contained/Contained.xcodeproj/project.pbxproj new file mode 100644 index 00000000..feb2743a --- /dev/null +++ b/Contained/Contained.xcodeproj/project.pbxproj @@ -0,0 +1,379 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + 4A7A5B2B24888435007F37CB /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A7A5B2A24888435007F37CB /* AppDelegate.swift */; }; + 4A7A5B2D24888435007F37CB /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A7A5B2C24888435007F37CB /* SceneDelegate.swift */; }; + 4A7A5B3224888435007F37CB /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4A7A5B3024888435007F37CB /* Main.storyboard */; }; + 4A7A5B3424888468007F37CB /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4A7A5B3324888468007F37CB /* Assets.xcassets */; }; + 4A7A5B3724888468007F37CB /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4A7A5B3524888468007F37CB /* LaunchScreen.storyboard */; }; + 4A7A5B3F2488858D007F37CB /* Crab.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4A7A5B3E2488858D007F37CB /* Crab.xcassets */; }; + 4A7A5B41248885A9007F37CB /* SKSpriteNode+Utility.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A7A5B40248885A8007F37CB /* SKSpriteNode+Utility.swift */; }; + 4A7A5B45248886B3007F37CB /* Settings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A7A5B44248886B3007F37CB /* Settings.swift */; }; + 4A7A5B48248893BC007F37CB /* Infoo.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4A7A5B46248893BC007F37CB /* Infoo.storyboard */; }; + 4A7A5B4A248896DF007F37CB /* GameViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A7A5B49248896DF007F37CB /* GameViewController.swift */; }; + 4A7A5B4C248896EC007F37CB /* InfoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A7A5B4B248896EC007F37CB /* InfoViewController.swift */; }; + 4A7A5B4E248896F7007F37CB /* SettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A7A5B4D248896F7007F37CB /* SettingsViewController.swift */; }; + 4A7A5B532488D7F0007F37CB /* CustomScene.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A7A5B512488CA63007F37CB /* CustomScene.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 4A7A5B2724888435007F37CB /* Contained.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Contained.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 4A7A5B2A24888435007F37CB /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 4A7A5B2C24888435007F37CB /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; + 4A7A5B3124888435007F37CB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 4A7A5B3324888468007F37CB /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 4A7A5B3624888468007F37CB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 4A7A5B3824888468007F37CB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 4A7A5B3E2488858D007F37CB /* Crab.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Crab.xcassets; path = ../Crab.xcassets; sourceTree = ""; }; + 4A7A5B40248885A8007F37CB /* SKSpriteNode+Utility.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "SKSpriteNode+Utility.swift"; path = "../../SKSpriteNode+Utility.swift"; sourceTree = ""; }; + 4A7A5B44248886B3007F37CB /* Settings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Settings.swift; sourceTree = ""; }; + 4A7A5B47248893BC007F37CB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Contained/Base.lproj/Infoo.storyboard; sourceTree = ""; }; + 4A7A5B49248896DF007F37CB /* GameViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameViewController.swift; sourceTree = ""; }; + 4A7A5B4B248896EC007F37CB /* InfoViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InfoViewController.swift; sourceTree = ""; }; + 4A7A5B4D248896F7007F37CB /* SettingsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsViewController.swift; sourceTree = ""; }; + 4A7A5B512488CA63007F37CB /* CustomScene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomScene.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 4A7A5B2424888434007F37CB /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 4A7A5B1E24888434007F37CB = { + isa = PBXGroup; + children = ( + 4A7A5B2924888435007F37CB /* Contained */, + 4A7A5B2824888435007F37CB /* Products */, + 4A7A5B3E2488858D007F37CB /* Crab.xcassets */, + ); + sourceTree = ""; + }; + 4A7A5B2824888435007F37CB /* Products */ = { + isa = PBXGroup; + children = ( + 4A7A5B2724888435007F37CB /* Contained.app */, + ); + name = Products; + sourceTree = ""; + }; + 4A7A5B2924888435007F37CB /* Contained */ = { + isa = PBXGroup; + children = ( + 4A7A5B512488CA63007F37CB /* CustomScene.swift */, + 4A7A5B46248893BC007F37CB /* Infoo.storyboard */, + 4A7A5B2A24888435007F37CB /* AppDelegate.swift */, + 4A7A5B2C24888435007F37CB /* SceneDelegate.swift */, + 4A7A5B3024888435007F37CB /* Main.storyboard */, + 4A7A5B49248896DF007F37CB /* GameViewController.swift */, + 4A7A5B4B248896EC007F37CB /* InfoViewController.swift */, + 4A7A5B4D248896F7007F37CB /* SettingsViewController.swift */, + 4A7A5B44248886B3007F37CB /* Settings.swift */, + 4A7A5B3324888468007F37CB /* Assets.xcassets */, + 4A7A5B3524888468007F37CB /* LaunchScreen.storyboard */, + 4A7A5B3824888468007F37CB /* Info.plist */, + 4A7A5B40248885A8007F37CB /* SKSpriteNode+Utility.swift */, + ); + path = Contained; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 4A7A5B2624888434007F37CB /* Contained */ = { + isa = PBXNativeTarget; + buildConfigurationList = 4A7A5B3B24888468007F37CB /* Build configuration list for PBXNativeTarget "Contained" */; + buildPhases = ( + 4A7A5B2324888434007F37CB /* Sources */, + 4A7A5B2424888434007F37CB /* Frameworks */, + 4A7A5B2524888434007F37CB /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Contained; + productName = Contained; + productReference = 4A7A5B2724888435007F37CB /* Contained.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 4A7A5B1F24888434007F37CB /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1150; + LastUpgradeCheck = 1150; + ORGANIZATIONNAME = "Lambda School"; + TargetAttributes = { + 4A7A5B2624888434007F37CB = { + CreatedOnToolsVersion = 11.5; + }; + }; + }; + buildConfigurationList = 4A7A5B2224888434007F37CB /* Build configuration list for PBXProject "Contained" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 4A7A5B1E24888434007F37CB; + productRefGroup = 4A7A5B2824888435007F37CB /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 4A7A5B2624888434007F37CB /* Contained */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 4A7A5B2524888434007F37CB /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4A7A5B3724888468007F37CB /* LaunchScreen.storyboard in Resources */, + 4A7A5B3F2488858D007F37CB /* Crab.xcassets in Resources */, + 4A7A5B48248893BC007F37CB /* Infoo.storyboard in Resources */, + 4A7A5B3424888468007F37CB /* Assets.xcassets in Resources */, + 4A7A5B3224888435007F37CB /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 4A7A5B2324888434007F37CB /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4A7A5B532488D7F0007F37CB /* CustomScene.swift in Sources */, + 4A7A5B4A248896DF007F37CB /* GameViewController.swift in Sources */, + 4A7A5B41248885A9007F37CB /* SKSpriteNode+Utility.swift in Sources */, + 4A7A5B4E248896F7007F37CB /* SettingsViewController.swift in Sources */, + 4A7A5B2B24888435007F37CB /* AppDelegate.swift in Sources */, + 4A7A5B45248886B3007F37CB /* Settings.swift in Sources */, + 4A7A5B4C248896EC007F37CB /* InfoViewController.swift in Sources */, + 4A7A5B2D24888435007F37CB /* SceneDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 4A7A5B3024888435007F37CB /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 4A7A5B3124888435007F37CB /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 4A7A5B3524888468007F37CB /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 4A7A5B3624888468007F37CB /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; + 4A7A5B46248893BC007F37CB /* Infoo.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 4A7A5B47248893BC007F37CB /* Base */, + ); + name = Infoo.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 4A7A5B3924888468007F37CB /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.5; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 4A7A5B3A24888468007F37CB /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.5; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 4A7A5B3C24888468007F37CB /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 2S8MH4C36K; + INFOPLIST_FILE = Contained/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.LambdaSchool.Contained; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 4A7A5B3D24888468007F37CB /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 2S8MH4C36K; + INFOPLIST_FILE = Contained/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.LambdaSchool.Contained; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 4A7A5B2224888434007F37CB /* Build configuration list for PBXProject "Contained" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4A7A5B3924888468007F37CB /* Debug */, + 4A7A5B3A24888468007F37CB /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 4A7A5B3B24888468007F37CB /* Build configuration list for PBXNativeTarget "Contained" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4A7A5B3C24888468007F37CB /* Debug */, + 4A7A5B3D24888468007F37CB /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 4A7A5B1F24888434007F37CB /* Project object */; +} diff --git a/Contained/Contained.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Contained/Contained.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..078aecf1 --- /dev/null +++ b/Contained/Contained.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Contained/Contained.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Contained/Contained.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/Contained/Contained.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Contained/Contained.xcodeproj/project.xcworkspace/xcuserdata/Brys.xcuserdatad/UserInterfaceState.xcuserstate b/Contained/Contained.xcodeproj/project.xcworkspace/xcuserdata/Brys.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..d9d133131713448a1b9fc1a8ccfa911b0b8ed49d GIT binary patch literal 37072 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 F-oJRNQU3q{ literal 0 HcmV?d00001 diff --git a/Contained/Contained.xcodeproj/xcuserdata/Brys.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Contained/Contained.xcodeproj/xcuserdata/Brys.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 00000000..69723bbe --- /dev/null +++ b/Contained/Contained.xcodeproj/xcuserdata/Brys.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,6 @@ + + + diff --git a/Contained/Contained.xcodeproj/xcuserdata/Brys.xcuserdatad/xcschemes/xcschememanagement.plist b/Contained/Contained.xcodeproj/xcuserdata/Brys.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 00000000..c9bbbbdc --- /dev/null +++ b/Contained/Contained.xcodeproj/xcuserdata/Brys.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + Contained.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/Contained/Contained/AppDelegate.swift b/Contained/Contained/AppDelegate.swift new file mode 100644 index 00000000..491b85e5 --- /dev/null +++ b/Contained/Contained/AppDelegate.swift @@ -0,0 +1,37 @@ +// +// AppDelegate.swift +// Contained +// +// Created by B$hady on 6/3/20. +// Copyright © 2020 Lambda School. All rights reserved. +// + +import UIKit + +@UIApplicationMain +class AppDelegate: UIResponder, UIApplicationDelegate { + + + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + // Override point for customization after application launch. + return true + } + + // MARK: UISceneSession Lifecycle + + func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { + // Called when a new scene session is being created. + // Use this method to select a configuration to create the new scene with. + return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) + } + + func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) { + // Called when the user discards a scene session. + // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. + // Use this method to release any resources that were specific to the discarded scenes, as they will not return. + } + + +} + diff --git a/Contained/Contained/Assets.xcassets/AppIcon.appiconset/Contents.json b/Contained/Contained/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..9221b9bb --- /dev/null +++ b/Contained/Contained/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,98 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "20x20" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "20x20" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "29x29" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "29x29" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "40x40" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "40x40" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "20x20" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "20x20" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "29x29" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "29x29" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "40x40" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "40x40" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "76x76" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "76x76" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "83.5x83.5" + }, + { + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Contained/Contained/Assets.xcassets/Contents.json b/Contained/Contained/Assets.xcassets/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/Contained/Contained/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Contained/Contained/Assets.xcassets/game_controller.imageset/Contents.json b/Contained/Contained/Assets.xcassets/game_controller.imageset/Contents.json new file mode 100644 index 00000000..3749084c --- /dev/null +++ b/Contained/Contained/Assets.xcassets/game_controller.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "game_controller.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "game_controller@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "game_controller@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Contained/Contained/Assets.xcassets/game_controller.imageset/game_controller.png b/Contained/Contained/Assets.xcassets/game_controller.imageset/game_controller.png new file mode 100644 index 0000000000000000000000000000000000000000..df0891d50a57cd2afb5874ad0f7916e39de8f438 GIT binary patch literal 360 zcmV-u0hj)XP)np)db4V1*t^4gE2SiO}~kOZBdf%bj(LGpBgUwF@#0D0000ENo2MkOM*nkb#fDPDy4cLGU zxG5Q5V-h0r00aPh(eoHGeo;>K31BO~V*ooDZvn*2ysK?%mCFMWouL9z55W74H)$<@ zL@c^x=2-nSGZ(4=t^k|>a7*16u7*awv9kZ&KE{x&4a;(d8!IavW zd6|oq?5x)^mu3L-T$h%^KxI&cP`GCvW&n#K;HbsGu6aKy%ELj0*qCMgZhbCxC@H&C zT3(cxE+u6bHOzA95dD=f>v}lpG4SM~^FT!303Le^d|>9MG;ps!*kWe-cWG&c4MGOj zE*+*zi>zzTxnX8%LIG@Q+P2Pe>1B-xzZ%Ztp{(I5%e?EMONn^QdOLV+mD2aPP1rY;HMREbkZPUg^@TM%9YfJ^ZveWMeMJ+`bMD7c`Ypme)YU$+ oFX9c@fDPDy4cLGU*nk_7Uq9BL|H>-OzW@LL07*qoM6N<$f;NF6j{pDw literal 0 HcmV?d00001 diff --git a/Contained/Contained/Assets.xcassets/game_controller.imageset/game_controller@3x.png b/Contained/Contained/Assets.xcassets/game_controller.imageset/game_controller@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..3b8ac924c7ab8329e2c3ddac51b32426588e423d GIT binary patch literal 971 zcmV;+12p`JP)bKoEuB7-~bAn0XH6Y6pxx1Vt*V22y0Fq#ExgS^ax1=np3M#$Mh=8C8nj&a| zCTNPF37R5kf+lE+pb45HXo4nailC22U#1#ZL<#@}fEj?&eO$WtZ?7)`5Bm?m+P!YK zUa#HzMpc_h=9_XWOGK(Ikj0i=O}xN10GcgZ187xsl{IJw^bKN_3Cy7vVfA()OfG<` z2Af-@cK}`h=!w{ioAWG+Sp?*{^LKip)&iI(1r1iqWkJY$b>Z09q<13n0^mEj?$vKqy|e<&8}zzUWEt!_MC2z?dKGMg zee@+!_NuS|{ev8PRa$^9$#FQN-e4#qEmOPxd|Fj!(JR{Zj0xEzpLVRGT?gHUk^4vq z`Vqjjv&W19S)FIumuz=6l4`^?TWZ5&rL;QboV~kucx@!b3|j3uR+S-W%kylySoXP& zsO_i&TR-az-9~G8tg9#=?Ne3;!f!JKeZS|kyA-AP*@BsJ91^` zmR&?=BSBe5Upbj5YUh+)v;zWS;q9a0zvE5U;kh$@X!7@=K_&ulIZ-ey1A}4cdESSB z9t2>Z-ygjUkH{{9zvb4Y_h$p0q9@aYfYuWMount@m33H@-Xc<_F6lGub#%`4EK%ug z+C%s(y^cAY)2Gvi2^GT@6N}bbA`M$-)F=5E<002ovPDHLkV1h8mxV-=X literal 0 HcmV?d00001 diff --git a/Contained/Contained/Assets.xcassets/info.imageset/Contents.json b/Contained/Contained/Assets.xcassets/info.imageset/Contents.json new file mode 100644 index 00000000..0a927f68 --- /dev/null +++ b/Contained/Contained/Assets.xcassets/info.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "info.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "info@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "info@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Contained/Contained/Assets.xcassets/info.imageset/info.png b/Contained/Contained/Assets.xcassets/info.imageset/info.png new file mode 100644 index 0000000000000000000000000000000000000000..64c0cb1e8fcd6f3b4c43af1943ebdf7fb0b76ebc GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX1|+Qw)-3{3oCO|{#S9GGLLkg|>2BR0px`4< z7sn8f<8P;56l_u8aVgI|BDRjjYk`UP0v7KLB5xj8o%mZ|EYl~EVDZPm__yk0^@$rM zDm4ijCI;M*_qjBwM8($A^T}c3)oR@yVGKMB{0>t-F`P-g$NeIR!DnkoBjXOX7vbwT z?(7J@dhYzbm1+;IJvLv4SIFhakXag+PYI` zZ>V^bmGTHCevZ{u>Jhem7s7SVdeb+Viq{&yx&OiTho?+Z@tEQ$d@t>&trrSy;s%+svuQM=sy85}Sb4q9e0Ou!o An%OBKeVnp2UxQoFC5^Y7&sX4t0Fe^OWc~8Y-QV2Y;D;@=kc=Tj{(OzeYgF&piMy zz>kr??gkuzx5+%+%#sfG+8VHlMh)zf&pRRD!oA8e8AqU46lkCVnv5XdM*~zT7>pXD zJr38v@65BWPoNw#es4yETzaaNJ7oMG&wkJISqwc?*i1(?ix{2Rg4cVY%o_AUAddoD zkQ2dHOimQDhk#rz81j9TljhN$C!Z7aDyFs@u#3sFWAo^G1(5MMMs)x;5#C%)P>kGw zKR#}$iyEJEx`M?UM5%ihRR)W2)3*^dmsGCGDC0RM0qyD(uo%`8+V)P+# zY&;Ki&5(8&busjG?pg1&d3F|~WgUkJCbb*rnrXedV|Y9k&rNoq<)qu^&|1B z36va>99ufcOizcJ83Aq>K+;E&nGcE)<|>(a&$GRndd;-3xdE?cwi{hnTC&Cq(~n-e zP`9M#Q_WXDrm!N=-+1~S{XB>)yYx;b&;l*cGJzIonLrElLhT>nUfJc#3-eU~0000< KMNUMnLSTYkWtI~F literal 0 HcmV?d00001 diff --git a/Contained/Contained/Assets.xcassets/settings.imageset/Contents.json b/Contained/Contained/Assets.xcassets/settings.imageset/Contents.json new file mode 100644 index 00000000..e30c46c5 --- /dev/null +++ b/Contained/Contained/Assets.xcassets/settings.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "settings.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "settings@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "settings@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Contained/Contained/Assets.xcassets/settings.imageset/settings.png b/Contained/Contained/Assets.xcassets/settings.imageset/settings.png new file mode 100644 index 0000000000000000000000000000000000000000..8f712b18c2139cb1ff24e2041cdaac6e3de94e2b GIT binary patch literal 418 zcmV;T0bTxyP)8=4)lNrMjH=+ zS|9A&Xqdie&qCsPMU?Av$(|B&E;CtULk}##snCe;KnvW={;I0J$ket_AJp3r$Ma5S zRNw`;nk6u0t@**}N6uwtjwzTTYaB2I@J-ga?9{WVSugH4p4?<2V7=Dco_&zmPV8d} zH}gv-3PQ>~;9`o$B=}xUmmm&_7?W|F0^9szb8qWI1#ovFa{qYP5O)QkHbjWK6fXB) z+Q_Egjp?t5sFt1To4U4h9Uo4$FOcJ}%%hV;EG@c3TKo`^Zbw>ld(z^s7Xp8)^f{u~ zE4?yjQ*u#N0nV$rvwgc5W-hAJOP??z;?^d+74xdv$1o2e{x@%@Pug!Kwh8el`2YX_ M07*qoM6N<$f}UQspa1{> literal 0 HcmV?d00001 diff --git a/Contained/Contained/Assets.xcassets/settings.imageset/settings@2x.png b/Contained/Contained/Assets.xcassets/settings.imageset/settings@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..5ed4658a4858cc94a72fafdc82def04509dbbe7f GIT binary patch literal 841 zcmV-P1GfB$P)ym}u;v&5PZ4{|cuKr$r_dL{{yPpjtYCjL z+da(EkOJ-^qqcV9{>7Yt%L|8F0KZbDFgUN8Anj7Jr}tXoK>r*L77VruTs`ls@)p4F z(cCK$?IM#A&9)yp_c(~=3IIJ3S&aE41i-rhKd0n-IAAw@0)wYS2i8mc$&el<+<_(~Lm{FQfPykC7ydO;%#NxdoRRqPc8TUm?nKL)e&a+Ln$@qbE%d*h)V&-HkUjxJx@Y%ah|7QPo5v{- T#eW+l00000NkvXXu0mjffUtMC literal 0 HcmV?d00001 diff --git a/Contained/Contained/Assets.xcassets/settings.imageset/settings@3x.png b/Contained/Contained/Assets.xcassets/settings.imageset/settings@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..674bea76318a3b8df628dd1a44c78736cf55507d GIT binary patch literal 1406 zcmV-^1%djBP)xbr9w~ z56tuB0q%gVAan(x3&`v}+-gRnBSDZ@fZ!RJ!PsMy;_k=Q;@cmP#LUPe{P-zDkb%xX z=aGTVKxd#gGKgqTM23i1rXiyJX5`-ry(1z6;OXwq&&*t8pzXk&02}}`%-lH~KPV_O zlf$_O00n>^fMMo7y28vHbqcs00KS=}!#O-M4-@B>cgJ^A=LFGv1)!U`fDM4jm(8^B$r~v#j za{LQ3AAfWoeYRL06uLX4e>L8&kJ>ox)}EO@rSpL-ix6u9>x-c_>33%>`r{;7=ySb zjY7##crS>GiK1S~XExVWf8oMhT0-x+v)4*MX-0e(CFKgmn_qj%a!D~V)biCArPM;l z%q4&a0MDzhKZ+JTm%{zOB=zYbU%9}&bxEa37X%|MfZr#4<30e`$AN$(N&-qt__-kO z4p?1k#U=QT zgEzgKDD}Hcqd*U*0)Dpl#-4fB{IM6GC9bzrNW8?HBV zSdnG}j5j@Vu&iSuR^0>-SSG&W-rYbG$tkl^7nL^?3Rwkj7M^#O;_1+MlIF?b0@|e~;>D*T!ORz_Y>d_T{v)EEh-zuc)#BB?<+^@-A%Q9> z7X^Rmx)$`Bi=<-#V|L}m$)btqKt$z?=9f;vx(t9X4u|dl7)8tOW?Zv$zV1ZQWog8u zRgU^A;eL?s7?CZg3KfcuJt3Vux*wr;rUa@3pCBbUm93^s~qHw0Q2@ z#&CWf+hJw{`s4|=#`tGTAPZ*mTn97v%v{Jmz6Sum0(eynYFx(08J7RR%;Y-({N{Mg zSHa|ZU3=SD4pi}7t`*YQY1 z`=$8~BC0Un8Tu;Vsxuo&Ry{gm5Im`59FIGBC~M2!RRQ;MpOi5O&Z8FtEgdUk|c@mnqzE)k3(cQw!|a3vckP5xkp9nMyUk3*5Vx z&SL0sa||~83a2f-{q25FjdjmRa)y%MIh!py1D!_(Is=`7&LhhB3WE+|etK?AQvd(} M07*qoM6N<$f=*|ahX4Qo literal 0 HcmV?d00001 diff --git a/Contained/Contained/Base.lproj/Infoo~.storyboard b/Contained/Contained/Base.lproj/Infoo~.storyboard new file mode 100644 index 00000000..479b4bfa --- /dev/null +++ b/Contained/Contained/Base.lproj/Infoo~.storyboard @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Contained/Contained/Base.lproj/LaunchScreen.storyboard b/Contained/Contained/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 00000000..865e9329 --- /dev/null +++ b/Contained/Contained/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Contained/Contained/Base.lproj/Main.storyboard b/Contained/Contained/Base.lproj/Main.storyboard new file mode 100644 index 00000000..ae9dd246 --- /dev/null +++ b/Contained/Contained/Base.lproj/Main.storyboard @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Contained/Contained/Contained/Base.lproj/Infoo.storyboard b/Contained/Contained/Contained/Base.lproj/Infoo.storyboard new file mode 100644 index 00000000..301eabc3 --- /dev/null +++ b/Contained/Contained/Contained/Base.lproj/Infoo.storyboard @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Contained/Contained/CustomScene.swift b/Contained/Contained/CustomScene.swift new file mode 100644 index 00000000..3eacc289 --- /dev/null +++ b/Contained/Contained/CustomScene.swift @@ -0,0 +1,51 @@ +// +// CustomScene.swift +// Contained +// +// Created by B$hady on 6/3/20. +// Copyright © 2020 Lambda School. All rights reserved. +// + +import SpriteKit + +class CustomScene: SKScene { + let crab = SKSpriteNode() + + // Add and center child, initializing animation sequence + override func sceneDidLoad() { + super.sceneDidLoad() + addChild(crab) + crab.loadTextures(named: "HappyCrab", forKey: SKSpriteNode.textureKey) + crab.position = CGPoint(x: frame.midX, y: frame.midY) + } + + // Move to touch + public override func touchesBegan(_ touches: Set, with event: UIEvent?) { + + // Fetch a touch or leave + guard !touches.isEmpty, let touch = touches.first else { return } + + // Retrieve position + let position = touch.location(in: self) + + // Create move action + let actionDuration = 1.0 + let moveAction = SKAction.move(to: position, duration: actionDuration) + + let rollAction = SKAction.rotate(byAngle: CGFloat.pi * 2, duration: actionDuration) + let zoomAction = SKAction.scale(by: 1.3, duration: 0.3) + let unzoomAction = SKAction.scale(to: 1.0, duration: 0.1) + + switch Settings.shared.shouldZoom { + case false: + crab.run(moveAction) + case true: + let sequenceAction = SKAction.sequence([zoomAction, moveAction, unzoomAction]) + crab.run(sequenceAction) + } + + if Settings.shared.shouldRoll { + crab.run(rollAction) + } + } +} diff --git a/Contained/Contained/GameViewController.swift b/Contained/Contained/GameViewController.swift new file mode 100644 index 00000000..929ebf8a --- /dev/null +++ b/Contained/Contained/GameViewController.swift @@ -0,0 +1,23 @@ +// +// GameViewViewController.swift +// Contained +// +// Created by B$hady on 6/3/20. +// Copyright © 2020 Lambda School. All rights reserved. +// + +import UIKit +import SpriteKit + +class GameViewController: UIViewController { + + @IBOutlet weak var skview: SKView! + + var skscene: CustomScene? = nil + + override func viewDidAppear(_ animated: Bool) { + super.viewDidAppear(animated) + skscene = CustomScene(size: view.bounds.size) + skview.presentScene(skscene) + } +} diff --git a/Contained/Contained/Info.plist b/Contained/Contained/Info.plist new file mode 100644 index 00000000..2a3483c0 --- /dev/null +++ b/Contained/Contained/Info.plist @@ -0,0 +1,64 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/Contained/Contained/InfoViewController.swift b/Contained/Contained/InfoViewController.swift new file mode 100644 index 00000000..a1e90387 --- /dev/null +++ b/Contained/Contained/InfoViewController.swift @@ -0,0 +1,47 @@ +// +// InfoViewController.swift +// Contained +// +// Created by B$hady on 6/3/20. +// Copyright © 2020 Lambda School. All rights reserved. +// + +import UIKit + +class InfoViewController: UIViewController { + + @IBAction func DontButton(_ sender: Any) { + navigationController?.popToRootViewController(animated: true) + } + + + + + + + + override func viewDidLoad() { + super.viewDidLoad() + + + + + + + + + + } + + + /* + // MARK: - Navigation + + // In a storyboard-based application, you will often want to do a little preparation before navigation + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { + // Get the new view controller using segue.destination. + // Pass the selected object to the new view controller. + } + */ + +} diff --git a/Contained/Contained/SceneDelegate.swift b/Contained/Contained/SceneDelegate.swift new file mode 100644 index 00000000..64280ea3 --- /dev/null +++ b/Contained/Contained/SceneDelegate.swift @@ -0,0 +1,53 @@ +// +// SceneDelegate.swift +// Contained +// +// Created by B$hady on 6/3/20. +// Copyright © 2020 Lambda School. All rights reserved. +// + +import UIKit + +class SceneDelegate: UIResponder, UIWindowSceneDelegate { + + var window: UIWindow? + + + func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { + // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`. + // If using a storyboard, the `window` property will automatically be initialized and attached to the scene. + // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead). + guard let _ = (scene as? UIWindowScene) else { return } + } + + func sceneDidDisconnect(_ scene: UIScene) { + // Called as the scene is being released by the system. + // This occurs shortly after the scene enters the background, or when its session is discarded. + // Release any resources associated with this scene that can be re-created the next time the scene connects. + // The scene may re-connect later, as its session was not neccessarily discarded (see `application:didDiscardSceneSessions` instead). + } + + func sceneDidBecomeActive(_ scene: UIScene) { + // Called when the scene has moved from an inactive state to an active state. + // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive. + } + + func sceneWillResignActive(_ scene: UIScene) { + // Called when the scene will move from an active state to an inactive state. + // This may occur due to temporary interruptions (ex. an incoming phone call). + } + + func sceneWillEnterForeground(_ scene: UIScene) { + // Called as the scene transitions from the background to the foreground. + // Use this method to undo the changes made on entering the background. + } + + func sceneDidEnterBackground(_ scene: UIScene) { + // Called as the scene transitions from the foreground to the background. + // Use this method to save data, release shared resources, and store enough scene-specific state information + // to restore the scene back to its current state. + } + + +} + diff --git a/Contained/Contained/Settings.swift b/Contained/Contained/Settings.swift new file mode 100644 index 00000000..abfe9698 --- /dev/null +++ b/Contained/Contained/Settings.swift @@ -0,0 +1,18 @@ +// +// Settings.swift +// Contained +// +// Created by B$hady on 6/3/20. +// Copyright © 2020 Lambda School. All rights reserved. +// + + +import Foundation + +class Settings { + static let shared = Settings() + private init() {} + + var shouldRoll = false + var shouldZoom = false +} diff --git a/Contained/Contained/SettingsViewController.swift b/Contained/Contained/SettingsViewController.swift new file mode 100644 index 00000000..12cae6f2 --- /dev/null +++ b/Contained/Contained/SettingsViewController.swift @@ -0,0 +1,44 @@ +// +// SettingsViewController.swift +// Contained +// +// Created by B$hady on 6/3/20. +// Copyright © 2020 Lambda School. All rights reserved. +// + +import UIKit + +class SettingsViewController: UIViewController { + + + + @IBAction func toggleroll(_ sender: UISwitch) { + Settings.shared.shouldRoll = sender.isOn + } + + + @IBAction func toggleZoom(_ sender: UISwitch) { + Settings.shared.shouldZoom = sender.isOn + } + + + + + override func viewDidLoad() { + super.viewDidLoad() + + // Do any additional setup after loading the view. + } + + + /* + // MARK: - Navigation + + // In a storyboard-based application, you will often want to do a little preparation before navigation + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { + // Get the new view controller using segue.destination. + // Pass the selected object to the new view controller. + } + */ + +}