zoukankan      html  css  js  c++  java
  • 委托 事件

    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() ;
            }
        }
    }
     
  • 相关阅读:
    iOS有用的三方库和高效工具记录
    正则表达式
    Exception Type & Exception Code
    信鸽推送(XGPush)
    在vue中使用animate.css
    vue 中父子组件传值:props和$emit
    预编译scss以及scss和less px 转rem
    ES6箭头函数及模版字符串
    移动端页面a input去除点击效果及pc端切换
    vue2搭建简易spa
  • 原文地址:https://www.cnblogs.com/didiaodexi/p/3483488.html
Copyright © 2011-2022 走看看