/// <summary>
    /// ステータスを表示する
    /// </summary>
    /// <param name="monster"></param>
    /// <param name="panelType"></param>
    public void ShowStatus(
        BattleMapMonster monster,
        BattleMapStatusPanelType panelType,
        BattleMapStatusPanelPositionType positionType = BattleMapStatusPanelPositionType.NORMAL)
    {
        Initialize();

        ShowStatus(panelOperator, monster, panelType, positionType);
    }
    /// <summary>
    /// ステータスを表示する
    /// </summary>
    /// <param name="monster"></param>
    /// <param name="panelType"></param>
    private void ShowStatus(
        BattleMapStatusPanelOperator panelOperator,
        BattleMapMonster monster,
        BattleMapStatusPanelType panelType,
        BattleMapStatusPanelPositionType positionType = BattleMapStatusPanelPositionType.NORMAL)
    {
        panelOperator.ShowStatus(monster, panelType, positionType);

        // アイコンを削除
        mapIconGenerator.UninstallSelectionMarker();

        // アイコンの表示
        mapIconGenerator.InstallSelectionMarker(monster);
    }
    /// <summary>
    /// モードごとに設定
    /// </summary>
    /// <param name="panelType"></param>
    /// <param name="monster"></param>
    /// <param name="panelPositionType"></param>
    private void SetPanelMode(
        BattleMapMonster monster, BattleMapStatusPanelType panelType, BattleMapStatusPanelPositionType panelPositionType)
    {
        float panelHeight = PANEL_HEIGHT;

        if (panelType == BattleMapStatusPanelType.NORMAL)
        {
            spObject.PaperGameObject.SetActive(true);
            spObject.PaperSubGameObject.SetActive(false);
            spObject.SkillButton.SetActive(false);
            spObject.CancelButton.SetActive(false);

            panelHeight = PANEL_HEIGHT;
        }
        else if (panelType == BattleMapStatusPanelType.SKILL1)
        {
            spObject.PaperGameObject.SetActive(false);
            spObject.PaperSubGameObject.SetActive(true);
            spObject.SkillButton.SetActive(true);
            spObject.CancelButton.SetActive(true);

            panelHeight = PANEL_HEIGHT_SKILL;
        }

        RectTransform goRect = spObject.GameObject.GetComponent <RectTransform>();

        goRect.anchorMin = new Vector2(0, 0);
        goRect.anchorMax = new Vector2(0, 0);

        // 本体の高さ
        goRect.sizeDelta = new Vector2(goRect.sizeDelta.x, panelHeight);

        // 本体の位置
        float posY = PANEL_POSY_MARGIN + (goRect.sizeDelta.y / 2);

        // スキル表示ありの場合
        if (panelPositionType == BattleMapStatusPanelPositionType.ON_SKILL_PANEL)
        {
            posY += BattleMapSkillSelectOperator.GetPanelHeight(monster.GetAvailableSkillList().Count);
        }

        // 控えありの場合
        else if (panelPositionType == BattleMapStatusPanelPositionType.ON_RESERVE)
        {
            posY += goRect.sizeDelta.y + PANEL_POSY_RESERVE_MARGIN;
        }

        goRect.anchoredPosition = new Vector2(PANEL_POSX, posY);
    }
    /// <summary>
    /// ステータスを表示
    /// </summary>
    /// <param name="monster"></param>
    /// <param name="panelType"></param>
    /// <param name="panelPositionType"></param>
    public void ShowStatus(
        BattleMapMonster monster,
        BattleMapStatusPanelType panelType,
        BattleMapStatusPanelPositionType panelPositionType)
    {
        // アクティブにする
        SetActive(true);

        // パネルのモード変更
        SetPanelMode(monster, panelType, panelPositionType);

        // テキストを描画
        SetStatusText(monster);

        // 顔を差し替え
        SetFaceImage(monster);

        // 顔の色を差し替え
        SetFaceColorImage(monster);
    }
 /// <summary>
 /// 通常タイプのステータスを表示する
 /// </summary>
 /// <param name="monster"></param>
 /// <param name="positionType"></param>
 public void ShowStatus(
     BattleMapMonster monster, BattleMapStatusPanelPositionType positionType = BattleMapStatusPanelPositionType.NORMAL)
 {
     ShowStatus(monster, BattleMapStatusPanelType.NORMAL, positionType);
 }