public void UpdateData(StatAdapter adapter) { Validate(); _adapter = adapter; SetDataDefault(); SetDataCurrent(); SubscribeDataDefault(); SubscribeDataCurrent(); }
private void SetNextLevelIfExists(StatAdapter adapter) { var nextLevelNumber = Adapter.GetValue(NamesPlayerStats.CURRENT_GAME_LEVEL) + 1; if (LevelManager.IsExistingLevel(nextLevelNumber)) { Adapter.updateByKey(NamesPlayerStats.CURRENT_GAME_LEVEL, nextLevelNumber); } else { Debug.LogWarning("Level [" + nextLevelNumber + "] doesn't exist. Last level number is [" + LevelManager.LastLevelNumber() + "]. \n No changes provided to [" + NamesPlayerStats.CURRENT_GAME_LEVEL + "]"); } }
private void Awake() { //TODO: Redo ISceneDecoratorConfig c = new SceneDecoratorConfig(); int number = Random.Range(0, 4); c.SetTextureLoadPath(backgroundTexturePath + backgroundTextureName + number); c.SetNameBackground("Background"); sceneDecorator = new SceneDecorator(c); sceneDecorator.Decorate();//TODO: Redo Instance = this; PlayerDataManager = GetComponent<RootPlayerDataManager>(); Adapter = SaveLoadManager.FilledAdapter; // Load and fill adapter from savegame data RecalculateAll(Adapter); // recalculating all variables to be up-to-date UpdatePlayerStatus(); // Updates player status }
private static Dictionary<string, int> LoadDataFromFile(StatAdapter adapter) { // Загружаем необходимые данные из файла сохранений Dictionary<string, int> data; if (ES2.Exists(_fileName)) { data = ES2.LoadDictionary<string, int>(_fileName + _separator + adapter.Data_ID); } else { Save(adapter); // if doesn't exist - save new clean copy data = adapter.AllData(); Debug.Log(adapter.Data_ID + " could not be loaded. No such dictionary in file."); } return data; }
public static void UpdateAdapterData(StatAdapter adapter) { InGameWorldVariable v = null; if (_sceneVariables.TryGetValue(NamesPlayerStats.EXPERIENCE, out v)) { Debug.Log("Updating Experience"); adapter.updateByKey(NamesPlayerStats.EXPERIENCE, v.CurrentIntValue); } // //if (_sceneVariables.TryGetValue(StatNames.PlayerLevel, out v)) // //{ // // ad.updateByKey(StatNames.PlayerLevel, v.CurrentIntValue); // //} // // //int nextLevelToLoad = LevelSettings.CurrentGameLevel + 1; // //ad.updateByKey(StatNames.CurrentGameLevel, nextLevelToLoad); }
public static void SetupVariables(StatAdapter adapter) { var names = adapter.Keys(); string key; for (var i = 0; i < names.Count; ++i) { key = names[i]; if (_sceneVariables.ContainsKey(key)) { var val = adapter.GetValue(key); _sceneVariables[key].SetIntValueIfAllowed(val); } else { Debug.Log("No variable foung by key : [" + key + "]"); } } }
public void UpdateExistingData(StatAdapter adapter) { UpdateExistingData(adapter.AllData()); }
private void RecalculateAll(StatAdapter adapter) { StatCalculator.RecalculateAll(adapter); }
private static StatAdapter filledAdapter() { StatAdapter adapter = new StatAdapter(); LoadAndFill(adapter); return adapter; }
private static void FillAdapter(StatAdapter adapter, Dictionary<string, int> data) { if (!IsEmpty(data)) adapter.UpdateExistingData(data); }
public static void Save(StatAdapter adapter) { ES2.Save(adapter.AllData(), _fileName + _separator + adapter.Data_ID); }
public static void LoadAndFill(StatAdapter adapter) { Dictionary<string, int> data = LoadDataFromFile(adapter); FillAdapter(adapter, data); }
// Reserved for future implementations, e.g. modification by quantities //void modifyPointsLeft(ButtonModificatorType mType, int value){} //void modifyPointsUsed(ButtonModificatorType mType, int value){} //void modifyHP(ButtonModificatorType mType, int value){} //void modifyAP(ButtonModificatorType mType, int value){} private void Awake() { _adapter = SaveLoadManager.FilledAdapter; StatCalculator.RecalculateAll(_adapter); Setup(); }