読者です 読者をやめる 読者になる 読者になる

arketブログ

arketのblogです。 色々作ります。

列挙型(enum)を別classから参照する

unity3D C#

対象の現在状態を参照する時などに。

(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."); } } }