private void DoTweenMoneyEffect(int index) { //Logger.LogWarp.LogError("DoTweenMoneyEffect " + index + " " + m_TargetPosition + " " + moveTime); MoneyEffectData data = m_MoneyEffectChildList[index]; data.Trans.localScale = scale; //Vector2 p2 = Vector2.zero; Vector2 p2 = data.Trans.position; //if (tweenPos != null) //{ // if (tweenPos.IsPlaying()) // { // tweenPos.Complete(); // } // tweenPos.Kill(); //} tweenPos = DOTween.To(() => p2, x => p2 = x, m_TargetPosition, moveTime); tweenPos.SetEase(Ease.InSine); //data.effect.SetActive(true); //Debug.Log("m_TargetPosition=" + m_TargetPosition); tweenPos.OnUpdate(() => { //Logger.LogWarp.LogError(data.Trans.name + " " + p2); data.Trans.position = p2; }); tweenPos.OnComplete(() => { //Logger.LogWarp.LogError("tweenPos.OnComplete " + m_CurPlayCount + " " + m_MaxCount); data.Trans.localScale = Vector3.zero; m_CurPlayCount++; //EventManager.Trigger(EventEnum.MoneyEffectPlayUpdate, m_MoneyType); //ShakePhone.ShakeLight(); if ((m_CurPlayCount + 1) >= m_MaxCount) { m_CurPlayCount = 0; switch (m_MoneyType) { case MoneyType.Diamond: m_DiamondEffectObj.SetActive(true); break; case MoneyType.Money: m_MoneyEffectObj.SetActive(true); break; case MoneyType.Physic: physicEffectObj.SetActive(true); break; } RunCoroutine.Run(PlayCompleteEffect()); } }); }
private void registerCompents() { m_MoneyEffectTrans = this.RegistCompent <Transform>("UIHuoBi"); if (m_MoneyEffectChildList == null) { m_MoneyEffectChildList = new List <MoneyEffectData>(); } m_MaxCount = m_MoneyEffectTrans.childCount; for (int i = 0; i < m_MaxCount; i++) { MoneyEffectData data = new MoneyEffectData(); data.Trans = m_MoneyEffectTrans.GetChild(i).GetComponent <RectTransform>(); data.m_Icon = m_MoneyEffectTrans.GetChild(i).GetComponent <Image>(); //data.effect = data.Trans.GetChild(0).gameObject; m_MoneyEffectChildList.Add(data); // Debug.Log("childName = " + m_MoneyEffectTrans.GetChild(i).name); } m_Animator = this.RegistCompent <Animator>("UIHuoBi"); //intervalTime = Excel_Conf.GetConfigFloatValue(Excel_Conf.money_move_interval_time); intervalTime = 0.05f; //金币特效移动间隔时间 //moveTime = Excel_Conf.GetConfigFloatValue(Excel_Conf.money_move_time); moveTime = 0.18f; //金币特效移动时间 //moveTime = 1f; //金币特效移动时间 //money_delay_time = Excel_Conf.GetConfigFloatValue(Excel_Conf.money_delay_time); money_delay_time = 0.6f;// 金币延迟移动时间 //m_MoneyEffectObj = ResourceMgr.GetEffect(ObjType.UI_Money_jinbi).gameObject; m_MoneyEffectObj = ResourceManager.GetInstance().LoadGameObject(Config.globalConfig.getInstace().ScreenGoldEffect); SetParent(m_MoneyEffectObj.transform, this.gameObject.transform, true, true); //m_DiamondEffectObj = ResourceMgr.GetEffect(ObjType.UI_Money).gameObject; m_DiamondEffectObj = ResourceManager.GetInstance().LoadGameObject(Config.globalConfig.getInstace().ScreenGoldEffect); SetParent(m_DiamondEffectObj.transform, this.gameObject.transform, true, true); //physicEffectObj = ResourceMgr.GetEffect(ObjType.UI_Money_jinbi).gameObject; physicEffectObj = ResourceManager.GetInstance().LoadGameObject(Config.globalConfig.getInstace().ScreenGoldEffect); SetParent(physicEffectObj.transform, this.gameObject.transform, true, true); m_MoneyEffectObj.SetActive(false); m_DiamondEffectObj.SetActive(false); physicEffectObj.SetActive(false); }