Пример #1
0
    void StartSimulate()
    {
        foreach (var s in GetComponentsInChildren <Skill>())
        {
            s.gameObject.SetActive(s == skill);
        }

        state = SkillSimulatorState.STARTED;
        skill.CaculateSkillTime();
        this.skillTime = skill.skillTime / 1000.0f;
        simulateTimer  = 0;
        playingTime    = Mathf.RoundToInt(simulateTimer * 1000);
        skill.ResetSkill(caller);
        skill.Simulate(caller, playingTime);
    }
Пример #2
0
 void Simulate()
 {
     if (simulateTimer > this.skillTime)
     {
         if (loop)
         {
             simulateTimer = 0;
         }
         else
         {
             state = SkillSimulatorState.IDLE;
         }
     }
     playingTime = Mathf.RoundToInt(simulateTimer * 1000);
     if (skill.IsRunning)
     {
         skill.Simulate(caller, playingTime);
     }
     simulateTimer += Time.deltaTime;
 }