Newer
Older
DungeonShooting / DungeonShooting_Godot / src / config / ExcelConfig_ActivityBase.cs
@小李xl 小李xl on 25 Jan 2024 3 KB 物体添加稀有度配置
  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. /// 物体简介 <br/>
  52. /// 一句对物体简短的介绍, 比如拾起物体时弹出的描述
  53. /// </summary>
  54. [JsonInclude]
  55. public string Intro;
  56.  
  57. /// <summary>
  58. /// 物体详情 <br/>
  59. /// 在图鉴中的描述
  60. /// </summary>
  61. [JsonInclude]
  62. public string Details;
  63.  
  64. /// <summary>
  65. /// 是否是静态物体
  66. /// </summary>
  67. [JsonInclude]
  68. public bool IsStatic;
  69.  
  70. /// <summary>
  71. /// 物体使用交互材质 <br/>
  72. /// 如果不填,则默认使用id为0001的材质
  73. /// </summary>
  74. public ActivityMaterial Material;
  75.  
  76. /// <summary>
  77. /// 物体预制场景路径, 场景根节点必须是ActivityObject子类
  78. /// </summary>
  79. [JsonInclude]
  80. public string Prefab;
  81.  
  82. /// <summary>
  83. /// 物体图标 <br/>
  84. /// 如果不需要在图鉴或者地图编辑器中显示该物体, 则可以不用设置
  85. /// </summary>
  86. [JsonInclude]
  87. public string Icon;
  88.  
  89. /// <summary>
  90. /// 是否在地图编辑器中显示该物体
  91. /// </summary>
  92. [JsonInclude]
  93. public bool ShowInMapEditor;
  94.  
  95. /// <summary>
  96. /// 返回浅拷贝出的新对象
  97. /// </summary>
  98. public ActivityBase Clone()
  99. {
  100. var inst = new ActivityBase();
  101. inst.Id = Id;
  102. inst.Type = Type;
  103. inst.Name = Name;
  104. inst.Quality = Quality;
  105. inst.Intro = Intro;
  106. inst.Details = Details;
  107. inst.IsStatic = IsStatic;
  108. inst.Material = Material;
  109. inst.Prefab = Prefab;
  110. inst.Icon = Icon;
  111. inst.ShowInMapEditor = ShowInMapEditor;
  112. return inst;
  113. }
  114. }
  115. private class Ref_ActivityBase : ActivityBase
  116. {
  117. [JsonInclude]
  118. public string __Material;
  119.  
  120. }
  121. }