void NotifySubsystemsAboutNewEvent(PlayerEventType eventType) { foreach (var playerSubsystem in subsystems) { playerSubsystem.HandleEvent(eventType); } }
/// <summary> /// 解单个注册角色事件. /// </summary> /// <param name="varType"></param> /// <param name="varFun"></param> public void UnRegisterPlayerEvent(PlayerEventType varType, Air2000.EventHandlerDelegate varFunc) { if (mEventManager == null) { return; } mEventManager.Unregister((int)varType, varFunc); }
private void HandlePlayerEvent(PlayerEventType eventType) { if (eventType == PlayerEventType.DEATH) { currentLevel = 0; LoadLevel(currentLevel); } }
public void Reset() { Sc = SendCategory.UI_Important; ClientIndex = 0; DisplayName = string.Empty; TeamNumber = 0; Latency = 0; EventType = PlayerEventType.None; }
/// <summary> /// 注册角色事件. /// </summary> /// <param name="varPET"></param> /// <param name="varFun"></param> public void RegisterPlayerEvent(PlayerEventType varType, Air2000.EventHandlerDelegate varFunc) { if (mEventManager == null) { mEventManager = new PlayerEventProcessor(this); return; } mEventManager.Register((int)varType, varFunc); }
public void Read(NetBuffer buffer) { EventType = (PlayerEventType)buffer.ReadByte(); ClientIndex = buffer.ReadInt32(); TeamNumber = buffer.ReadByte(); Latency = buffer.ReadInt32(); DisplayName = buffer.ReadString(); SteamID = buffer.ReadUInt64(); switch (EventType) { case PlayerEventType.Spectate: SpecTarget = buffer.ReadInt32(); break; } }
public override void HandleEvent(PlayerEventType eventType) { switch (eventType) { case PlayerEventType.Jump: //TODO play jump sound break; case PlayerEventType.Landing: //TODO play landing sound break; case PlayerEventType.Death: break; case PlayerEventType.Attack: break; case PlayerEventType.Footstep: //TODO play random footstep sound break; } }
internal void EmitPlayerEvent(string json, PlayerEventType type) { switch (type) { case PlayerEventType.TrackEndEvent: End?.Invoke(this, JsonConvert.DeserializeObject<PlayerEndEventPacket>(json)); Status = PlayerStatus.ENDED; break; case PlayerEventType.TrackExceptionEvent: Exception?.Invoke(this, JsonConvert.DeserializeObject<PlayerExceptionEventPacket>(json)); Status = PlayerStatus.ERRORED; break; case PlayerEventType.TrackStuckEvent: Stuck?.Invoke(this, JsonConvert.DeserializeObject<PlayerStuckEventPacket>(json)); Status = PlayerStatus.STUCK; break; case PlayerEventType.WebSocketClosedEvent: WebSocketClose?.Invoke(this, JsonConvert.DeserializeObject<PlayerCloseEventPacket>(json)); Status = PlayerStatus.ERRORED; break; default: throw new ArgumentOutOfRangeException(nameof(type), type, null); } }
public PlayerEventArgs(PlayerEventType eventType) { EventType = eventType; }
public abstract void HandleEvent(PlayerEventType eventType);
public PlayerEvent(PlayerEventType eventType, Vector3 movePos) { MovePos = movePos; this.eventType = eventType; }
public PlayerEventArgs(PlayerEventType eventType, string playerName, ServerViewModel server) { EventType = eventType; PlayerName = playerName; Server = server; }
public PlayerEventArgs(PlayerEventType eventType, int playerNo) { PlayerNo = playerNo; EventType = eventType; }
public void Unsubscribe(PlayerEventType type, IPlayerEventListener listener) { //OurLogger.Log($"{listener} unsubscribed from event type {type}"); GameApplication.defaultLogger.LogMessage(20, $"{listener} unsubscribed to event type {type}"); _listeners[type].Remove(listener); }
public ActorEventArgs(PlayerEventType EventType) { this.EventType = EventType; }