// Use this for initialization void Start() { int s = PlayerPrefs.GetInt(string.Format("SkinState_{0}", _skinNum)); if (s == 1) { if (PlayerPrefs.GetInt("CurrentSkin") == _skinNum) { _skinState = SkinState.SS_SELECTED; } else { _skinState = SkinState.SS_UNSELECTED; } } else { _skinState = SkinState.SS_BUY; } _skinMoneyNum = PlayerPrefs.GetInt(string.Format("SkinPrice_{0}", _skinNum)); _toggle = GetComponentInChildren <Toggle> (); _text = GetComponentInChildren <Text> (); _text.text = _skinMoneyNum.ToString(); SetByState(_skinState); Messenger <int> .AddListener(GameEvent.CHANGE_SKIN, OnChangeSkinCallBack); Messenger <JsonData> .AddListener(GameEvent.BUY_SKIN, OnBuySkinCallBack); }
void SetByState(SkinState state) { switch (state) { case SkinState.SS_BUY: { _toggle.gameObject.SetActive(false); _text.gameObject.SetActive(true); //set _text.text base on _skinNum } break; case SkinState.SS_UNSELECTED: { _toggle.gameObject.SetActive(true); _toggle.isOn = false; _text.gameObject.SetActive(false); } break; case SkinState.SS_SELECTED: { _toggle.gameObject.SetActive(true); _toggle.isOn = true; _text.gameObject.SetActive(false); } break; } }
void OnChangeSkinCallBack(int num) { if (num == _skinNum) { return; } if (_toggle.gameObject.activeInHierarchy) { _toggle.isOn = false; _skinState = SkinState.SS_UNSELECTED; } }
public void OnPointerClickCallBack(BaseEventData data) { switch (_skinState) { case SkinState.SS_BUY: { if (PlayerPrefs.GetInt("Money") >= int.Parse(_text.text)) { Debug.Log("Buy Skin"); _buyConfirmMask.gameObject.SetActive(true); string tiptext = DataManager._languageIndex == 1 ? string.Format("确定消耗\n{0}金币\n购买皮肤?", _skinMoneyNum) : string.Format("Cost\n{0}coins\nto buy skin?", _skinMoneyNum); _buyTipInfo.text = tiptext; var buttons = _buyConfirmMask.GetComponentsInChildren <Button> (); buttons [0].onClick.RemoveAllListeners(); buttons [0].onClick.AddListener(BuyConfirm); buttons [1].onClick.RemoveAllListeners(); buttons [1].onClick.AddListener(BuyCancle); } else { Debug.Log("Not Enough Money"); GameObject canvas = GameObject.Find("Canvas"); GameObject tip = GameObject.Instantiate(_tipPrefab, canvas.transform); var rect = tip.transform as RectTransform; rect.anchoredPosition = new Vector2(0, 0); rect.sizeDelta = new Vector2(Screen.width, Screen.height); tip.GetComponentInChildren <Text> ().text = DataManager._languageIndex == 1 ? "金币不足!" : "Not Enough Money"; } } break; case SkinState.SS_UNSELECTED: { _toggle.isOn = true; _skinState = SkinState.SS_SELECTED; PlayerPrefs.SetInt("CurrentSkin", _skinNum); Messenger <int> .Broadcast(GameEvent.CHANGE_SKIN, _skinNum); } break; case SkinState.SS_SELECTED: break; } }
protected override DanceMotion ReadTarget(BinaryReader reader, IReadingSession session) { string name = reader.ReadMoostaString(); int beatCount = reader.ReadInt32(); int num = reader.ReadInt32(); DanceModelInfo sourceModel = (num == 0) ? null : (session.GetObject(num) as DanceModelInfo); string[] array = new string[reader.ReadInt32()]; for (int i = 0; i < array.Length; i++) { array[i] = reader.ReadMoostaString(); } string[] array2 = new string[reader.ReadInt32()]; for (int j = 0; j < array2.Length; j++) { array2[j] = reader.ReadMoostaString(); } string[] array3 = new string[reader.ReadInt32()]; for (int k = 0; k < array3.Length; k++) { array3[k] = reader.ReadMoostaString(); } DancePose[] array4 = new DancePose[reader.ReadInt32()]; for (int l = 0; l < array4.Length; l++) { CtVector3D bodyPos = new CtVector3D(reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle()); DancePoseFootState footState = (DancePoseFootState)reader.ReadInt32(); BoneState[] array5 = new BoneState[array2.Length]; for (int m = 0; m < array2.Length; m++) { array5[m] = new BoneState(new CtQuaternion(reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle())); } SkinState[] array6 = new SkinState[array3.Length]; for (int n = 0; n < array3.Length; n++) { array6[n] = new SkinState(reader.ReadSingle()); } array4[l] = new DancePose(array2, array5, array3, array6, bodyPos) { FootState = footState }; } return(new DanceMotion(name, beatCount, array4, sourceModel) { Tags = array }); }
void OnBuySkinCallBack(JsonData res) { if (_buySkinNum != _skinNum) { return; } //if response error == 0 string str = ""; if ((int)(res ["error"]) == 0) { _text.gameObject.SetActive(false); _toggle.gameObject.SetActive(true); _toggle.isOn = true; _skinState = SkinState.SS_SELECTED; PlayerPrefs.SetInt("Money", int.Parse(res ["data"] ["money"].ToString())); Messenger.Broadcast(GameEvent.UPDATA_USER_INFO); PlayerPrefs.SetInt("CurrentSkin", _skinNum); PlayerPrefs.SetInt(string.Format("SkinState_{0}", _skinNum), 1); Messenger <int> .Broadcast(GameEvent.CHANGE_SKIN, _skinNum); str = "皮肤购买成功!"; } else { Debug.Log("Buy Skin Error"); if ((int)(res ["error"]) == 4) { str = "金币不足!"; } else if ((int)(res ["error"]) == 5) { str = "皮肤不存在!"; } } GameObject canvas = GameObject.Find("Canvas"); GameObject tip = GameObject.Instantiate(_tipPrefab, canvas.transform); var rect = tip.transform as RectTransform; rect.anchoredPosition = new Vector2(0, 0); rect.sizeDelta = new Vector2(Screen.width, Screen.height); tip.GetComponentInChildren <Text> ().text = str; }
void CheckState() { if (value <= -0.5) { skinState = SkinState.PALE; } else if (value > -0.5 && value <= 0.1) { skinState = SkinState.NEUTRAL; } else if (value > 0.1 && value < 0.5) { skinState = SkinState.BLUSHING; } else if (value >= 0.5) { skinState = SkinState.FURIOUS; } }
protected override DanceMotion ReadTarget(BinaryReader reader, IReadingSession session) { string name = reader.ReadMoostaString(); int beatCount = reader.ReadInt32(); string[] array = new string[reader.ReadInt32()]; for (int i = 0; i < array.Length; i++) { array[i] = reader.ReadMoostaString(); } string[] array2 = new string[reader.ReadInt32()]; for (int j = 0; j < array2.Length; j++) { array2[j] = reader.ReadMoostaString(); } string[] array3 = new string[reader.ReadInt32()]; for (int k = 0; k < array3.Length; k++) { array3[k] = reader.ReadMoostaString(); } DancePose[] array4 = new DancePose[reader.ReadInt32()]; for (int l = 0; l < array4.Length; l++) { BoneState[] array5 = new BoneState[array2.Length]; for (int m = 0; m < array2.Length; m++) { array5[m] = new BoneState(new CtQuaternion(reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle())); } SkinState[] array6 = new SkinState[array3.Length]; for (int n = 0; n < array3.Length; n++) { array6[n] = new SkinState(reader.ReadSingle()); } array4[l] = new DancePose(array2, array5, array3, array6, CtVector3D.Zero); } return(new DanceMotion(name, beatCount, array4, null) { Tags = array }); }