1111
using UnityEngine; using System.Collections; public class GlobalManager { private static EventController _eventController=null; public EventController eventController { get { if(_eventController==null) { _eventController=new EventController(); } return _eventController; } } public static GlobalManager _instance ; public static GlobalManager instance { get{ if( _instance == null ) _instance = new GlobalManager() ; return _instance ; } } }
222
using UnityEngine; using System.Collections; public class EventController { public delegate void LogName( ) ; public event LogName LogNameEvent ; public void sendLogName() { if( LogNameEvent != null ) { LogNameEvent() ; } } }
333
using UnityEngine; using System.Collections; public class CC : MonoBehaviour { // Use this for initialization void Start () { //AA.bb.handleBB+=logName; GlobalManager.instance.eventController.LogNameEvent += logName ; } void logName( ) { Debug.Log( "CCCC") ; } // Update is called once per frame void Update () { } }
444
using UnityEngine; using System.Collections; public class DD : MonoBehaviour { // Use this for initialization void Start () { //AA.bb.handleBB+=logName; GlobalManager.instance.eventController.LogNameEvent += logName ; } // Update is called once per frame void Update () { } void logName( ) { Debug.Log( "ddddd") ; } void OnGUI() { if( GUI.Button( new Rect( 100,100,100,100 ) , "event" )) { //AA.bb.sendEvent(); GlobalManager.instance.eventController.sendLogName() ; } } }