• 委托 事件


    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() ;
            }
        }
    }
     
  • 相关阅读:
    jQuery Validate 插件
    本地存储 web storage
    ajax简介及JS写原生ajax
    swiper插件简介及用法
    JavaScript中的string对象及方法
    javascript数组中的方法
    面向对象
    logging模块具体补充
    模块补充
    内置函数总结
  • 原文地址:https://www.cnblogs.com/didiaodexi/p/3483488.html
Copyright © 2020-2023  润新知