123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- using CommonAI.Zone.ZoneEditor.EventTrigger;
- using CommonLang.Property;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace CommonAI.Zone.EventTrigger
- {
- public interface IEditorValue
- {
- object GetEnvValue(IEditorValueAdapter api);
- }
- public interface IEventDataNode
- {
- /// <summary>
- /// 触发器名字
- /// </summary>
- string EventName { get; set; }
- /// <summary>
- /// 启用
- /// </summary>
- bool EventIsActive { get; set; }
- /// <summary>
- /// 注释
- /// </summary>
- string EventComment { get; set; }
- /// <summary>
- /// 保存
- /// </summary>
- string EventTreePath { get; set; }
- /// <summary>
- /// 延迟执行
- /// </summary>
- int EventDelayTimeMS { get; set; }
- /// <summary>
- /// 临时变量
- /// </summary>
- List<LocalVar> EventLocalVars { get; }
- /// <summary>
- /// 事件触发
- /// </summary>
- List<AbstractTrigger> EventTriggers { get; }
- /// <summary>
- /// 条件
- /// </summary>
- List<AbstractCondition> EventConditions { get; }
- /// <summary>
- /// 动作
- /// </summary>
- List<AbstractAction> EventActions { get; }
- /// <summary>
- /// 功能文本
- /// </summary>
- /// <returns></returns>
- string FunctionText();
- }
- [DescAttribute("临时变量")]
- [Expandable]
- public abstract class LocalVar
- {
- [DescAttribute("变量名")]
- public string Key = "LocalVarName";
- public abstract object GetValue(IEditorValueAdapter api, EventArguments args);
- public abstract object GetAbstractValue();
- }
- [DescAttribute("触发事件")]
- [Expandable]
- public abstract class AbstractTrigger : IDisposable
- {
- abstract public void Listen(EventTriggerAdapter api, EventArguments args);
- virtual public void Dispose() { }
- }
- [DescAttribute("条件")]
- [Expandable]
- public abstract class AbstractCondition : IDisposable
- {
- abstract public bool Test(EventTriggerAdapter api, EventArguments args);
- virtual public void Dispose() { }
- }
- [DescAttribute("动作")]
- [Expandable]
- public abstract class AbstractAction : IDisposable
- {
- abstract public void DoAction(EventTriggerAdapter api, EventArguments args);
- virtual public void Dispose() { }
- }
- [DescAttribute("抽象值")]
- [Expandable]
- public abstract class AbstractValue<T> : IEditorValue
- {
- abstract public T GetValue(IEditorValueAdapter api, EventArguments args);
- public object GetEnvValue(IEditorValueAdapter api)
- {
- return GetValue(api, new EventArguments());
- }
- }
- }
|