Beispiel #1
0
        private void Start()
        {
            playerMonoBehaviour = playerMonoBehaviour ?? GameObject.FindObjectOfType <PlayerMonoBehaviour>();
            obstacleManager     = GetComponent <ObstacleManager>();
            // TODO
            Vector3 destinationPosition = FindDestinationPoint();

            directionTransform = uiDirection.transform as RectTransform;

            var directionArrowUi = new UiDirectionArrow(
                directionTransform,
                destinationObj.transform,
                playerMonoBehaviour.PlayerModel,
                Screen.width,
                Screen.height / 5);
            var textUiManager = new UiTextManager(playerMonoBehaviour.PlayerModel, uiTimeText, uiHappinessText);

            uiManager     = new UiManager(textUiManager, directionArrowUi);
            ScreenManager = new ScreenManager(screens);

            saver       = new BinarySaver();
            SavedScores = saver.Load <Scores>() ?? new Scores();

            FillStates();
            SetGameState(gameStateType);

            //TODO: Assert game states - to have all value implemented
            Debug.Log("End of Start method");
        }
Beispiel #2
0
 public void SetSaver(ISaver saver)
 {
     _saver = saver;
     foreach (var save in _saver.GetAll)
     {
         var sceneData = _saver.Load(save);
         Add(sceneData.Info);
     }
 }
Beispiel #3
0
 public void Load()
 {
     foreach (var data in _datas)
     {
         if (data is IUpdatable)
         {
             ControllersUpdater.RemoveUpdate((IUpdatable)data);
         }
         var item = data;
         _saver.Load(ref item, _folderPath);
     }
     Loaded.Invoke();
 }
        public AllLevels GetLevels(ISaver saver, Preset[] levelPresets)
        {
            int lastID = -1;

            LevelParameters[]         param = new LevelParameters[levelPresets.Length];
            SavingParametersContainer spc;
            bool hasData = saver != null && saver.HasData();

            if (hasData)
            {
                spc = saver.Load();
            }
            else
            {
                spc = new SavingParametersContainer();
                spc.SavingParameters = new SavingParameters[0];
            }

            bool find = false;

            for (int i = 0; i < param.Length; ++i)
            {
                param[i]        = new LevelParameters();
                param[i].Preset = levelPresets[i];
                find            = false;
                for (int j = 0; j < spc.SavingParameters.Length; ++j)
                {
                    if (spc.SavingParameters[j].ID == param[i].Preset.ID)
                    {
                        param[i].SavedParameters = spc.SavingParameters[j];
                        find = true;
                        break;
                    }
                }
                if (!find)
                {
                    param[i].SavedParameters = GenerateLevel(param[i].Preset.ID);
                }
                if (lastID < param[i].Preset.ID)
                {
                    lastID = param[i].Preset.ID;
                }
            }
            if (!hasData)
            {
                SetFirstOpen(param);
            }
            return(new AllLevels(param, lastID));
        }
Beispiel #5
0
    private void OnLoadRequested(string save)
    {
        var sceneData = _saver.Load(save);

        foreach (var item in sceneData.Items)
        {
            foreach (var obj in _objects)
            {
                if (obj.Id == item.Id)
                {
                    obj.Set(new InteractableData()
                    {
                        Position = item.Position,
                        Rotation = item.Rotation
                    });
                }
            }
        }
    }
 protected T Load <T>(string fileName) where T : class
 {
     return(saver.Load <T>(fileName));
 }