-
-
Save todorok1/c5aa2bc7724217e8ef3026e7a839e811 to your computer and use it in GitHub Desktop.
シンプルRPGチュートリアル第41回 ステータス表示のウィンドウを制御するクラス
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| using UnityEngine; | |
| namespace SimpleRpg | |
| { | |
| /// <summary> | |
| /// ステータス表示のウィンドウを制御するクラスです。 | |
| /// </summary> | |
| public class StatusWindowController : MonoBehaviour, IBattleWindowController | |
| { | |
| /// <summary> | |
| /// ステータス表示のUIを制御するクラスへの参照です。 | |
| /// </summary> | |
| [SerializeField] | |
| StatusUIController _uiController; | |
| /// <summary> | |
| /// コントローラの状態をセットアップします。 | |
| /// </summary> | |
| /// <param name="battleManager">戦闘に関する機能を管理するクラス</param> | |
| public void SetUpController(BattleManager battleManager) | |
| { | |
| } | |
| /// <summary> | |
| /// キャラクターのステータスを全てセットします。 | |
| /// </summary> | |
| /// <param name="characterStatus">キャラクターのステータス</param> | |
| public void SetCharacterStatus(CharacterStatus characterStatus) | |
| { | |
| if (characterStatus == null) | |
| { | |
| SimpleLogger.Instance.LogWarning("キャラクターステータスがnullです。"); | |
| return; | |
| } | |
| var characterName = CharacterDataManager.GetCharacterName(characterStatus.characterId); | |
| _uiController.SetCharacterName(characterName); | |
| var level = characterStatus.level; | |
| var parameterTable = CharacterDataManager.GetParameterTable(characterStatus.characterId); | |
| var record = parameterTable.parameterRecords.Find(r => r.level == level); | |
| _uiController.SetCurrentHp(characterStatus.currentHp); | |
| _uiController.SetMaxHp(record.hp); | |
| _uiController.SetCurrentMp(characterStatus.currentMp); | |
| _uiController.SetMaxMp(record.mp); | |
| } | |
| /// <summary> | |
| /// 全キャラクターのステータスを更新します。 | |
| /// </summary> | |
| public void UpdateAllCharacterStatus() | |
| { | |
| foreach (var characterId in CharacterStatusManager.partyCharacter) | |
| { | |
| var characterStatus = CharacterStatusManager.GetCharacterStatusById(characterId); | |
| SetCharacterStatus(characterStatus); | |
| } | |
| } | |
| /// <summary> | |
| /// ステータス表示のウィンドウを表示します。 | |
| /// </summary> | |
| public void ShowWindow() | |
| { | |
| _uiController.Show(); | |
| } | |
| /// <summary> | |
| /// ステータス表示のウィンドウを非表示にします。 | |
| /// </summary> | |
| public void HideWindow() | |
| { | |
| _uiController.Hide(); | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment