123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- using CommonAI.Zone.Instance;
- using CommonLang.Property;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using CommonAI.Zone.EventTrigger;
- namespace CommonAI.Zone.ZoneEditor.EventTrigger
- {
- [DescAttribute("刷新点 - 当前存活单位数量", "区域 - 刷新点")]
- public class SpawnTriggerAliveCount : IntegerValue
- {
- [DescAttribute("区域")]
- public FlagValue Region = new FlagValue.EditorRegion();
- public override string ToString()
- {
- return string.Format("刷新点[{0}]当前怪物存活数量", Region);
- }
- public override Int32 GetValue(IEditorValueAdapter api, EventArguments args)
- {
- EventTriggerAdapter evtapi = api as EventTriggerAdapter;
- if (evtapi != null)
- {
- ZoneRegion region = Region.GetValue(api, args) as ZoneRegion;
- if (region != null)
- {
- int ret = 0;
- foreach (AbstractSpawnTrigger spawn in region.GetSpawnTriggers())
- {
- ret += spawn.AliveCount;
- }
- return ret;
- }
- }
- return 0;
- }
- }
- [DescAttribute("刷新点 - 总共生成单位数量", "区域 - 刷新点")]
- public class SpawnTriggerTotalSpawnCount : IntegerValue
- {
- [DescAttribute("区域")]
- public FlagValue Region = new FlagValue.EditorRegion();
- public override string ToString()
- {
- return string.Format("刷新点[{0}]当前怪物存活数量", Region);
- }
- public override Int32 GetValue(IEditorValueAdapter api, EventArguments args)
- {
- EventTriggerAdapter evtapi = api as EventTriggerAdapter;
- if (evtapi != null)
- {
- ZoneRegion region = Region.GetValue(api, args) as ZoneRegion;
- if (region != null)
- {
- int ret = 0;
- foreach (AbstractSpawnTrigger spawn in region.GetSpawnTriggers())
- {
- ret += spawn.TotalSpawnCount;
- }
- return ret;
- }
- }
- return 0;
- }
- }
- [DescAttribute("刷新点 - 单次生成单位数量", "区域 - 刷新点")]
- public class SpawnTriggerOnceSpawnCount : IntegerValue
- {
- [DescAttribute("区域")]
- public FlagValue Region = new FlagValue.EditorRegion();
- public override string ToString()
- {
- return string.Format("刷新点[{0}]单次生成单位数量", Region);
- }
- public override Int32 GetValue(IEditorValueAdapter api, EventArguments args)
- {
- EventTriggerAdapter evtapi = api as EventTriggerAdapter;
- if (evtapi != null)
- {
- ZoneRegion region = Region.GetValue(api, args) as ZoneRegion;
- if (region != null)
- {
- int ret = 0;
- foreach (AbstractSpawnTrigger spawn in region.GetSpawnTriggers())
- {
- ret += spawn.OnceSpawnCount;
- }
- return ret;
- }
- }
- return 0;
- }
- }
- [DescAttribute("刷新点 - 总共生成单位上限", "区域 - 刷新点")]
- public class SpawnTriggerLimitedSpawnCount : IntegerValue
- {
- [DescAttribute("区域")]
- public FlagValue Region = new FlagValue.EditorRegion();
- public override string ToString()
- {
- return string.Format("刷新点[{0}]总共生成单位上限", Region);
- }
- public override Int32 GetValue(IEditorValueAdapter api, EventArguments args)
- {
- EventTriggerAdapter evtapi = api as EventTriggerAdapter;
- if (evtapi != null)
- {
- ZoneRegion region = Region.GetValue(api, args) as ZoneRegion;
- if (region != null)
- {
- int ret = 0;
- foreach (AbstractSpawnTrigger spawn in region.GetSpawnTriggers())
- {
- ret += spawn.LimitedSpawnCount;
- }
- return ret;
- }
- }
- return 0;
- }
- }
- [DescAttribute("刷新点 - 存活数量上限(不死完不刷新)", "区域 - 刷新点")]
- public class SpawnTriggerLimitedAliveCount : IntegerValue
- {
- [DescAttribute("区域")]
- public FlagValue Region = new FlagValue.EditorRegion();
- public override string ToString()
- {
- return string.Format("刷新点[{0}]存活数量上限", Region);
- }
- public override Int32 GetValue(IEditorValueAdapter api, EventArguments args)
- {
- EventTriggerAdapter evtapi = api as EventTriggerAdapter;
- if (evtapi != null)
- {
- ZoneRegion region = Region.GetValue(api, args) as ZoneRegion;
- if (region != null)
- {
- int ret = 0;
- foreach (AbstractSpawnTrigger spawn in region.GetSpawnTriggers())
- {
- ret += spawn.LimitedAliveCount;
- }
- return ret;
- }
- }
- return 0;
- }
- }
- [DescAttribute("刷新点 - 是否已完成刷新", "区域 - 刷新点")]
- public class SpawnTriggerIsSpawnOver : BooleanValue
- {
- [DescAttribute("区域")]
- public FlagValue Region = new FlagValue.EditorRegion();
- public override string ToString()
- {
- return string.Format("刷新点[{0}]是否已完成刷新", Region);
- }
- public override bool GetValue(IEditorValueAdapter api, EventArguments args)
- {
- EventTriggerAdapter evtapi = api as EventTriggerAdapter;
- if (evtapi != null)
- {
- ZoneRegion region = Region.GetValue(api, args) as ZoneRegion;
- if (region != null)
- {
- foreach (AbstractSpawnTrigger spawn in region.GetSpawnTriggers())
- {
- if (!spawn.IsSpawnOver)
- {
- return false;
- }
- }
- return true;
- }
- }
- return false;
- }
- }
- }
|