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. /// Other(其它类型): 99
  27. /// </summary>
  28. [JsonInclude]
  29. public int Type;
  30.  
  31. /// <summary>
  32. /// 物体名称
  33. /// </summary>
  34. [JsonInclude]
  35. public string Name;
  36.  
  37. /// <summary>
  38. /// 物体简介 <br/>
  39. /// 一句对物体简短的介绍, 比如拾起物体时弹出的描述
  40. /// </summary>
  41. [JsonInclude]
  42. public string Intro;
  43.  
  44. /// <summary>
  45. /// 物体详情 <br/>
  46. /// 在图鉴中的描述
  47. /// </summary>
  48. [JsonInclude]
  49. public string Details;
  50.  
  51. /// <summary>
  52. /// 是否是静态物体
  53. /// </summary>
  54. [JsonInclude]
  55. public bool IsStatic;
  56.  
  57. /// <summary>
  58. /// 物体使用交互材质 <br/>
  59. /// 如果不填,则默认使用id为0001的材质
  60. /// </summary>
  61. public ActivityMaterial Material;
  62.  
  63. /// <summary>
  64. /// 物体预制场景路径, 场景根节点必须是ActivityObject子类
  65. /// </summary>
  66. [JsonInclude]
  67. public string Prefab;
  68.  
  69. /// <summary>
  70. /// 物体图标 <br/>
  71. /// 如果不需要在图鉴或者地图编辑器中显示该物体, 则可以不用设置
  72. /// </summary>
  73. [JsonInclude]
  74. public string Icon;
  75.  
  76. /// <summary>
  77. /// 是否在地图编辑器中显示该物体
  78. /// </summary>
  79. [JsonInclude]
  80. public bool ShowInMapEditor;
  81.  
  82. /// <summary>
  83. /// 返回浅拷贝出的新对象
  84. /// </summary>
  85. public ActivityBase Clone()
  86. {
  87. var inst = new ActivityBase();
  88. inst.Id = Id;
  89. inst.Type = Type;
  90. inst.Name = Name;
  91. inst.Intro = Intro;
  92. inst.Details = Details;
  93. inst.IsStatic = IsStatic;
  94. inst.Material = Material;
  95. inst.Prefab = Prefab;
  96. inst.Icon = Icon;
  97. inst.ShowInMapEditor = ShowInMapEditor;
  98. return inst;
  99. }
  100. }
  101. private class Ref_ActivityBase : ActivityBase
  102. {
  103. [JsonInclude]
  104. public string __Material;
  105.  
  106. }
  107. }