• 委托 事件


    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() ;
            }
        }
    }
     
  • 相关阅读:
    P3723 【[AH2017/HNOI2017]礼物】
    P4555 【[国家集训队]最长双回文串】
    manacher学习笔记
    多项式学习笔记
    题解 CF1097F 【Alex and a TV Show】
    docker数据卷容器
    python基础学习
    docker监控之cadvisor
    docker监控系统
    ssh配置详解及公私钥批量分发
  • 原文地址:https://www.cnblogs.com/didiaodexi/p/3483488.html
Copyright © 2020-2023  润新知