Values.A.cs 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using CommonLang.Property;
  5. using CommonAI.Zone.Attributes;
  6. using CommonAI.Zone.ZoneEditor;
  7. using CommonLang.Formula;
  8. using CommonAI.Zone.Instance;
  9. using CommonAI.RTS; using CommonLang.Vector;
  10. using CommonLang;
  11. using CommonAI.Zone.EventTrigger;
  12. namespace CommonAI.Zone.ZoneEditor.EventTrigger
  13. {
  14. public static class AbstractValueTypeMap
  15. {
  16. private static TypeDescAttribute[] types = new TypeDescAttribute[]{
  17. new TypeDescAttribute(typeof(StringValue)),
  18. new TypeDescAttribute(typeof(IntegerValue)),
  19. new TypeDescAttribute(typeof(RealValue)),
  20. new TypeDescAttribute(typeof(BooleanValue)),
  21. new TypeDescAttribute(typeof(UnitValue)),
  22. new TypeDescAttribute(typeof(ItemValue)),
  23. new TypeDescAttribute(typeof(FlagValue)),
  24. new TypeDescAttribute(typeof(PositionValue)),
  25. new TypeDescAttribute(typeof(ItemTemplateValue)),
  26. new TypeDescAttribute(typeof(BuffTemplateValue)),
  27. };
  28. public static TypeDescAttribute[] DescTypes
  29. {
  30. get { return types; }
  31. }
  32. public static TypeDescAttribute GetBaseValueType(Type type)
  33. {
  34. foreach (TypeDescAttribute baseType in types)
  35. {
  36. if (baseType.DataType.IsAssignableFrom(type))
  37. {
  38. return baseType;
  39. }
  40. }
  41. return null;
  42. }
  43. public static object MakeDefault(Type desc)
  44. {
  45. if (desc.Equals(typeof(StringValue)))
  46. return new StringValue.VALUE();
  47. if (desc.Equals(typeof(IntegerValue)))
  48. return new IntegerValue.VALUE();
  49. if (desc.Equals(typeof(RealValue)))
  50. return new RealValue.VALUE();
  51. if (desc.Equals(typeof(BooleanValue)))
  52. return new BooleanValue.VALUE();
  53. if (desc.Equals(typeof(UnitValue)))
  54. return new UnitValue.NA();
  55. if (desc.Equals(typeof(ItemValue)))
  56. return new ItemValue.NA();
  57. if (desc.Equals(typeof(FlagValue)))
  58. return new FlagValue.NA();
  59. if (desc.Equals(typeof(PositionValue)))
  60. return new PositionValue.VALUE();
  61. if (desc.Equals(typeof(ItemTemplateValue)))
  62. return new ItemTemplateValue.Template();
  63. return null;
  64. }
  65. }
  66. //-------------------------------------------------------------------------------------
  67. }