WeSceneDto.cs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using System.Collections;
  2. using System.Text.RegularExpressions;
  3. using IwbZero.IwbBase;
  4. using IwbZero.ToolCommon.StringModel;
  5. using Newtonsoft.Json;
  6. namespace WeEngine.CommonDto.WeInfo
  7. {
  8. public class WeSceneDto
  9. {
  10. public string Id { get; set; }
  11. public string No { get; set; }
  12. public string Name { get; set; }
  13. public string Path { get; set; }
  14. public string ParentPath { get; set; }
  15. public int SceneType { get; set; }
  16. public string SceneTag { get; set; }
  17. [JsonIgnore]
  18. public string _description;
  19. public string Description
  20. {
  21. get
  22. {
  23. if (Variables != null)
  24. {
  25. var reg = new Regex("@[0-9,a-z,A-Z]*");
  26. var desc = reg.Replace(_description, match => match.ToString().ToUpper());
  27. foreach (DictionaryEntry entry in Variables)
  28. {
  29. var variable = (IwbRtVariable)entry.Value;
  30. desc = desc.Replace(variable.VarName.ToUpper(), variable.GetStringValue());
  31. }
  32. return desc;
  33. }
  34. return _description;
  35. }
  36. set => _description = value;
  37. }
  38. public string BehaviorNos { get; set; }
  39. public string VariableStr { get; set; }
  40. [JsonIgnore]
  41. public Hashtable _variables;
  42. public Hashtable Variables
  43. {
  44. get => _variables != null && _variables.Count > 0 ? _variables : GetVariable();
  45. set => _variables = value;
  46. }
  47. public string EnvironResourceNos { get; set; }
  48. public string GuideNos { get; set; }
  49. protected Hashtable GetVariable()
  50. {
  51. if (VariableStr.IsNotEmpty())
  52. {
  53. var table = new Hashtable();
  54. var varArr = VariableStr.StrToArray();
  55. foreach (var v in varArr)
  56. {
  57. var variable = IwbRtVariable.Str2Variable(v);
  58. table[variable.VarName] = variable;
  59. }
  60. return table;
  61. }
  62. return null;
  63. }
  64. }
  65. }