123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using CommonLang.Property;
- using CommonAI.Zone.Attributes;
- using CommonLang.Formula;
- using CommonAI.Zone.EventTrigger;
- using CommonAI.Zone.Instance;
- namespace CommonAI.Zone.ZoneEditor.EventTrigger
- {
- //-----------------------------------------------------------------------------
- #region __BUFF模板__
- [DescAttribute("BUFF模板")]
- public abstract class BuffTemplateValue : AbstractValue<BuffTemplate>
- {
- [DescAttribute("BUFF模板", "编辑器")]
- public class Template : BuffTemplateValue
- {
- [DescAttribute("BUFF模板ID")]
- [TemplateIDAttribute(typeof(BuffTemplate))]
- public int BuffTemplateID;
- public override string ToString()
- {
- return string.Format("BUFF模板:{0}", BuffTemplateID);
- }
- public override BuffTemplate GetValue(IEditorValueAdapter api, EventArguments args)
- {
- return api.Templates.getBuff(BuffTemplateID);
- }
- }
- [DescAttribute("触发的BUFF", "功能")]
- public class Trigging : BuffTemplateValue
- {
- public override string ToString()
- {
- return string.Format("触发的BUFF");
- }
- public override BuffTemplate GetValue(IEditorValueAdapter api, EventArguments args)
- {
- return args.TriggingBuffTemplate;
- }
- }
- }
- [DescAttribute("BUFF模板", "比较")]
- public class BuffTemplateComparison : BooleanValue
- {
- [DescAttribute("物品1")]
- public BuffTemplateValue Value1 = new BuffTemplateValue.Trigging();
- [DescAttribute("比较符")]
- public ObjectComparisonOP Op = ObjectComparisonOP.EQUAL;
- [DescAttribute("物品2")]
- public BuffTemplateValue Value2 = new BuffTemplateValue.Trigging();
- public override string ToString()
- {
- return string.Format("({0}){1}({2})", Value1, FormulaHelper.ToString(Op), Value2);
- }
- public override Boolean GetValue(IEditorValueAdapter api, EventArguments args)
- {
- BuffTemplate c1 = Value1.GetValue(api, args);
- BuffTemplate c2 = Value2.GetValue(api, args);
- if (c1 == c2)
- {
- return true;
- }
- if (c1 != null && c2 != null)
- {
- return FormulaHelper.Compare(c1.ID, Op, c2.ID);
- }
- return FormulaHelper.Compare(c1, Op, c2);
- }
- }
- [DescAttribute("BUFF编辑器模板", "模板ID")]
- public class BuffTemplateID : IntegerValue
- {
- [DescAttribute("模板ID")]
- [TemplateIDAttribute(typeof(BuffTemplate))]
- public int ID;
- public override string ToString()
- {
- return string.Format("BUFF模板:{0}", ID);
- }
- public override Int32 GetValue(IEditorValueAdapter api, EventArguments args)
- {
- return ID;
- }
- }
- [DescAttribute("BUFF模板", "模板ID")]
- public class ValueBuffTemplateID : IntegerValue
- {
- [DescAttribute("BUFF")]
- public BuffTemplateValue Buff = new BuffTemplateValue.Trigging();
- public override string ToString()
- {
- return string.Format("BUFF({0})", Buff);
- }
- public override Int32 GetValue(IEditorValueAdapter api, EventArguments args)
- {
- BuffTemplate buff = Buff.GetValue(api, args);
- if (buff != null)
- {
- return buff.ID;
- }
- return 0;
- }
- }
- #endregion
- //-----------------------------------------------------------------------------
- //-----------------------------------------------------------------------------
- #region __物品模板__
- [DescAttribute("物品模板")]
- public abstract class ItemTemplateValue : AbstractValue<ItemTemplate>
- {
- [DescAttribute("物品模板", "编辑器")]
- public class Template : ItemTemplateValue
- {
- [DescAttribute("物品模板ID")]
- [TemplateIDAttribute(typeof(ItemTemplate))]
- public int ItemTemplateID;
- public override string ToString()
- {
- return string.Format("物品模板:{0}", ItemTemplateID);
- }
- public override ItemTemplate GetValue(IEditorValueAdapter api, EventArguments args)
- {
- return api.Templates.getItem(ItemTemplateID);
- }
- }
- [DescAttribute("物品实体模板", "编辑器")]
- public class Instance : ItemTemplateValue
- {
- [DescAttribute("物品实体")]
- public ItemValue Item = new ItemValue.NA();
- public override string ToString()
- {
- return string.Format("物品实体模板:{0}", Item);
- }
- public override ItemTemplate GetValue(IEditorValueAdapter api, EventArguments args)
- {
- InstanceItem item = Item.GetValue(api, args);
- if (item != null)
- {
- return item.Info;
- }
- return null;
- }
- }
- [DescAttribute("触发的物品模板", "功能")]
- public class Trigging : ItemTemplateValue
- {
- public override string ToString()
- {
- return string.Format("触发的物品模板");
- }
- public override ItemTemplate GetValue(IEditorValueAdapter api, EventArguments args)
- {
- return args.TriggingItemTemplate;
- }
- }
- [DescAttribute("最后创建的物品模板", "功能")]
- public class LastCreatedItem : ItemTemplateValue
- {
- public override string ToString()
- {
- return string.Format("最后创建的物品模板");
- }
- public override ItemTemplate GetValue(IEditorValueAdapter api, EventArguments args)
- {
- if (api.ZoneAPI.LastCreatedInstanceItem != null)
- {
- return api.ZoneAPI.LastCreatedInstanceItem.Info;
- }
- return null;
- }
- }
- [DescAttribute("最后使用的物品模板", "功能")]
- public class LastUsedItem : ItemTemplateValue
- {
- public override string ToString()
- {
- return string.Format("最后使用的物品模板");
- }
- public override ItemTemplate GetValue(IEditorValueAdapter api, EventArguments args)
- {
- return api.ZoneAPI.LastUnitUseItem;
- }
- }
- [DescAttribute("单位最后进入背包的物品模板", "功能")]
- public class LastGotInventoryItem : ItemTemplateValue
- {
- public override string ToString()
- {
- return string.Format("单位最后进入背包的物品模板");
- }
- public override ItemTemplate GetValue(IEditorValueAdapter api, EventArguments args)
- {
- return api.ZoneAPI.LastUnitGotInventoryItem;
- }
- }
- [DescAttribute("单位最后从场景检取物品模板", "功能")]
- public class LastGotInstanceItem : ItemTemplateValue
- {
- public override string ToString()
- {
- return string.Format("单位最后从场景检取物品模板");
- }
- public override ItemTemplate GetValue(IEditorValueAdapter api, EventArguments args)
- {
- if (api.ZoneAPI.LastUnitGotInstanceItem != null)
- {
- return api.ZoneAPI.LastUnitGotInstanceItem.Info;
- }
- return null;
- }
- }
- }
- [DescAttribute("物品模板", "比较")]
- public class ItemTemplateComparison : BooleanValue
- {
- [DescAttribute("物品1")]
- public ItemTemplateValue Value1 = new ItemTemplateValue.Trigging();
- [DescAttribute("比较符")]
- public ObjectComparisonOP Op = ObjectComparisonOP.EQUAL;
- [DescAttribute("物品2")]
- public ItemTemplateValue Value2 = new ItemTemplateValue.Trigging();
- public override string ToString()
- {
- return string.Format("({0}){1}({2})", Value1, FormulaHelper.ToString(Op), Value2);
- }
- public override Boolean GetValue(IEditorValueAdapter api, EventArguments args)
- {
- ItemTemplate c1 = Value1.GetValue(api, args);
- ItemTemplate c2 = Value2.GetValue(api, args);
- if (c1 == c2)
- {
- return true;
- }
- if (c1 != null && c2 != null)
- {
- return FormulaHelper.Compare(c1.ID, Op, c2.ID);
- }
- return FormulaHelper.Compare(c1, Op, c2);
- }
- }
- [DescAttribute("物品编辑器模板", "模板ID")]
- public class ItemTemplateID : IntegerValue
- {
- [DescAttribute("模板ID")]
- [TemplateIDAttribute(typeof(ItemTemplate))]
- public int ID;
- public override string ToString()
- {
- return string.Format("物品模板:{0}", ID);
- }
- public override Int32 GetValue(IEditorValueAdapter api, EventArguments args)
- {
- return ID;
- }
- }
- [DescAttribute("物品模板", "模板ID")]
- public class ValueItemTemplateID : IntegerValue
- {
- [DescAttribute("物品")]
- public ItemTemplateValue Item = new ItemTemplateValue.Trigging();
- public override string ToString()
- {
- return string.Format("物品({0})", Item);
- }
- public override Int32 GetValue(IEditorValueAdapter api, EventArguments args)
- {
- ItemTemplate item = Item.GetValue(api, args);
- if (item != null)
- {
- return item.ID;
- }
- return 0;
- }
- }
- [DescAttribute("物品单位模板", "模板ID")]
- public class InstanceItemTemplateID : IntegerValue
- {
- [DescAttribute("物品")]
- public ItemValue Item = new ItemValue.Trigging();
- public override string ToString()
- {
- return string.Format("物品单位({0})", Item);
- }
- public override Int32 GetValue(IEditorValueAdapter api, EventArguments args)
- {
- InstanceItem item = Item.GetValue(api, args);
- if (item != null)
- {
- return item.Info.ID;
- }
- return 0;
- }
- }
- #endregion
- //-----------------------------------------------------------------------------
- #region __技能模板__
- [DescAttribute("技能模板")]
- public abstract class SkillTemplateValue : AbstractValue<SkillTemplate>
- {
- [DescAttribute("技能模板", "编辑器")]
- public class Template : SkillTemplateValue
- {
- [DescAttribute("技能模板ID")]
- [TemplateIDAttribute(typeof(SkillTemplate))]
- public int SkillTemplateID;
- public override string ToString()
- {
- return string.Format("技能模板:{0}", SkillTemplateID);
- }
- public override SkillTemplate GetValue(IEditorValueAdapter api, EventArguments args)
- {
- return api.Templates.getSkill(SkillTemplateID);
- }
- }
- [DescAttribute("触发的技能", "功能")]
- public class Trigging : SkillTemplateValue
- {
- public override string ToString()
- {
- return string.Format("触发的技能");
- }
- public override SkillTemplate GetValue(IEditorValueAdapter api, EventArguments args)
- {
- return args.TriggingSkillTemplate ;
- }
- }
- [DescAttribute("最后释放的技能", "功能")]
- public class LastLaunchSkill : SkillTemplateValue
- {
- public override string ToString()
- {
- return string.Format("最后释放的技能");
- }
- public override SkillTemplate GetValue(IEditorValueAdapter api, EventArguments args)
- {
- return api.ZoneAPI.LastLaunchSkill;
- }
- }
- }
- [DescAttribute("技能模板", "比较")]
- public class SkillTemplateComparison : BooleanValue
- {
- [DescAttribute("技能1")]
- public SkillTemplateValue Value1 = new SkillTemplateValue.Trigging();
- [DescAttribute("比较符")]
- public ObjectComparisonOP Op = ObjectComparisonOP.EQUAL;
- [DescAttribute("技能2")]
- public SkillTemplateValue Value2 = new SkillTemplateValue.Trigging();
- public override string ToString()
- {
- return string.Format("({0}){1}({2})", Value1, FormulaHelper.ToString(Op), Value2);
- }
- public override Boolean GetValue(IEditorValueAdapter api, EventArguments args)
- {
- SkillTemplate c1 = Value1.GetValue(api, args);
- SkillTemplate c2 = Value2.GetValue(api, args);
- if (c1 == c2)
- {
- return true;
- }
- if (c1 != null && c2 != null)
- {
- return FormulaHelper.Compare(c1.ID, Op, c2.ID);
- }
- return FormulaHelper.Compare(c1, Op, c2);
- }
- }
- [DescAttribute("技能编辑器模板", "模板ID")]
- public class SkillTemplateID : IntegerValue
- {
- [DescAttribute("模板ID")]
- [TemplateIDAttribute(typeof(SkillTemplate))]
- public int ID;
- public override string ToString()
- {
- return string.Format("技能模板:{0}", ID);
- }
- public override Int32 GetValue(IEditorValueAdapter api, EventArguments args)
- {
- return ID;
- }
- }
- [DescAttribute("技能模板", "模板ID")]
- public class ValueSkillTemplateID : IntegerValue
- {
- [DescAttribute("技能")]
- public SkillTemplateValue Skill = new SkillTemplateValue.Trigging();
- public override string ToString()
- {
- return string.Format("技能({0})", Skill);
- }
- public override Int32 GetValue(IEditorValueAdapter api, EventArguments args)
- {
- SkillTemplate skill = Skill.GetValue(api, args);
- if (skill != null)
- {
- return skill.ID;
- }
- return 0;
- }
- }
- #endregion
- //-----------------------------------------------------------------------------
- #region __法术模板__
- [DescAttribute("法术模板")]
- public abstract class SpellTemplateValue : AbstractValue<SpellTemplate>
- {
- [DescAttribute("法术模板", "编辑器")]
- public class Template : SpellTemplateValue
- {
- [DescAttribute("法术模板ID")]
- [TemplateIDAttribute(typeof(SpellTemplate))]
- public int SpellTemplateID;
- public override string ToString()
- {
- return string.Format("法术模板:{0}", SpellTemplateID);
- }
- public override SpellTemplate GetValue(IEditorValueAdapter api, EventArguments args)
- {
- return api.Templates.getSpell(SpellTemplateID);
- }
- }
- [DescAttribute("触发的法术", "功能")]
- public class Trigging : SpellTemplateValue
- {
- public override string ToString()
- {
- return string.Format("触发的Spell");
- }
- public override SpellTemplate GetValue(IEditorValueAdapter api, EventArguments args)
- {
- return args.TriggingSpellTemplate;
- }
- }
- [DescAttribute("最后释放的法术", "功能")]
- public class LastLaunchSpell : SpellTemplateValue
- {
- public override string ToString()
- {
- return string.Format("最后释放的法术");
- }
- public override SpellTemplate GetValue(IEditorValueAdapter api, EventArguments args)
- {
- return api.ZoneAPI.LastLaunchSpell;
- }
- }
- }
- [DescAttribute("法术模板", "比较")]
- public class SpellTemplateComparison : BooleanValue
- {
- [DescAttribute("法术1")]
- public SpellTemplateValue Value1 = new SpellTemplateValue.Trigging();
- [DescAttribute("比较符")]
- public ObjectComparisonOP Op = ObjectComparisonOP.EQUAL;
- [DescAttribute("法术2")]
- public SpellTemplateValue Value2 = new SpellTemplateValue.Trigging();
- public override string ToString()
- {
- return string.Format("({0}){1}({2})", Value1, FormulaHelper.ToString(Op), Value2);
- }
- public override Boolean GetValue(IEditorValueAdapter api, EventArguments args)
- {
- SpellTemplate c1 = Value1.GetValue(api, args);
- SpellTemplate c2 = Value2.GetValue(api, args);
- if (c1 == c2)
- {
- return true;
- }
- if (c1 != null && c2 != null)
- {
- return FormulaHelper.Compare(c1.ID, Op, c2.ID);
- }
- return FormulaHelper.Compare(c1, Op, c2);
- }
- }
- [DescAttribute("法术编辑器模板", "模板ID")]
- public class SpellTemplateID : IntegerValue
- {
- [DescAttribute("模板ID")]
- [TemplateIDAttribute(typeof(SpellTemplate))]
- public int ID;
- public override string ToString()
- {
- return string.Format("法术模板:{0}", ID);
- }
- public override Int32 GetValue(IEditorValueAdapter api, EventArguments args)
- {
- return ID;
- }
- }
- [DescAttribute("法术模板", "模板ID")]
- public class ValueSpellTemplateID : IntegerValue
- {
- [DescAttribute("法术")]
- public SpellTemplateValue Spell = new SpellTemplateValue.Trigging();
- public override string ToString()
- {
- return string.Format("法术({0})", Spell);
- }
- public override Int32 GetValue(IEditorValueAdapter api, EventArguments args)
- {
- SpellTemplate spell = Spell.GetValue(api, args);
- if (spell != null)
- {
- return spell.ID;
- }
- return 0;
- }
- }
- #endregion
- //-----------------------------------------------------------------------------
- #region __单位模板__
- [DescAttribute("单位模板", "模板ID")]
- public class UnitTemplateID : IntegerValue
- {
- [DescAttribute("模板ID")]
- [TemplateIDAttribute(typeof(UnitInfo))]
- public int ID;
- public override string ToString()
- {
- return string.Format("单位模板:{0}", ID);
- }
- public override Int32 GetValue(IEditorValueAdapter api, EventArguments args)
- {
- return ID;
- }
- }
- #endregion
- }
|