やまめも

【 ゲーム開発・日々のことについて 】

【C#】Delegate使用 Event 使用例 第一弾

using UnityEngine;
using System.Collections;

public class EventsManager : MonoBehaviour {

	public delegate void ClickSpaceHandler();
	public static event ClickSpaceHandler onClickSpaceE;
	public static void onClickSpace( ) { if (onClickSpaceE != null) onClickSpaceE(); }

	void Start () {
	}
	void Update () {
	}
}
public class InputManager : MonoBehaviour {
	void OnEnable(){
		EventsManager.onClickSpaceE += ClickSpace;
	}
	void OnDisable(){
		EventsManager.onClickSpaceE -= ClickSpace;

	}
	void Start () {
	}
	void Update () {
		if (Input.GetKeyDown (KeyCode.Space)) {
			ClickSpace ();
		}
	}
	void ClickSpace(){
		Debug.Log ("Space");
	}
}