SharedSpaceVillainArcadeComponent.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. using Robust.Shared.Serialization;
  2. namespace Content.Shared.Arcade
  3. {
  4. public abstract partial class SharedSpaceVillainArcadeComponent : Component
  5. {
  6. [Serializable, NetSerializable]
  7. public enum Indicators
  8. {
  9. /// <summary>
  10. /// Blinks when any invincible flag is set
  11. /// </summary>
  12. HealthManager,
  13. /// <summary>
  14. /// Blinks when Overflow flag is set
  15. /// </summary>
  16. HealthLimiter
  17. }
  18. [Serializable, NetSerializable]
  19. public enum PlayerAction
  20. {
  21. Attack,
  22. Heal,
  23. Recharge,
  24. NewGame,
  25. RequestData
  26. }
  27. [Serializable, NetSerializable]
  28. public enum SpaceVillainArcadeVisualState
  29. {
  30. Normal,
  31. Off,
  32. Broken,
  33. Win,
  34. GameOver,
  35. }
  36. [Serializable, NetSerializable]
  37. public enum SpaceVillainArcadeUiKey
  38. {
  39. Key,
  40. }
  41. [Serializable, NetSerializable]
  42. public sealed class SpaceVillainArcadePlayerActionMessage : BoundUserInterfaceMessage
  43. {
  44. public readonly PlayerAction PlayerAction;
  45. public SpaceVillainArcadePlayerActionMessage(PlayerAction playerAction)
  46. {
  47. PlayerAction = playerAction;
  48. }
  49. }
  50. [Serializable, NetSerializable]
  51. public sealed class SpaceVillainArcadeMetaDataUpdateMessage : SpaceVillainArcadeDataUpdateMessage
  52. {
  53. public readonly string GameTitle;
  54. public readonly string EnemyName;
  55. public readonly bool ButtonsDisabled;
  56. public SpaceVillainArcadeMetaDataUpdateMessage(int playerHp, int playerMp, int enemyHp, int enemyMp, string playerActionMessage, string enemyActionMessage, string gameTitle, string enemyName, bool buttonsDisabled) : base(playerHp, playerMp, enemyHp, enemyMp, playerActionMessage, enemyActionMessage)
  57. {
  58. GameTitle = gameTitle;
  59. EnemyName = enemyName;
  60. ButtonsDisabled = buttonsDisabled;
  61. }
  62. }
  63. [Serializable, NetSerializable, Virtual]
  64. public class SpaceVillainArcadeDataUpdateMessage : BoundUserInterfaceMessage
  65. {
  66. public readonly int PlayerHP;
  67. public readonly int PlayerMP;
  68. public readonly int EnemyHP;
  69. public readonly int EnemyMP;
  70. public readonly string PlayerActionMessage;
  71. public readonly string EnemyActionMessage;
  72. public SpaceVillainArcadeDataUpdateMessage(int playerHp, int playerMp, int enemyHp, int enemyMp, string playerActionMessage, string enemyActionMessage)
  73. {
  74. PlayerHP = playerHp;
  75. PlayerMP = playerMp;
  76. EnemyHP = enemyHp;
  77. EnemyMP = enemyMp;
  78. EnemyActionMessage = enemyActionMessage;
  79. PlayerActionMessage = playerActionMessage;
  80. }
  81. }
  82. }
  83. }