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() ;
            }
        }
    }
     
  • 相关阅读:
    Linux链接库一(动态库,静态库,库放在什么路径下)
    scp指令的学习
    注册表语法
    汇编指令
    PS7.0快捷键和使用技巧
    Lrc歌词-开发标准
    VBS 创建快捷方式
    LDAP属性对照表
    按键精灵对VBS的支持
    英寸、磅等单位的换算
  • 原文地址:https://www.cnblogs.com/didiaodexi/p/3483488.html
Copyright © 2011-2022 走看看