using CommonAI.RTS; using CommonLang.Vector; using CommonAI.Zone.Attributes; using CommonAI.Zone.Instance; using CommonAI.Zone.ZoneEditor; using CommonAI.Zone.ZoneEditor.EventTrigger; using CommonLang.Property; using System; using System.Collections.Generic; using System.Linq; using System.Text; using CommonAI.Zone.EventTrigger; namespace CommonAI.Zone.ZoneEditor.EventTrigger { //------------------------------------------------------------------------------------------- #region _获取_单位变量_ [DescAttribute("单位变量", "单位 - 变量")] public class GetUnitAsString : StringValue { [DescAttribute("变量名")] public string Key = "VarName"; [DescAttribute("单位")] public UnitValue Unit = new UnitValue.Trigging(); public override string ToString() { return string.Format("获取单位({1})变量\"{0}\"", Key, Unit); } public override string GetValue(IEditorValueAdapter api, EventArguments args) { InstanceUnit unit = Unit.GetValue(api, args); if (unit != null) { return unit.GetEnvironmentVarAs(Key); } return null; } } [DescAttribute("单位变量", "单位 - 变量")] public class GetUnitAsInteger : IntegerValue { [DescAttribute("变量名")] public string Key = "VarName"; [DescAttribute("单位")] public UnitValue Unit = new UnitValue.Trigging(); public override string ToString() { return string.Format("获取单位({1})变量\"{0}\"", Key, Unit); } public override Int32 GetValue(IEditorValueAdapter api, EventArguments args) { InstanceUnit unit = Unit.GetValue(api, args); if (unit != null) { return unit.GetEnvironmentVarAs(Key); } return 0; } } [DescAttribute("单位变量", "单位 - 变量")] public class GetUnitAsReal : RealValue { [DescAttribute("变量名")] public string Key = "VarName"; [DescAttribute("单位")] public UnitValue Unit = new UnitValue.Trigging(); public override string ToString() { return string.Format("获取单位({1})变量\"{0}\"", Key, Unit); } public override Single GetValue(IEditorValueAdapter api, EventArguments args) { InstanceUnit unit = Unit.GetValue(api, args); if (unit != null) { return unit.GetEnvironmentVarAs(Key); } return 0; } } [DescAttribute("单位变量", "单位 - 变量")] public class GetUnitAsBoolean : BooleanValue { [DescAttribute("变量名")] public string Key = "VarName"; [DescAttribute("单位")] public UnitValue Unit = new UnitValue.Trigging(); public override string ToString() { return string.Format("获取单位({1})变量\"{0}\"", Key, Unit); } public override Boolean GetValue(IEditorValueAdapter api, EventArguments args) { InstanceUnit unit = Unit.GetValue(api, args); if (unit != null) { return unit.GetEnvironmentVarAs(Key); } return false; } } [DescAttribute("单位变量", "单位 - 变量")] public class GetUnitAsUnit : UnitValue { [DescAttribute("变量名")] public string Key = "VarName"; [DescAttribute("单位")] public UnitValue Unit = new UnitValue.Trigging(); public override string ToString() { return string.Format("获取单位({1})变量\"{0}\"", Key, Unit); } public override InstanceUnit GetValue(IEditorValueAdapter api, EventArguments args) { InstanceUnit unit = Unit.GetValue(api, args); if (unit != null) { return unit.GetEnvironmentVarAs(Key); } return null; } } [DescAttribute("单位变量", "单位 - 变量")] public class GetUnitAsItem : ItemValue { [DescAttribute("变量名")] public string Key = "VarName"; [DescAttribute("单位")] public UnitValue Unit = new UnitValue.Trigging(); public override string ToString() { return string.Format("获取单位({1})变量\"{0}\"", Key, Unit); } public override InstanceItem GetValue(IEditorValueAdapter api, EventArguments args) { InstanceUnit unit = Unit.GetValue(api, args); if (unit != null) { return unit.GetEnvironmentVarAs(Key); } return null; } } [DescAttribute("单位变量", "单位 - 变量")] public class GetUnitAsFlag : FlagValue { [DescAttribute("变量名")] public string Key = "VarName"; [DescAttribute("单位")] public UnitValue Unit = new UnitValue.Trigging(); public override string ToString() { return string.Format("获取单位({1})变量\"{0}\"", Key, Unit); } public override InstanceFlag GetValue(IEditorValueAdapter api, EventArguments args) { InstanceUnit unit = Unit.GetValue(api, args); if (unit != null) { return unit.GetEnvironmentVarAs(Key); } return null; } } [DescAttribute("单位变量", "单位 - 变量")] public class GetUnitAsPosition : PositionValue { [DescAttribute("变量名")] public string Key = "VarName"; [DescAttribute("单位")] public UnitValue Unit = new UnitValue.Trigging(); public override string ToString() { return string.Format("获取单位({1})变量\"{0}\"", Key, Unit); } public override Vector2 GetValue(IEditorValueAdapter api, EventArguments args) { InstanceUnit unit = Unit.GetValue(api, args); if (unit != null) { return unit.GetEnvironmentVarAs(Key); } return null; } } #endregion //------------------------------------------------------------------------------------------- #region _获取_单位变量_StringValueKey_ [DescAttribute("单位变量", "单位 - 变量(变量索引)")] public class GetUnitAsStringStringValueKey : StringValue { [DescAttribute("变量名")] public StringValue Key = new StringValue.VALUE("VarName"); [DescAttribute("单位")] public UnitValue Unit = new UnitValue.Trigging(); public override string ToString() { return string.Format("获取单位({1})变量\"{0}\"", Key, Unit); } public override string GetValue(IEditorValueAdapter api, EventArguments args) { InstanceUnit unit = Unit.GetValue(api, args); string key = Key.GetValue(api, args); if (unit != null && key != null) { return unit.GetEnvironmentVarAs(key); } return null; } } [DescAttribute("单位变量", "单位 - 变量(变量索引)")] public class GetUnitAsIntegerStringValueKey : IntegerValue { [DescAttribute("变量名")] public StringValue Key = new StringValue.VALUE("VarName"); [DescAttribute("单位")] public UnitValue Unit = new UnitValue.Trigging(); public override string ToString() { return string.Format("获取单位({1})变量\"{0}\"", Key, Unit); } public override Int32 GetValue(IEditorValueAdapter api, EventArguments args) { InstanceUnit unit = Unit.GetValue(api, args); string key = Key.GetValue(api, args); if (unit != null && key != null) { return unit.GetEnvironmentVarAs(key); } return 0; } } [DescAttribute("单位变量", "单位 - 变量(变量索引)")] public class GetUnitAsRealStringValueKey : RealValue { [DescAttribute("变量名")] public StringValue Key = new StringValue.VALUE("VarName"); [DescAttribute("单位")] public UnitValue Unit = new UnitValue.Trigging(); public override string ToString() { return string.Format("获取单位({1})变量\"{0}\"", Key, Unit); } public override Single GetValue(IEditorValueAdapter api, EventArguments args) { InstanceUnit unit = Unit.GetValue(api, args); string key = Key.GetValue(api, args); if (unit != null && key != null) { return unit.GetEnvironmentVarAs(key); } return 0; } } [DescAttribute("单位变量", "单位 - 变量(变量索引)")] public class GetUnitAsBooleanStringValueKey : BooleanValue { [DescAttribute("变量名")] public StringValue Key = new StringValue.VALUE("VarName"); [DescAttribute("单位")] public UnitValue Unit = new UnitValue.Trigging(); public override string ToString() { return string.Format("获取单位({1})变量\"{0}\"", Key, Unit); } public override Boolean GetValue(IEditorValueAdapter api, EventArguments args) { InstanceUnit unit = Unit.GetValue(api, args); string key = Key.GetValue(api, args); if (unit != null && key != null) { return unit.GetEnvironmentVarAs(key); } return false; } } [DescAttribute("单位变量", "单位 - 变量(变量索引)")] public class GetUnitAsUnitStringValueKey : UnitValue { [DescAttribute("变量名")] public StringValue Key = new StringValue.VALUE("VarName"); [DescAttribute("单位")] public UnitValue Unit = new UnitValue.Trigging(); public override string ToString() { return string.Format("获取单位({1})变量\"{0}\"", Key, Unit); } public override InstanceUnit GetValue(IEditorValueAdapter api, EventArguments args) { InstanceUnit unit = Unit.GetValue(api, args); string key = Key.GetValue(api, args); if (unit != null && key != null) { return unit.GetEnvironmentVarAs(key); } return null; } } [DescAttribute("单位变量", "单位 - 变量(变量索引)")] public class GetUnitAsItemStringValueKey : ItemValue { [DescAttribute("变量名")] public StringValue Key = new StringValue.VALUE("VarName"); [DescAttribute("单位")] public UnitValue Unit = new UnitValue.Trigging(); public override string ToString() { return string.Format("获取单位({1})变量\"{0}\"", Key, Unit); } public override InstanceItem GetValue(IEditorValueAdapter api, EventArguments args) { InstanceUnit unit = Unit.GetValue(api, args); string key = Key.GetValue(api, args); if (unit != null && key != null) { return unit.GetEnvironmentVarAs(key); } return null; } } [DescAttribute("单位变量", "单位 - 变量(变量索引)")] public class GetUnitAsFlagStringValueKey : FlagValue { [DescAttribute("变量名")] public StringValue Key = new StringValue.VALUE("VarName"); [DescAttribute("单位")] public UnitValue Unit = new UnitValue.Trigging(); public override string ToString() { return string.Format("获取单位({1})变量\"{0}\"", Key, Unit); } public override InstanceFlag GetValue(IEditorValueAdapter api, EventArguments args) { InstanceUnit unit = Unit.GetValue(api, args); string key = Key.GetValue(api, args); if (unit != null && key != null) { return unit.GetEnvironmentVarAs(key); } return null; } } [DescAttribute("单位变量", "单位 - 变量(变量索引)")] public class GetUnitAsPositionStringValueKey : PositionValue { [DescAttribute("变量名")] public StringValue Key = new StringValue.VALUE("VarName"); [DescAttribute("单位")] public UnitValue Unit = new UnitValue.Trigging(); public override string ToString() { return string.Format("获取单位({1})变量\"{0}\"", Key, Unit); } public override Vector2 GetValue(IEditorValueAdapter api, EventArguments args) { InstanceUnit unit = Unit.GetValue(api, args); string key = Key.GetValue(api, args); if (unit != null && key != null) { return unit.GetEnvironmentVarAs(key); } return null; } } #endregion }