Пример #1
0
 void Start()
 {
     interactionController = GetComponent <InteractionController>();
     GameEventMessage.AddListener((GameEventMessage message) => onGameMessage(message.EventName));
     if (SaveGameSystem.DoesSaveGameExist(saveGameName))
     {
         var success = loadIsland();
         if (!success)
         {
             Debug.Log("failed to load saved island");
             onWinterSettingsSelected();
             spawnInitialSheep();
             startGameButton.text = "Start";
         }
         else
         {
             SheepAgent[] allSheep = FindObjectsOfType <SheepAgent>();
             if (allSheep.Length == initialSheepCount)
             {
                 startGameButton.text = "Start";
             }
             else
             {
                 startGameButton.text = "Continue";
             }
         }
     }
     else
     {
         onWinterSettingsSelected();
         spawnInitialSheep();
         startGameButton.text = "Start";
     }
 }
Пример #2
0
        private bool loadIsland()
        {
            var saveGame = SaveGameSystem.LoadGame(saveGameName);

            if (saveGame == null)
            {
                return(false);
            }

            try {
                foreach (var value in saveGame.sheepData)
                {
                    spawnSheep(value.level, value.voice);
                }
                isSpring = saveGame.isSpring;
                if (isSpring)
                {
                    onSpringSettingsSelected();
                }
                else
                {
                    onWinterSettingsSelected();
                }
            } catch (NullReferenceException e) {
                Debug.Log("invalid save file");
                SaveGameSystem.DeleteSaveGame(saveGameName);
                return(false);
            }

            return(true);
        }
Пример #3
0
        void Start()
        {
            interactionController = GetComponent <InteractionController>();
            uiController          = GetComponent <UIController>();
            worldManager          = GetComponent <WorldManager>();

            bool saveLoaded = false;

            if (SaveGameSystem.DoesSaveGameExist(saveGameName))
            {
                Debug.Log("Loading save");
                saveLoaded = loadIsland();
                if (!saveLoaded)
                {
                    Debug.Log("failed to load saved island");
                }
            }

            if (!saveLoaded)
            {
                Debug.Log("Creating new island");
                initialiseWorld();
            }
            uiController.setSaveGameExists(saveLoaded);

            // TODO: port ui controls over from sheep isle
            // GameEventMessage.AddListener((GameEventMessage message) => onGameMessage(message.EventName));
        }
Пример #4
0
        private bool saveIsland()
        {
            SheepAgent[]         allSheep    = FindObjectsOfType <SheepAgent>();
            SaveGame.SheepData[] sheepLevels = allSheep.Select(sheep => new SaveGame.SheepData(sheep.foodEaten, sheep.getVoice())).ToArray();
            SaveGame             saveGame    = new SaveGame();

            saveGame.sheepData = sheepLevels;
            return(SaveGameSystem.SaveGame(saveGame, saveGameName));
        }
Пример #5
0
        private bool loadIsland()
        {
            // TODO: restore entire world from save
            var saveGame = SaveGameSystem.LoadGame(saveGameName);

            if (saveGame == null)
            {
                return(false);
            }

            try {
                foreach (var value in saveGame.sheepData)
                {
                    // spawnSheep(value.level, value.voice);
                }
            } catch (NullReferenceException) {
                Debug.Log("invalid save file");
                SaveGameSystem.DeleteSaveGame(saveGameName);
                return(false);
            }

            return(true);
        }