メインコンテンツまでスキップ

IPlayerData

ゲームコードからプレイヤー状態にアクセスするためのコントラクトです。

名前空間: OpenMon.MCE.SDK

定義

public interface IPlayerData
{
Roster PlayerRoster { get; }
int Money { get; }
string PlayerName { get; }
int BadgeCount { get; }
}

プロパティ

PlayerRoster

プレイヤーの現在のモンスターパーティ。

: Roster

Roster は最大6体の MonsterInstance オブジェクトを保持します。インデックスで個々のメンバーにアクセスできます:

Roster roster = player.PlayerRoster;
MonsterInstance first = roster[0]; // 先頭のモンスター
int teamSize = roster.Count; // パーティのモンスター数

Money

プレイヤーの現在の所持金。

: int

PlayerName

プレイヤーの表示名(新規ゲームまたは名前入力時に設定)。

: string

BadgeCount

プレイヤーが獲得したジムバッジの数。

: int

使用例

using OpenMon.MCE.SDK;
using Zenject;

public class PlayerHUD : MonoBehaviour
{
[Inject] private IPlayerData player;

[SerializeField] private Text nameLabel;
[SerializeField] private Text moneyLabel;
[SerializeField] private Text badgeLabel;
[SerializeField] private Text teamLabel;

private void Update()
{
nameLabel.text = player.PlayerName;
moneyLabel.text = $"${player.Money:N0}";
badgeLabel.text = $"Badges: {player.BadgeCount}/8";

var roster = player.PlayerRoster;
teamLabel.text = $"Team: {roster.Count}/6";
}
}
古い参照について

PlayerRoster を長期間キャッシュしないでください。ロスターの参照はセーブ/ロード操作後に変更される可能性があります。必要な都度 player.PlayerRoster を照会してください。