using System; using System.Collections.Generic; using System.Linq; using System.Text; using CommonLang.Property; using CommonAI.Zone.ZoneEditor.EventTrigger; using CommonAI.Zone.Instance; using CommonAI.Zone.ZoneEditor; using CommonAI.Zone.EventTrigger; namespace CommonAI.Zone.ZoneEditor.EventTrigger { [DescAttribute("场景物品")] public abstract class ItemValue : AbstractValue { [DescAttribute("值 - 没有场景物品", "值")] public class NA : ItemValue { public override string ToString() { return "没有物品"; } public override InstanceItem GetValue(IEditorValueAdapter api, EventArguments args) { return null; } } [DescAttribute("功能 - 触发的场景物品", "功能")] public class Trigging : ItemValue { public override string ToString() { return "触发的场景物品"; } public override InstanceItem GetValue(IEditorValueAdapter api, EventArguments args) { return args.TriggingItem; } } [DescAttribute("功能 - 最后产生的场景物品", "功能")] public class LastCreated : ItemValue { public override string ToString() { return "最后产生的物品"; } public override InstanceItem GetValue(IEditorValueAdapter api, EventArguments args) { return api.ZoneAPI.LastCreatedInstanceItem; } } [DescAttribute("单位最后从场景检取的场景物品", "功能")] public class LastGotInstance : ItemValue { public override string ToString() { return string.Format("单位最后从场景检取物品"); } public override InstanceItem GetValue(IEditorValueAdapter api, EventArguments args) { return api.ZoneAPI.LastUnitGotInstanceItem; } } [DescAttribute("检取中的场景物品", "功能")] public class LastPickingInstance : ItemValue { public override string ToString() { return string.Format("检取中的场景物品"); } public override InstanceItem GetValue(IEditorValueAdapter api, EventArguments args) { return api.ZoneAPI.LastPickingItem; } } [DescAttribute("指定名字的场景物品", "功能")] public class NamedItem : ItemValue { [DescAttribute("名字")] public StringValue Name = new StringValue.VALUE(); public override string ToString() { return string.Format("名字为\"{0}\"的场景物品", Name); } public override InstanceItem GetValue(IEditorValueAdapter api, EventArguments args) { return api.ZoneAPI.getItemByName(Name.GetValue(api, args)); } } [DescAttribute("遍历迭代中的场景物品", "循环迭代")] public class PickingIteratingItem : ItemValue { public override string ToString() { return "遍历迭代中的场景物品"; } public override InstanceItem GetValue(IEditorValueAdapter api, EventArguments args) { return args.IteratingItem; } } } }