/// <summary>
 /// 実際にプレイヤーを動かしゲームを進める
 /// </summary>
 /// <param name="move_value_x">プレイヤーの移動量</param>
 /// <param name="move_value_y">プレイヤーの移動量</param>
 void Move_Process(int move_value_x, int move_value_y)
 {
     map_layer.Tile_Swap(player.position, player.Feet);
     player_position.x += move_value_x;
     player_position.y += move_value_y;
     player.Set_Position(player_position);
     player.Set_Feet(map_layer.Get(player_position.x, player_position.y));
     map_layer.Tile_Swap(player.position, Define_Value.PLAYER_LAYER_NUMBER);
     move_end = true;
 }
Exemple #2
0
    /// <summary>
    /// 死んでいたらオブジェクトとリストから消す
    /// </summary>
    /// <param name="index">エネミーリストの要素数</param>
    public void Dead_Enemy(int index)
    {
        Map_Layer_2D map_layer     = Dungeon_Manager.Instance.map_layer_2D;
        var          enemy_manager = Enemy_Manager.Instance;

        // 死んだら消して、床のレイヤー番号を元のものに戻す
        if (enemy_status.Is_Dead(enemy_status.hit_point))
        {
            // 足元のレイヤーを元に戻す
            map_layer.Tile_Swap(enemy_manager.enemies[index].transform.position,
                                enemy_manager.enemies[index].GetComponent <Enemy>().Feet);
            // ゲームオブジェクトの解放
            Destroy(enemy_manager.enemies[index]);
            // リストの要素の解放
            enemy_manager.enemies.RemoveAt(index);
        }
    }