private void Start() { _customizationLocalInfo = PlayerCustomizationLocalInfo.LoadFromFile(); if (_customizationLocalInfo == null || !_customizationLocalInfo.Custom) { if (_customizationLocalInfo == null) { _customizationLocalInfo = new PlayerCustomizationLocalInfo(); } // Randomize _customizationLocalInfo.Custom = true; _customizationLocalInfo.Gender = Random.Range(0, 2); if (_customizationLocalInfo.Gender == (int)Gender.Male) { _customizationLocalInfo.HairIndex = Random.Range(0, _manHairs.GetComponentsInChildren <Button>(true).Length); } else { _customizationLocalInfo.HairIndex = Random.Range(0, _womanHairs.GetComponentsInChildren <Button>(true).Length); } _customizationLocalInfo.SkinColorSliderValue = (float)Random.Range(0f, 1f); _customizationLocalInfo.HairColorSliderValue = (float)Random.Range(0f, 1f); _customizationLocalInfo.ClothColorSliderValue = (float)Random.Range(0f, 1f); } // Apply Customization if (_customizationLocalInfo.Gender == (int)Gender.Female) { _genderSwitch.isOn = false; //Changes to opposite value and makes isOn == true _genderSwitch.AnimateSwitch(); } else { _genderSwitch.isOn = true; //Changes to opposite value and makes isOn == false _genderSwitch.AnimateSwitch(); } SetHairIndex(_customizationLocalInfo.HairIndex); _skinColorSlider.SetSliderValue(_customizationLocalInfo.SkinColorSliderValue); _hairColorSlider.SetSliderValue(_customizationLocalInfo.HairColorSliderValue); _clothColorSlider.SetSliderValue(_customizationLocalInfo.ClothColorSliderValue); OnSkinColorChange(); OnHairColorChange(); OnClothColorChange(); }
public static void Save(PlayerCustomizationLocalInfo saveData) { saveData.Custom = true; try { string saveJson = JsonUtility.ToJson(saveData); File.WriteAllText(SavePath, saveJson); } catch (Exception e) { Debug.LogWarning($"Exception while saving to {SavePath}: Cause {e}"); } }
public static PlayerCustomizationLocalInfo LoadFromFile() { try { string info = File.ReadAllText(SavePath); PlayerCustomizationLocalInfo file = JsonUtility.FromJson <PlayerCustomizationLocalInfo>(info); return(file); } catch (Exception e) { Debug.LogWarning($"Exception reading {SavePath}: Cause {e}"); return(new PlayerCustomizationLocalInfo()); } }
public void Save() { _customizationLocalInfo.Custom = true; _customizationLocalInfo.Gender = (int)LocalPlayerData.CharacterData.Gender; _customizationLocalInfo.HairIndex = LocalPlayerData.CharacterData.HairStyle; _customizationLocalInfo.SkinColor = _skinColorSlider.GetCurrentColor(); _customizationLocalInfo.SkinColorSliderValue = _skinColorSlider.GetSliderValue(); _customizationLocalInfo.HairColor = _hairColorSlider.GetCurrentColor(); _customizationLocalInfo.HairColorSliderValue = _hairColorSlider.GetSliderValue(); _customizationLocalInfo.ClothColor = _clothColorSlider.GetCurrentColor(); _customizationLocalInfo.ClothColorSliderValue = _clothColorSlider.GetSliderValue(); PlayerCustomizationLocalInfo.Save(_customizationLocalInfo); }