void SetSpeed(SpeedStates states)
    {
        // Note that for now, target unit is always player.
        // This kind of script directly supports state changes by ai.
        switch (states)
        {
        case SpeedStates.Normal:
            targetUnit.input.gunLocked          = true;
            targetUnit.input.movement.speed     = normalSpeed;
            targetUnit.input.movement.sideSpeed = normalSpeed;
            targetUnit.input.jumpEnabled        = false;
            break;

        case SpeedStates.Faster:
            targetUnit.input.gunLocked          = true;
            targetUnit.input.movement.speed     = fasterSpeed;
            targetUnit.input.movement.sideSpeed = normalSpeed;
            targetUnit.input.jumpEnabled        = false;
            break;

        case SpeedStates.Flash:
            targetUnit.input.gunLocked          = true;
            targetUnit.input.movement.speed     = fasterSpeed;
            targetUnit.input.movement.sideSpeed = normalSpeed;
            targetUnit.input.jumpEnabled        = true;
            break;

        default:
            break;
        }
    }
 internal void IncreaseAttack()
 {
     if (attackState != AttackStates.MoreBullets)
     {
         Debug.Log("Attack upgrade");
         speedState   = SpeedStates.Normal;
         attackState += 1;
         SetSpeed(SpeedStates.Normal);
         SetAttack(attackState);
     }
 }
 internal void IncreaseSpeed()
 {
     if (speedState != SpeedStates.Flash)
     {
         Debug.Log("Speed upgrade");
         speedState  = speedState + 1;
         attackState = AttackStates.Normal;
         SetSpeed(speedState);
         SetAttack(attackState);
     }
 }
 void Decrease(ref float time)
 {
     if (time > 0)
     {
         time -= Time.deltaTime / get_empty_time;
     }
     else
     {
         state = SpeedStates.NORMALIZE;
     }
 }
Exemple #5
0
    private void Wings()
    {
        if (!stoped)
        {
            body.velocity     = Vector2.zero;
            stoped            = true;
            body.gravityScale = 0;
            Rotate(0);
        }

        transform.localScale = Vector3.one * scale_amount
                               + Vector3.up * Mathf.Abs(body.velocity.y) * Time.deltaTime * param;

        SpeedStates state = SpeedManager.self.state;

        if (state == SpeedStates.INCREASE && transform.position.y > max_wing_height)
        {
            state = SpeedStates.NORMALIZE;
        }

        if (state == SpeedStates.INCREASE)
        {
            force = Vector2.up;
            body.AddForce(force * 10f);
        }
        else if (state == SpeedStates.DECREASE)
        {
            force = Vector2.down;
            body.AddForce(force * 10f);
        }
        else
        {
            if (!set_force_time)
            {
                force_time     = Time.time;
                set_force_time = true;
            }
            body.velocity = Vector2.Lerp(
                body.velocity,
                Vector2.zero,
                (Time.time - force_time) * Time.deltaTime
                );
        }
    }
Exemple #6
0
    void Update()
    {
        if (gun_button_pressed)
        {
            GunController.self.Shot();
        }

        if (jump_max_button_pressed)
        {
            state = SpeedStates.INCREASE;
        }
        else if (jump_min_button_pressed)
        {
            state = SpeedStates.DECREASE;
        }
        else
        {
            state = SpeedStates.NORMALIZE;
        }
    }
    void Update()
    {
        state = InputManager.self.state;
        switch (state)
        {
        case SpeedStates.INCREASE:
            Decrease(ref high_time);
            Increase(ref low_time);
            break;

        case SpeedStates.NORMALIZE:
            Increase(ref high_time);
            Increase(ref low_time);
            break;

        case SpeedStates.DECREASE:
            Increase(ref high_time);
            Decrease(ref low_time);
            break;
        }
        SpeedManager.self.state = state;
        UiManager.self.SetJumpButtonSlidersValue(high_time, low_time);
    }
Exemple #8
0
 public void SetSpeedState(SpeedStates value)
 {
     speedState = value;
 }