Newer
Older
DungeonShooting / DungeonShooting_Godot / src / config / ExcelConfig_ActivityBase.cs
  1. using System.Text.Json.Serialization;
  2. using System.Collections.Generic;
  3.  
  4. namespace Config;
  5.  
  6. public static partial class ExcelConfig
  7. {
  8. public partial class ActivityBase
  9. {
  10. /// <summary>
  11. /// 物体唯一id <br/>
  12. /// 需要添加类型前缀
  13. /// </summary>
  14. [JsonInclude]
  15. public string Id;
  16.  
  17. /// <summary>
  18. /// 物体名称
  19. /// </summary>
  20. [JsonInclude]
  21. public string Name;
  22.  
  23. /// <summary>
  24. /// Test(测试对象): 2 <br/>
  25. /// Role(角色): 3 <br/>
  26. /// Enemy(敌人): 4 <br/>
  27. /// Weapon(武器): 5 <br/>
  28. /// Bullet(子弹): 6 <br/>
  29. /// Shell(弹壳): 7 <br/>
  30. /// Effect(特效): 8 <br/>
  31. /// Prop(道具): 9 <br/>
  32. /// Treasure(宝箱): 10 <br/>
  33. /// Npc: 11 <br/>
  34. /// Boss: 12 <br/>
  35. /// Other(其它类型): 99
  36. /// </summary>
  37. [JsonInclude]
  38. public ActivityType Type;
  39.  
  40. /// <summary>
  41. /// 物体品质, 用于武器和道具 <br/>
  42. /// 通用物品: 1 <br/>
  43. /// 基础: 2 <br/>
  44. /// 普通: 3 <br/>
  45. /// 稀有: 4 <br/>
  46. /// 史诗: 5 <br/>
  47. /// 传说: 6 <br/>
  48. /// 独一无二: 7
  49. /// </summary>
  50. [JsonInclude]
  51. public ActivityQuality Quality;
  52.  
  53. /// <summary>
  54. /// 商店售价
  55. /// </summary>
  56. [JsonInclude]
  57. public uint Price;
  58.  
  59. /// <summary>
  60. /// 物体简介 <br/>
  61. /// 一句对物体简短的介绍, 比如拾起物体时弹出的描述
  62. /// </summary>
  63. [JsonInclude]
  64. public string Intro;
  65.  
  66. /// <summary>
  67. /// 物体详情 <br/>
  68. /// 在图鉴中的描述
  69. /// </summary>
  70. [JsonInclude]
  71. public string Details;
  72.  
  73. /// <summary>
  74. /// 是否是静态物体
  75. /// </summary>
  76. [JsonInclude]
  77. public bool IsStatic;
  78.  
  79. /// <summary>
  80. /// 物体使用交互材质 <br/>
  81. /// 如果不填,则默认使用id为0001的材质
  82. /// </summary>
  83. public ActivityMaterial Material;
  84.  
  85. /// <summary>
  86. /// 物体预制场景路径, 场景根节点必须是ActivityObject子类
  87. /// </summary>
  88. [JsonInclude]
  89. public string Prefab;
  90.  
  91. /// <summary>
  92. /// 物体图标 <br/>
  93. /// 如果不需要在图鉴或者地图编辑器中显示该物体, 则可以不用设置
  94. /// </summary>
  95. [JsonInclude]
  96. public string Icon;
  97.  
  98. /// <summary>
  99. /// 是否在地图编辑器中显示该物体 <br/>
  100. /// 仅对角色, 武器, 道具, 敌人和Boss类型对物体有效
  101. /// </summary>
  102. [JsonInclude]
  103. public bool ShowInMapEditor;
  104.  
  105. /// <summary>
  106. /// 返回浅拷贝出的新对象
  107. /// </summary>
  108. public ActivityBase Clone()
  109. {
  110. var inst = new ActivityBase();
  111. inst.Id = Id;
  112. inst.Name = Name;
  113. inst.Type = Type;
  114. inst.Quality = Quality;
  115. inst.Price = Price;
  116. inst.Intro = Intro;
  117. inst.Details = Details;
  118. inst.IsStatic = IsStatic;
  119. inst.Material = Material;
  120. inst.Prefab = Prefab;
  121. inst.Icon = Icon;
  122. inst.ShowInMapEditor = ShowInMapEditor;
  123. return inst;
  124. }
  125. }
  126. private class Ref_ActivityBase : ActivityBase
  127. {
  128. [JsonInclude]
  129. public string __Material;
  130.  
  131. }
  132. }