Ejemplo n.º 1
0
 public void brick_destroyed(Brick.BrickType brick_type, int player_id, Vector2 pos)
 {
     game_state.num_bricks--;
     bounce_value_obtained(player_id);
     sound_manager.play_sound("brick_disappear");
     on_skill_effect(brick_type, player_id, pos);
 }
Ejemplo n.º 2
0
 public GameObject GetPrefab(Brick.BrickType brick_type)
 {
     if (!m_brickMap.ContainsKey(brick_type))
     {
         Debug.LogWarningFormat("Brick prefab not found {0}", brick_type);
         return(null);
     }
     return(m_brickMap [brick_type]);
 }
Ejemplo n.º 3
0
    void AddBrick(int i, int j, int brick_id, int powerup_id)
    {
        float x = 1.2f - i * 0.2f - 0.1f;
        float y = 1.4f - j * 0.1f - 0.1f;

        Brick.BrickType     brick_type   = (Brick.BrickType)brick_id;
        Powerup.PowerupType powerup_type = (Powerup.PowerupType)powerup_id;
        GameObject          brick        = (GameObject)m_brickPrefab.GetPrefab(brick_type);

        if (brick == null)
        {
            return;
        }

        GameObject brick_obj = Instantiate(brick, new Vector3(x, y, 0.07f), Quaternion.identity) as GameObject;

        m_cacheList.Add(brick_obj);
        m_brickNumber++;
        if (powerup_type != Powerup.PowerupType.powerup_none)
        {
            brick_obj.GetComponent <Brick> ().m_powerupType = powerup_type;
        }
    }
Ejemplo n.º 4
0
    public void on_skill_effect(Brick.BrickType brick_type, int player_id, Vector2 pos)
    {
        Debug.Log("Skill used: " + brick_type.ToString());

        var ps = game_state.player_state[player_id];

        switch (brick_type)
        {
        case Brick.BrickType.EXPLOSION: { animation_manager.play_animation_at("Explosion", pos);
                                          sound_manager.play_sound("explosion_brick");
                                          brick_manager.detonate(player_id, pos, level_param.explode_damage); break; }

        case Brick.BrickType.BALL: { ps.num_balls++; sound_manager.play_sound("brick_bonus");
                                     animation_manager.play_animation_at("BrickBall", pos);
                                     ongame_ui_manager.update_indicator_ui(player_id); }; break;

        case Brick.BrickType.ROLL: { ps.active_bounce_cd = Mathf.Clamp(
                                         ps.active_bounce_cd - level_param.roll_bounce_cd_dec, level_param.bounce_cd_min, Mathf.Infinity);
                                     animation_manager.play_animation_at("BrickCD", pos);
                                     break; }

        case Brick.BrickType.SANDGLASS: {
            ps.launch_cd = Mathf.Clamp(
                ps.launch_cd - level_param.sandglass_launch_cd_dec, level_param.launch_cd_min, Mathf.Infinity);
            ongame_ui_manager.update_launch_indicator_ui(player_id);
            break;
        }

        case Brick.BrickType.LIGHTNTING: {
            ball_manager.acclerate_all(player_id, level_param.lightening_accelerate_ratio);
            animation_manager.play_animation_at("BrickFlash", pos);
            break;
        }

        default: break;
        }
    }