示例#1
0
        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();
        }
示例#2
0
        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}");
            }
        }
示例#3
0
        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());
            }
        }
示例#4
0
        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);
        }