123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using CommonLang.Property;
- using CommonAI.Zone.Attributes;
- using CommonAI.Zone.Instance;
- using CommonAI.RTS; using CommonLang.Vector;
- using CommonAI.Zone.EventTrigger;
- namespace CommonAI.Zone.ZoneEditor.EventTrigger
- {
- [DescAttribute("", "设置 - 环境变量")]
- public abstract class SetEnvironmentVar<T> : AbstractAction
- {
- abstract public string TKey { get; }
- abstract public AbstractValue<T> TValue { get; }
- public override string ToString()
- {
- return string.Format("设置环境变量\"{0}\"={1}", TKey, TValue);
- }
- override public void DoAction(EventTriggerAdapter api, EventArguments args)
- {
- T value = TValue.GetValue(api, args);
- api.ZoneAPI.SetEnvironmentVar(TKey, value);
- }
- }
- [DescAttribute("设置字符串型", "设置 - 环境变量")]
- public class SetEnvironmentString : SetEnvironmentVar<string>
- {
- [SceneVarIDAttribute(typeof(StringValue))]
- [DescAttribute("变量名")]
- public string Key = "VarName";
- [DescAttribute("变量值")]
- public StringValue Value = new StringValue.VALUE("text");
- override public AbstractValue<string> TValue { get { return Value; } }
- override public string TKey { get { return Key; } }
- }
- [DescAttribute("设置整数型", "设置 - 环境变量")]
- public class SetEnvironmentInteger : SetEnvironmentVar<Int32>
- {
- [SceneVarIDAttribute(typeof(IntegerValue))]
- [DescAttribute("变量名")]
- public string Key = "VarName";
- [DescAttribute("变量值")]
- public IntegerValue Value = new IntegerValue.VALUE();
- override public AbstractValue<Int32> TValue { get { return Value; } }
- override public string TKey { get { return Key; } }
- }
- [DescAttribute("设置小数型", "设置 - 环境变量")]
- public class SetEnvironmentReal : SetEnvironmentVar<Single>
- {
- [SceneVarIDAttribute(typeof(RealValue))]
- [DescAttribute("变量名")]
- public string Key = "VarName";
- [DescAttribute("变量值")]
- public RealValue Value = new RealValue.VALUE();
- override public AbstractValue<Single> TValue { get { return Value; } }
- override public string TKey { get { return Key; } }
- }
- [DescAttribute("设置布尔型", "设置 - 环境变量")]
- public class SetEnvironmentBool : SetEnvironmentVar<Boolean>
- {
- [SceneVarIDAttribute(typeof(BooleanValue))]
- [DescAttribute("变量名")]
- public string Key = "VarName";
- [DescAttribute("变量值")]
- public BooleanValue Value = new BooleanValue.VALUE();
- override public AbstractValue<Boolean> TValue { get { return Value; } }
- override public string TKey { get { return Key; } }
- }
- [DescAttribute("设置单位", "设置 - 环境变量")]
- public class SetEnvironmentUnit : SetEnvironmentVar<InstanceUnit>
- {
- [SceneVarIDAttribute(typeof(UnitValue))]
- [DescAttribute("变量名")]
- public string Key = "VarName";
- [DescAttribute("变量值")]
- public UnitValue Value = new UnitValue.NA();
- override public AbstractValue<InstanceUnit> TValue { get { return Value; } }
- override public string TKey { get { return Key; } }
- }
- [DescAttribute("设置Flag", "设置 - 环境变量")]
- public class SetEnvironmentFlag : SetEnvironmentVar<InstanceFlag>
- {
- [SceneVarIDAttribute(typeof(FlagValue))]
- [DescAttribute("变量名")]
- public string Key = "VarName";
- [DescAttribute("变量值")]
- public FlagValue Value = new FlagValue.NA();
- override public AbstractValue<InstanceFlag> TValue { get { return Value; } }
- override public string TKey { get { return Key; } }
- }
- [DescAttribute("设置物品", "设置 - 环境变量")]
- public class SetEnvironmentItem : SetEnvironmentVar<InstanceItem>
- {
- [SceneVarIDAttribute(typeof(ItemValue))]
- [DescAttribute("变量名")]
- public string Key = "VarName";
- [DescAttribute("变量值")]
- public ItemValue Value = new ItemValue.NA();
- override public AbstractValue<InstanceItem> TValue { get { return Value; } }
- override public string TKey { get { return Key; } }
- }
- [DescAttribute("设置位置坐标", "设置 - 环境变量")]
- public class SetEnvironmentPosition : SetEnvironmentVar<Vector2>
- {
- [SceneVarIDAttribute(typeof(PositionValue))]
- [DescAttribute("变量名")]
- public string Key = "VarName";
- [DescAttribute("变量值")]
- public PositionValue Value = new PositionValue.VALUE();
- override public AbstractValue<Vector2> TValue { get { return Value; } }
- override public string TKey { get { return Key; } }
- }
- //---------------------------------------------------------------------------------------------------
- [DescAttribute("", "设置 - 环境变量")]
- public abstract class SetEnvironmentVarSV<T> : AbstractAction
- {
- abstract public StringValue TKey { get; }
- abstract public AbstractValue<T> TValue { get; }
- public override string ToString()
- {
- return string.Format("设置环境变量\"{0}\"={1}", TKey, TValue);
- }
- override public void DoAction(EventTriggerAdapter api, EventArguments args)
- {
- T value = TValue.GetValue(api, args);
- api.ZoneAPI.SetEnvironmentVar(TKey.GetValue(api, args), value);
- }
- }
- [DescAttribute("设置字符串型(变量)", "设置 - 环境变量")]
- public class SetEnvironmentStringSV : SetEnvironmentVarSV<string>
- {
- [DescAttribute("变量名")]
- public StringValue Key = new StringValue.VALUE("VarName");
- [DescAttribute("变量值")]
- public StringValue Value = new StringValue.VALUE("text");
- override public AbstractValue<string> TValue { get { return Value; } }
- override public StringValue TKey { get { return Key; } }
- }
- [DescAttribute("设置整数型(变量)", "设置 - 环境变量")]
- public class SetEnvironmentIntegerSV : SetEnvironmentVarSV<Int32>
- {
- [DescAttribute("变量名")]
- public StringValue Key = new StringValue.VALUE("VarName");
- [DescAttribute("变量值")]
- public IntegerValue Value = new IntegerValue.VALUE();
- override public AbstractValue<Int32> TValue { get { return Value; } }
- override public StringValue TKey { get { return Key; } }
- }
- [DescAttribute("设置小数型(变量)", "设置 - 环境变量")]
- public class SetEnvironmentRealSV : SetEnvironmentVarSV<Single>
- {
- [DescAttribute("变量名")]
- public StringValue Key = new StringValue.VALUE("VarName");
- [DescAttribute("变量值")]
- public RealValue Value = new RealValue.VALUE();
- override public AbstractValue<Single> TValue { get { return Value; } }
- override public StringValue TKey { get { return Key; } }
- }
- [DescAttribute("设置布尔型(变量)", "设置 - 环境变量")]
- public class SetEnvironmentBoolSV : SetEnvironmentVarSV<Boolean>
- {
- [DescAttribute("变量名")]
- public StringValue Key = new StringValue.VALUE("VarName");
- [DescAttribute("变量值")]
- public BooleanValue Value = new BooleanValue.VALUE();
- override public AbstractValue<Boolean> TValue { get { return Value; } }
- override public StringValue TKey { get { return Key; } }
- }
- [DescAttribute("设置单位(变量)", "设置 - 环境变量")]
- public class SetEnvironmentUnitSV : SetEnvironmentVarSV<InstanceUnit>
- {
- [DescAttribute("变量名")]
- public StringValue Key = new StringValue.VALUE("VarName");
- [DescAttribute("变量值")]
- public UnitValue Value = new UnitValue.NA();
- override public AbstractValue<InstanceUnit> TValue { get { return Value; } }
- override public StringValue TKey { get { return Key; } }
- }
- [DescAttribute("设置Flag(变量)", "设置 - 环境变量")]
- public class SetEnvironmentFlagSV : SetEnvironmentVarSV<InstanceFlag>
- {
- [DescAttribute("变量名")]
- public StringValue Key = new StringValue.VALUE("VarName");
- [DescAttribute("变量值")]
- public FlagValue Value = new FlagValue.NA();
- override public AbstractValue<InstanceFlag> TValue { get { return Value; } }
- override public StringValue TKey { get { return Key; } }
- }
- [DescAttribute("设置物品(变量)", "设置 - 环境变量")]
- public class SetEnvironmentItemSV : SetEnvironmentVarSV<InstanceItem>
- {
- [DescAttribute("变量名")]
- public StringValue Key = new StringValue.VALUE("VarName");
- [DescAttribute("变量值")]
- public ItemValue Value = new ItemValue.NA();
- override public AbstractValue<InstanceItem> TValue { get { return Value; } }
- override public StringValue TKey { get { return Key; } }
- }
- [DescAttribute("设置位置坐标(变量)", "设置 - 环境变量")]
- public class SetEnvironmentPositionSV : SetEnvironmentVarSV<Vector2>
- {
- [DescAttribute("变量名")]
- public StringValue Key = new StringValue.VALUE("VarName");
- [DescAttribute("变量值")]
- public PositionValue Value = new PositionValue.VALUE();
- override public AbstractValue<Vector2> TValue { get { return Value; } }
- override public StringValue TKey { get { return Key; } }
- }
- }
|