// Update is called once per frame
    void Update()
    {
        if (tutorial_state == 0 && Input.GetButtonDown("Jump"))
        {
            page0.SetActive(false);
            background.SetActive(false);
            tutorial_ui.SetActive(true);
            tutorial_state = 1;
        }
        else if (tutorial_state == 1)
        {
            player_controller.enable_control = true;

            Attack_State_Transition_Func.attack_state curr_state = player_controller.curr_atk_state;

            if (curr_state == Attack_State_Transition_Func.attack_state.attack_basic_4)
            {
                attacked = true;
                attack_indicator.color = Color.green;
            }
            else if (curr_state == Attack_State_Transition_Func.attack_state.attack_dash_0)
            {
                dash_attacked = true;
                dash_attack_indicator.color = Color.green;
            }
            else if (curr_state == Attack_State_Transition_Func.attack_state.attack_jump_0)
            {
                jump_attacked = true;
                jump_attack_indicator.color = Color.green;
            }

            if (attacked && dash_attacked && jump_attacked)
            {
                reward.placeReward(new Vector3(4, 2, -0.558f));
            }
        }

        if (tutorial_finished)
        {
            Game_Manager.instance.setState(2);
        }
    }
示例#2
0
        //is this obsolete?
        public static void do_attack(Attack_State_Transition_Func.attack_state attack_state, Collider[] hitboxes, ComboInfo combo_info,
                                     HealthInfo player_health_info, HealthInfo boss_health_info)
        {
            int damage = 0;

            foreach (Collider col in hitboxes)
            {
                Collider[] cols = Physics.OverlapBox(col.bounds.center, col.bounds.extents, col.transform.rotation, LayerMask.GetMask("EnemyHitbox"));
                if (cols.Length > 0)
                {
                    switch (attack_state)
                    {
                    case Attack_State_Transition_Func.attack_state.attack_basic_0:
                        damage = 30;
                        break;

                    case Attack_State_Transition_Func.attack_state.attack_basic_1:
                        damage = 30;
                        break;

                    case Attack_State_Transition_Func.attack_state.attack_basic_2:
                        damage = 50;
                        break;

                    case Attack_State_Transition_Func.attack_state.attack_basic_3:
                        damage = 50;
                        break;

                    case Attack_State_Transition_Func.attack_state.attack_basic_4:
                        damage = 50;
                        break;

                    case Attack_State_Transition_Func.attack_state.attack_dash_0:
                        damage = 40;
                        break;

                    case Attack_State_Transition_Func.attack_state.attack_jump_0:
                        damage = 40;
                        break;

                    default:
                        Debug.Log("Unable to identify attack, make sure switch case matches.");
                        break;
                    }
                }
            }

            int cur_combo_points;

            if (damage > 0 && !boss_health_info.is_invincible)
            {
                if (player_health_info.parry_bonus)
                {
                    damage = (int)(damage * 1.5);
                }

                boss_health_info.doDamage(damage);
                Debug.Log(damage);
                AudioManager.instance.Play("game jam 3 impact");

                boss_health_info.setInvincible(0.4f);
                combo_info.setComboTimer(1.5f);

                cur_combo_points = damage;
                float combo_multiplier = 1.0f + (combo_info.combo_counter * 0.1f);

                if (combo_multiplier > 2.0f)
                {
                    combo_multiplier = 2.0f;
                }
                cur_combo_points = (int)(cur_combo_points * combo_multiplier);

                combo_info.addComboPoints(cur_combo_points);
                combo_info.combo_counter++;
            }
        }