void UpdateMoveEvent(float deltaTime)
    {
        // move event to avoid crash
        if (moveOprEvent != null)
        {
            moveOprEvent.OnUpdate(deltaTime);
            if (moveOprEvent.IsFinish())
            {
                moveOprEvent = null;
            }
        }

        if (gasMoveEvent != null)
        {
            gasMoveEvent.OnUpdate(deltaTime);
            if (gasMoveEvent.IsFinish())
            {
                gasMoveEvent = null;
            }
        }

        if (skillMoveEvent != null)
        {
            skillMoveEvent.OnUpdate(deltaTime);
            if (skillMoveEvent.IsFinish())
            {
                skillMoveEvent = null;
            }
        }
    }
Exemplo n.º 2
0
    public override void OnBroadcastEvent(int evnetID, int targetObjID, object args = null)
    {
        if (evnetID == (int)Const_Util.BATTLE_EVENT.RANDOM_SKILL)
        {
            BattleMsgDef.RandomSkillAward randomAward = (BattleMsgDef.RandomSkillAward)args;
            if (randomAward.playerIdx == TestConfig.RoleHeroPlayerIdx && randomSkillSprEvent == null && randomSKillID == 0)
            {
                scrollRectTr.anchoredPosition3D = new Vector3(originScrollX, 0.0f, 0.0f);
                int skillCount = DataCfgMgr.instance.GetSkillCount();
                randomSKillID = randomAward.skillID;
                int   randomSkillShowNum = randomSKillID + skillCount;
                float skillDestPosY      = (randomSkillShowNum - 1) * (randomScrollCellSize.y + randomScrollCellSpace);
                // show time
                showSkillIDCom.text     = "";//randomSKillID.ToString();
                skillBtnCG.interactable = false;

                randomSkillSprEvent = new SeqEvent();
                CanvasGroupFade fadeIn = new CanvasGroupFade(skillBtnCG, 0.0f, 1.0f, TestConfig.RandomSkillFadeInTime);
                randomSkillSprEvent.AddEvent(fadeIn);

                UIAccMoveEvent accMove = new UIAccMoveEvent(scrollRectTr, new Vector3(originScrollX, skillDestPosY, 0.0f), TestConfig.RandomSkillTime, false);
                randomSkillSprEvent.AddEvent(accMove);

                OneTimerEvent showSkillNameFunc = new OneTimerEvent(ShowRandomSkillName);
                randomSkillSprEvent.AddEvent(showSkillNameFunc);
                randomSkillSprEvent.Begin();
            }
        }
    }
Exemplo n.º 3
0
 public override void OnUpdate(float deltaTime)
 {
     if (jumpOprEvent != null)
     {
         jumpOprEvent.OnUpdate(deltaTime);
         if (jumpOprEvent.IsFinish())
         {
             jumpOprEvent = null;
         }
     }
 }
Exemplo n.º 4
0
    public override void OnUpdate(float deltaTime)
    {
        if (mLockMoveTimer > 0)
        {
            mLockMoveTimer = mLockMoveTimer - Time.deltaTime;
            if (mLockMoveTimer <= 0)
            {
                mLockMoveTimer = 0;
            }
        }

        if (randomSkillSprEvent != null)
        {
            randomSkillSprEvent.OnUpdate(deltaTime);
            if (randomSkillSprEvent.IsFinish())
            {
                randomSkillSprEvent = null;
            }
        }

        if (Input.GetMouseButtonDown(0) || (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began))
        {
            //            #if IPHONE || ANDROID
            //            if (EventSystem.current.IsPointerOverGameObject(Input.GetTouch(0).fingerId))
            //            #else
            //            if (EventSystem.current.IsPointerOverGameObject())
            //            #endif
            //                Debug.Log("当前触摸在UI上");
            //
            //            else
            //                Debug.Log("当前没有触摸在UI上");
        }
        float gasValue = BattleInstance.instance.GetHeroCarFloatAttr(BattleInstance.instance.MyPlayerIdx, (int)Const_Util.UNIT_ATTR.NITROGEN_CUR);

        if (Mathf.Abs(gasValue - nitrogenValue) > 1)
        {
            nitrogenValue = gasValue;
            int showGas = Mathf.RoundToInt(nitrogenValue);
            if (showGas < 0)
            {
                showGas = 0;
            }
            nitrogenTxtCom.text = showGas.ToString();
            float gasMaxValue = BattleInstance.instance.GetHeroCarFloatAttr(BattleInstance.instance.MyPlayerIdx, (int)Const_Util.UNIT_ATTR.NITROGEN_MAX);
            nitrogenImgCom.fillAmount = nitrogenValue / gasMaxValue;
        }

//        int showGas = Mathf.RoundToInt(nitrogenValue);
        string strDistance = String.Format("{0:F}", BattleInstance.instance.GetHeroCarFloatAttr(TestConfig.RoleHeroPlayerIdx, (int)Const_Util.UNIT_ATTR.MOVE_DISTANCE));

        moveDistanceTextCom.text = strDistance;
    }
    public override void  OnMsg(int msgID, object args)
    {
        if (!isActive)
        {
            return;
        }
        if (msgID == (int)Const_Util.UNIT_MSG.COLLIDER_OCCUR)
        {
            colliderCD = TestConfig.ColliderHeroHitBaseCD + TestConfig.ColliderHeroHitBaseCD * TestConfig.ColliderHeroHitCDRate * speed.y;
        }
        else if (msgID == (int)Const_Util.UNIT_MSG.GAS_ACC)
        {
            if (gasMoveEvent != null)
            {
                return;
            }
            gasMoveEvent = new SeqEvent();
            OneTimerEvent oneEvent     = new OneTimerEvent(GasMoveSpeedChgUp);
            TimerEvent    continueTime = new TimerEvent(TestConfig.NitragenStayTime + TestConfig.NitragenMoveTime);
            gasMoveEvent.AddEvent(oneEvent);
            gasMoveEvent.AddEvent(continueTime);

            OneTimerEvent moveDownEvent = new OneTimerEvent(MoveSpeedChgDown);
            TimerEvent    stayTime      = new TimerEvent(TestConfig.NitragenMoveTime);
            gasMoveEvent.AddEvent(moveDownEvent);
            gasMoveEvent.AddEvent(stayTime);
            gasMoveEvent.Begin();
        }
        else if (msgID == (int)Const_Util.UNIT_MSG.SKILL_DESC)
        {
            if (skillMoveEvent != null)
            {
                return;
            }
            mSkillHitInfo  = (BattleMsgDef.SkillHitInfo)args;
            skillMoveEvent = new SeqEvent();
            OneTimerEvent chgEvent     = new OneTimerEvent(SkillMoveSpeedChgDown);
            TimerEvent    continueTime = new TimerEvent(mSkillHitInfo.chgTime + mSkillHitInfo.continueTime);
            skillMoveEvent.AddEvent(chgEvent);
            skillMoveEvent.AddEvent(continueTime);

            OneTimerEvent resetSpeedEvent = new OneTimerEvent(SkillMoveSpeedReset);
            TimerEvent    stayTime        = new TimerEvent(mSkillHitInfo.resetTime);
            skillMoveEvent.AddEvent(resetSpeedEvent);
            skillMoveEvent.AddEvent(stayTime);
            skillMoveEvent.Begin();
        }
    }
    public override void OnBroadcastEvent(int eventID, int targetObjID, object args = null)
    {
        if (!isActive)
        {
            return;
        }

        if (eventID == (int)Const_Util.BATTLE_EVENT.CHG_DIR)
        {
            unitHangNode.localPosition = hangNodeOriginPos;
            if (colliderCD > Const_Util.FLT_EPSILON)
            {
                return;
            }
            if (moveOprEvent != null && !moveOprEvent.IsFinish())
            {
                moveOprEvent.Destroy();
                moveOprEvent = null;
            }
            moveOprEvent = new SeqEvent();
            MoveToEvent moveTo = new MoveToEvent(cobj.GetRenderObjTr(), new Vector3((float)args, cobj.GetRenderObjTr().localPosition.y, 0), 0.1f);
            moveOprEvent.AddEvent(moveTo);
            moveOprEvent.Begin();
        }
        else if (eventID == (int)Const_Util.BATTLE_EVENT.MOVE_SPEED_RATE)
        {
            if (!IsHero())
            {
                SetMoveSpeed((float)args * baseMoveSpeed);
            }
        }
        else if (eventID == (int)Const_Util.BATTLE_EVENT.JUMP)
        {
            if (colliderCD > Const_Util.FLT_EPSILON)
            {
                return;
            }
            SendMsg((int)Const_Util.UNIT_MSG.START_JUMP, null);
        }
    }
Exemplo n.º 7
0
    public override void  OnMsg(int msgID, object args)
    {
        if (msgID == (int)Const_Util.UNIT_MSG.START_JUMP)
        {
            if (jumpOprEvent != null && !jumpOprEvent.IsFinish())
            {
                return;
            }
            jumpOprEvent = new SeqEvent();
            Vector3       originScale = cobj.GetRenderObjTr().localScale;
            Vector3       destScale   = originScale * 1.34f;
            ParallelEvent jumpUpPara  = new ParallelEvent();
            ScaleEvent    scaleTo     = new ScaleEvent(cobj.GetRenderObjTr(), originScale, destScale, 0.4f);
            jumpUpPara.AddEvent(scaleTo);
            SeqEvent   upEvent     = new SeqEvent();
            TimerEvent upTimeDelay = new TimerEvent(0.1f);
            upEvent.AddEvent(upTimeDelay);
            OneTimerEvent scaletoFunc = new OneTimerEvent(JumpEnough);
            upEvent.AddEvent(scaletoFunc);
            jumpUpPara.AddEvent(upEvent);

            TimerEvent timeDelay = new TimerEvent(0.8f);

            SeqEvent   downEvent     = new SeqEvent();
            TimerEvent downTimeDelay = new TimerEvent(0.1f);
            downEvent.AddEvent(downTimeDelay);
            OneTimerEvent scalebackReset = new OneTimerEvent(JumpReset);
            downEvent.AddEvent(scalebackReset);
            ParallelEvent jumpDownPara = new ParallelEvent();
            jumpDownPara.AddEvent(downEvent);
            ScaleEvent scaleBack = new ScaleEvent(cobj.GetRenderObjTr(), destScale, originScale, 0.4f);
            jumpDownPara.AddEvent(scaleBack);

            jumpOprEvent.AddEvent(jumpUpPara);
            jumpOprEvent.AddEvent(timeDelay);
            jumpOprEvent.AddEvent(jumpDownPara);

            jumpOprEvent.Begin();
        }
    }
//    void SetCollisionResetEvent()
//    {
//        if (colliderCD <= Const_Util.FLT_EPSILON)
//        {
//            if (hangNodeResetEvent == null)
//            {
//                Vector3 targetPos = new Vector3(unitHangNode.localPosition.x, hangNodeOriginPos.y, 0);
//                if (isHero)
//                {
//                   targetPos = hangNodeOriginPos;
//                }
//                hangNodeResetEvent = new MoveToEventY(unitHangNode, targetPos, 2.0f);
//                hangNodeResetEvent.Begin();
//            }
//        }
//    }

//    void UpdateCollisionResetEvent(float deltaTime)
//    {
//        if (hangNodeResetEvent != null)
//        {
//            hangNodeResetEvent.OnUpdate(deltaTime);
//            if (unitHangNode.localPosition.x < TestConfig.MoveCarLeftOfRace)
//            {
//                unitHangNode.localPosition = new Vector3( TestConfig.MoveCarLeftOfRace, unitHangNode.localPosition.y, 0.0f);
//            }
//            else if(unitHangNode.localPosition.x > TestConfig.MoveCarRightOfRace)
//            {
//                unitHangNode.localPosition = new Vector3( TestConfig.MoveCarRightOfRace, unitHangNode.localPosition.y, 0.0f);
//            }
//
//            if (hangNodeResetEvent.IsFinish())
//            {
//                hangNodeResetEvent = null;
//            }
//        }
//    }

    public void OnDestroy()
    {
        moveOprEvent = null;
        base.DoOnDestroy();
    }
Exemplo n.º 9
0
 public override void Release()
 {
     jumpOprEvent = null;
 }