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