Esempio n. 1
0
 void FixedUpdate()
 {
     if (Time.timeScale == 0)
     {
         return;
     }
     if (Modules.statusGame == StatusGame.menu || Modules.statusGame == StatusGame.start || Modules.statusGame == StatusGame.pause)
     {
         return;
     }
     //xu ly nhai lai hoat dong doi tuong duoi theo
     stepHero.Add(Modules.mainCharacter.transform.position);
     aniHero.Add(myHero.statusHero);
     if (stepHero.Count >= timeDelayFollow)
     {
         Vector3 pointNow = stepHero[0] - detalPoint;
         if (Modules.statusGame == StatusGame.over)
         {
             pointNewEnemy = new Vector3(myHero.GetOldPoint().x, pointNow.y, transform.position.z);
         }
         else
         {
             pointNewEnemy = new Vector3(pointNow.x, pointNow.y, transform.position.z);
         }
         mesRunAniNow = aniHero[0];
         stepHero.RemoveAt(0);
         aniHero.RemoveAt(0);
     }
 }
Esempio n. 2
0
 void Update()
 {
     if (Time.timeScale == 0)
     {
         return;
     }
     if (Modules.statusGame == StatusGame.menu || Modules.statusGame == StatusGame.start || Modules.statusGame == StatusGame.pause)
     {
         return;
     }
     if ((Modules.statusGame == StatusGame.over || Modules.statusGame == StatusGame.stop) && !overGame)
     {
         StatusHero checkDie = myHero.statusHero;
         if (checkDie == StatusHero.fallA || checkDie == StatusHero.fallB || checkDie == StatusHero.fallC)
         {
             if (checkDie == StatusHero.fallA)
             {
                 CallAniNew(aniStan, StatusHero.fallA, false);
             }
             if (checkDie == StatusHero.fallB)
             {
                 CallAniNew(aniStan, StatusHero.fallB, false);
             }
             else if (checkDie == StatusHero.fallC)
             {
                 CallAniNew(aniAttack, StatusHero.fallC, false);
             }
             overGame = true;
         }
     }
     //xu ly xa gan doi tuong duoi theo
     if (Modules.distanceEnemy != oldDistanceEnemy && Modules.distanceEnemy != 0)
     {
         oldDistanceEnemy = Modules.distanceEnemy;
         MoveNearFarFollow();
     }
     RunMoveNearFarFollow();
     //if (!showHide) return;
     transform.position = Vector3.Lerp(transform.position, new Vector3(pointNewEnemy.x, pointNewEnemy.y, transform.position.z), 20 * Time.deltaTime);
     if (mesRunAniNow != mesRunAniOld && Modules.statusGame == StatusGame.play)
     {
         PlayAnimation();
         mesRunAniOld = mesRunAniNow;
     }
     ReturnRunBasic();
 }
Esempio n. 3
0
    void CallAniNew(AnimationClip aniClip, StatusHero typeAni, bool loopAni = true, float speedMore = 1, float speedAdd = 0, float maxSpeed = -1)
    {
        if (aniEnemy == null || aniClip == null)
        {
            return;
        }
        mesRunAniNow = typeAni;
        float speedAniNow = 0;

        speedAniNow = /*Modules.speedGame * */ numEditSpeed * speedMore + speedAdd;
        if (maxSpeed != -1 && speedAniNow > maxSpeed)
        {
            speedAniNow = maxSpeed;
        }
        aniEnemy[aniClip.name].speed    = speedAniNow;
        aniEnemy[aniClip.name].time     = 0;
        aniEnemy[aniClip.name].wrapMode = WrapMode.Loop;
        if (!loopAni)
        {
            aniEnemy[aniClip.name].wrapMode = WrapMode.Once;
        }
        aniEnemy.Play(aniClip.name);
    }