Beispiel #1
0
 void NotifySubsystemsAboutNewEvent(PlayerEventType eventType)
 {
     foreach (var playerSubsystem in subsystems)
     {
         playerSubsystem.HandleEvent(eventType);
     }
 }
Beispiel #2
0
 /// <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);
     }
 }
Beispiel #4
0
 public void Reset()
 {
     Sc          = SendCategory.UI_Important;
     ClientIndex = 0;
     DisplayName = string.Empty;
     TeamNumber  = 0;
     Latency     = 0;
     EventType   = PlayerEventType.None;
 }
Beispiel #5
0
 /// <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);
 }
Beispiel #6
0
        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;
            }
        }
Beispiel #7
0
    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;
        }
    }
Beispiel #8
0
		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;
 }
Beispiel #10
0
 public abstract void HandleEvent(PlayerEventType eventType);
Beispiel #11
0
 public PlayerEvent(PlayerEventType eventType, Vector3 movePos)
 {
     MovePos        = movePos;
     this.eventType = eventType;
 }
Beispiel #12
0
 public PlayerEventArgs(PlayerEventType eventType, string playerName, ServerViewModel server)
 {
     EventType  = eventType;
     PlayerName = playerName;
     Server     = server;
 }
Beispiel #13
0
 public PlayerEventArgs(PlayerEventType eventType, int playerNo)
 {
     PlayerNo  = playerNo;
     EventType = eventType;
 }
Beispiel #14
0
 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;
 }