列挙型(enum)を別classから参照する
対象の現在状態を参照する時などに。
(unity3Dを例にしてるのでコンストラクタ→Start() )
PlayerStatusCon.cs (定義元)
using UnityEngine; using System.Collections; public class PlayerStatusCon : MonoBehaviour { //列挙型定義. public enum statusList { STOP,WALK,ATTACK,DAMAGE }; //状態参照用. public statusList playerStatus; void Start () { //初期化. playerStatus = statusList.STOP; } }
Example.cs (参照する側)
using UnityEngine; using System.Collections; public class Example : MonoBehaviour { private GameObject playerObject; private Playerstatus playerStatusScript; void Start() {
//対象オブジェクトをfind. playerObject = GameObject.Find("Player"); playerStatusScript = playerObject.GetComponent<PlayerStatusCon>(); } void Update() { //状態参照例. Debug.Log(playerStatusScript.playerStatus); if(playerStatusScript.playerStatus == PlayerStatusCon.statusList.ATTACK){ Debug.Log("WEAPON FREE."); } } }