public void ShowJumpWin() { if (null == m_jndWin) { m_jndWin = new JumpNumberData(); } m_jndWin.From = m_clerk.Win; m_jndWin.To = 0; m_jndWin.JumpTimes = 60; m_jndWin.Type = JumpNumberData.JumpTypeWin; if (null == m_jndGold) { m_jndGold = new JumpNumberData(); } m_jndGold.From = m_clerk.Gold; m_jndGold.To = m_clerk.Gold + m_clerk.Win; m_jndGold.JumpTimes = 60; m_jndGold.Type = JumpNumberData.JumpTypeGold; StartCoroutine(JumpWinNumber(m_jndWin)); StartCoroutine(JumpWinNumber(m_jndGold)); }
public IEnumerator JumpWinNumber(JumpNumberData data) { long step = 1; bool increase = true; long total = 0; if (data.From > data.To) { increase = false; total = data.From - data.To; } else { total = data.To - data.From; } if (data.JumpTimes <= 0) { data.JumpTimes = 1; } if (total > data.JumpTimes) { step = total / data.JumpTimes; } else { data.JumpTimes = total; } data.Result = data.From; for (int i = 0; i < data.JumpTimes; i++) { if (increase) { data.Result += step; } else { data.Result -= step; } if (data.Type == JumpNumberData.JumpTypeWin) { m_clerk.Win = data.Result; } else if (data.Type == JumpNumberData.JumpTypeGold) { m_clerk.Gold = data.Result; } yield return(1); } data.Result = data.To; if (data.Type == JumpNumberData.JumpTypeWin) { m_clerk.Win = data.Result; } else if (data.Type == JumpNumberData.JumpTypeGold) { m_clerk.Gold = data.Result; m_clerk.Spinning = false; // 隐藏金币 GameObject coin = GameObject.Find("Coin"); if (coin != null) { Image coinImg = coin.GetComponent <Image>(); coinImg.color = new Color(1.0f, 1.0f, 1.0f, 0.0f); coin.transform.localPosition = new Vector3(385, -379, 0); } } StopCoroutine(JumpWinNumber(data)); }