public void RegisterListener( EEventType eventType, ListenerDelegate delg ) { EventObject obj = new EventObject(); obj.MyEvent = eventType; obj.ThisDelegate = delg; listenerObjects.Add( obj ); }
public void MessageReceiver(CallbackDelegate Callback, ListenerDelegate Listener) { //lock (queue) // { NetPackage pkg; UdpClient udp = new UdpClient(Port); while (true) { try { IPEndPoint endPoint = new IPEndPoint(IPAddress.Any, Port); byte[] data = udp.Receive(ref endPoint); IPAddress sender = endPoint.Address; NetPackage package = new NetPackage() { Data = data, Sender = sender }; pkg = package; break; } catch (Exception ex) { Debug.WriteLine("Error:" + ex); } } ThreadStart threadStart = new ThreadStart(() => Callback(pkg)); Thread thread = new Thread(threadStart); thread.Start(); // Task.Factory.StartNew(() => Callback(pkg), TaskCreationOptions.LongRunning); }
//METODS========================================================================================================== //Add listener USALO IN START O PIU TARDI public void AddListener(ListenerDelegate Listener,string E_key) { //se l evento non esiste da warning if (!E_Listeners.ContainsKey (E_key)) Debug.Log ("WARNING:EVENTO NON ESISTENTE"); //aggiunge alla lista dell evento E_key il listener E_Listeners [E_key].Add (Listener); }
public UDPTools(int port) { m_data = new byte[1024]; m_ipep = new IPEndPoint(IPAddress.Any, port); m_newsock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); m_newsock.Bind(m_ipep); m_sender = new IPEndPoint(IPAddress.Any, 0); m_remote = (EndPoint) (m_sender); m_udpServerThread = new Thread(UDPServer); m_ld = OnData; }
public void UnregisterListener( EEventType eventType, ListenerDelegate delg ) { EventObject obj; for( int x=0; x<listenerObjects.Count; ++x ) { obj = listenerObjects[x]; if( eventType == obj.MyEvent ) { if( delg.GetHashCode() == obj.ThisDelegate.GetHashCode() ) { listenerObjects.RemoveAt( x ); break; } } } }
/// <summary> /// 添加单个更新的侦听,一般在addListeners方法中使用 /// </summary> /// <param name="id">更新的名称</param> /// <param name="dele">更新的委托</param> protected void addListener(string id, ListenerDelegate dele) { if (listenerDic == null) { listenerDic = new Dictionary<string, ListenerDelegate>(); } if (listenerDic.ContainsKey(id)) { listenerDic[id] += dele; } else { listenerDic.Add(id, dele); mvcCharge.addListener(id, dele); } }
ListenerDelegate <EventObject> attackSoundLD; // 用于动画事件的监听器委托 // Use this for initialization void Start() { // 获得UnityArmatureComponent组件 robot1 = Robot1.GetComponent <UnityArmatureComponent>(); // 监听动画事件 // 方法一:直接添加委托,适用于小段代码 //robot1.AddEventListener(EventObject.START, delegate { print("开始播放动画了"); }); // 方法二:使用AddEventListener指定的类型创建ListenerDelegate<EventObject>变量委托,添加需要执行的函数 startPlayLD += this.startPlay; robot1.AddEventListener(EventObject.START, startPlayLD); // 监听动画开始事件 completePlayLD += this.completePlay; robot1.AddEventListener(EventObject.COMPLETE, completePlayLD); // 监听动画结束事件(循环动画时,使用LOOP_COMPLETE) attackFrameLD += this.attackFrame; robot1.AddEventListener(EventObject.FRAME_EVENT, attackFrameLD); // 监听动画某一帧事件 attackSoundLD += attackSound; robot1.AddEventListener(EventObject.SOUND_EVENT, attackSoundLD); // 监听动画声音事件 }
protected virtual void Awake() { boxCollider = GetComponent <BoxCollider2D> (); ListenerDelegate <EventObject> keyFrameListener = KeyFrameMessage; if (gameObject.tag == "monster") { armatureCom.AddEventListener(DragonBones.EventObject.FRAME_EVENT, keyFrameListener); } else if (gameObject.tag == "Player") { UnityArmatureComponent playerArmature = transform.Find("PlayerSide").GetComponent <UnityArmatureComponent> (); playerArmature.AddEventListener(DragonBones.EventObject.FRAME_EVENT, keyFrameListener); } isIdle = true; propertyCalculator = new AgentPropertyCalculator(); }
public void AddEventListener(string type, ListenerDelegate <T> listener) { if (_listeners.ContainsKey(type)) { var delegates = _listeners[type].GetInvocationList(); for (int i = 0, l = delegates.Length; i < l; ++i) { if (listener == delegates[i] as ListenerDelegate <T> ) { return; } } _listeners[type] += listener; } else { _listeners.Add(type, listener); } }
/** * @inheritDoc */ public void RemoveEventListener(string type, ListenerDelegate <T> listener) { if (!_listeners.ContainsKey(type)) { return; } var delegates = _listeners[type].GetInvocationList(); for (int i = 0, l = delegates.Length; i < l; ++i) { if (listener == delegates[i] as ListenerDelegate <T> ) { _listeners[type] -= listener; break; } } if (_listeners[type] == null) { _listeners.Remove(type); } }
protected virtual void Awake() { boxCollider = GetComponent <BoxCollider2D> (); // 角色攻击关键帧添加监听 ListenerDelegate <EventObject> keyFrameListener = KeyFrameMessage; if (this is BattleMonsterController) { armatureCom.AddEventListener(EventObject.FRAME_EVENT, keyFrameListener); } else if (this is BattlePlayerController) { BattlePlayerController bpctr = this as BattlePlayerController; UnityArmatureComponent playerSideArmature = bpctr.playerSide.GetComponent <UnityArmatureComponent> (); UnityArmatureComponent playerForwardArmature = bpctr.playerForward.GetComponent <UnityArmatureComponent> (); UnityArmatureComponent playerBackwardArmature = bpctr.playerBackWard.GetComponent <UnityArmatureComponent> (); playerSideArmature.AddEventListener(EventObject.FRAME_EVENT, keyFrameListener); playerForwardArmature.AddEventListener(EventObject.FRAME_EVENT, keyFrameListener); playerBackwardArmature.AddEventListener(EventObject.FRAME_EVENT, keyFrameListener); } isDead = false; }
public void RemoveDBEventListener(string type, ListenerDelegate <EventObject> listener) { RemoveEventListener(type, listener); }
public void AddDBEventListener(string type, ListenerDelegate <EventObject> listener) { AddEventListener(type, listener); }
public GameEventListenerDelegateListener(ListenerDelegate listener, string debugName) { m_Action = listener; m_DebugName = debugName; }
public GameEventListenerDelegateListener(ListenerDelegate listener) { m_Action = listener; }
//Add listener public void AddListener(ListenerDelegate Listener) { Listeners.Add(Listener); }
public static GameEventListenerDelegate CreateListener(ListenerDelegate listener) { return(new GameEventListenerDelegateListener(listener)); }
/// <summary> /// 移除更新的侦听 /// </summary> /// <param name="id">更新的名称</param> /// <param name="dele">更新的方法</param> public void removeListener(string id, ListenerDelegate dele) { if (!m_listenerDic.ContainsKey(id)) { return; } ListenerDelegate delegates = m_listenerDic[id] - dele; if (delegates == null) { m_listenerDic.Remove(id); } else { m_listenerDic[id] = delegates; } }
public static extern RetCode hub_unregister_listener(ref ListenerDelegate listener);
public _Handler_502(ListenerDelegate _enclosing, android.os.Looper baseArg1) : base (baseArg1) { throw new System.NotImplementedException(); }
public static GameEventListenerDelegate CreateListener(ListenerDelegate listener, string debugName) { return(new GameEventListenerDelegateListener(listener, debugName)); }
/// <summary> /// 添加更新的侦听 /// </summary> /// <param name="id">更新的名称</param> /// <param name="dele">更新的方法</param> public void addListener(string id, ListenerDelegate dele) { if (m_listenerDic.ContainsKey(id)) { m_listenerDic[id] += dele; } else { m_listenerDic.Add(id, dele); } }
public void RemoveListener(ListenerDelegate Listener,string E_key) { //rimuove dalla lista dell evento E_key il listener E_Listeners [E_key].Remove(Listener); }