委托 事件

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

 

 
posted @ 2013-12-20 11:15  尚菜  阅读(207)  评论(0编辑  收藏  举报