public override void ReceiveMessage(IGameMessage msg) { switch (msg.EventId) { case (int)MessageId.Teleport: UpdatePosition(); break; case (int)MessageId.Move: UpdateOnMove(msg.AsMove().SumMovements()); break; } }
public override void ReceiveMessage(IGameMessage msg) { // TODO : handle ForcedMovement in Transform, // TODO : handle ForcedMovement movement over time in a separate component switch (msg.EventId) { case (int)MessageId.FrameBegin: { OnUpdate(); break; } case (int)MessageId.BeginMovePath: { OnBeginMovePath(msg.AsBeginMovePath()); break; } case (int)MessageId.Move: { OnMove(msg.AsMove()); break; } case (int)MessageId.NewPlayerFollowTarget: { OnNewFollowPlayer(msg.AsNewPlayerFollowTarget()); break; } case (int)MessageId.SyncLocalsToGlobals: { SyncLocalsToGlobals(Parent.AssertGetClientPosition()); break; } } }
public override void ReceiveMessage(IGameMessage msg) { switch (msg.EventId) { case (int)MessageId.NewOverheadText: { SetFlag(new OverheadForcedTextUpdateFlag(msg.AsNewOverheadText().Message)); break; } case (int)MessageId.NewAnimation: { SetFlag(new AnimationUpdateFlag(msg.AsNewAnimation().Animation)); break; } case (int)MessageId.ParticleEffect: { SetFlag(new ParticleEffectUpdateFlag(msg.AsParticleEffect().Effect)); break; } case (int)MessageId.ForcedMovement: { SetFlag(new ForcedMovementUpdateFlag(msg.AsForcedMovement().Movement)); break; } case (int)MessageId.ChatMessage: { SetFlag(new PlayerChatUpdateFlag(msg.AsChatMessage().Chat)); break; } case (int)MessageId.UpdatePlayerAppearance: { HandleAppearanceMessage(msg.AsPlayerAppearance()); break; } case (int)MessageId.TookDamageLostHealth: { SetFlag(new DamageUpdateFlag(msg.AsTookDamangeLostHealth())); break; } case (int)MessageId.NewFacingDirection: { SetFlag(new FacingCoordinateUpdateFlag(msg.AsNewFacingDirection().FacingState)); break; } case (int)MessageId.NewInteractingEntity: { SetFlag(new InteractingEntityUpdateFlag(msg.AsNewInteractingEntity().Interacting)); break; } case (int)MessageId.DefinitionChange: { SetFlag(new DefinitionChangeUpdateFlag(msg.AsDefinitionChange().Definition)); break; } case (int)MessageId.Move: { Movement = msg.AsMove(); break; } case (int)MessageId.Teleport: { Reinitialize = true; break; } case (int)MessageId.FrameEnd: { Reset(); break; } } }