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