예제 #1
0
    public override IAbilityObject Execute(DashObject t)
    {
        CollisionChecker cc = t.transform.gameObject.GetComponent <CollisionChecker>() as CollisionChecker;

        if (!isDashing && unlocked && (Utils.GetUnixTime() - coolDownTime) > cooldown)
        {
            float dash = cc.GetDistanceUntilCollision(t.direction, dashDistance);
            //float dash = (t.direction == Direction.RIGHT) ? temp_dist : temp_dist * -1;

            currentPosition = t.transform.localPosition;
            Vector3 position = t.transform.localPosition;
            position.x   += dash;
            finalPosition = position;

            counter  = 5;
            interval = dash / counter;

            isDashing = true;

            timer          = new System.Timers.Timer();
            timer.Interval = 10;
            timer.Elapsed += UpdateDash;
            timer.Enabled  = true;
        }

        return(t);
    }