public ActionNode(IInteractionAction action) { interactionAction = action; Guid = action.Guid; switch (action.ActionType) { case ActionType.OpenAction: IInteractionOpenAction openAction = action as IInteractionOpenAction; OperateType = CommonData.ActionOpen; if (openAction.LinkPageGuid == Guid.Empty) { pageOrLink = openAction.ExternalUrl; } else { IPage page = _document.Pages.GetPage(openAction.LinkPageGuid); pageOrLink = page.Name; PageGuid = openAction.LinkPageGuid; } IN = CommonData.IN; if (openAction.OpenIn == ActionOpenIn.CurrentWindow) { Container = CommonData.CurrentWindow; } else if (openAction.OpenIn == ActionOpenIn.NewWindowOrTab) { Container = CommonData.NewWindowTab; } break; case ActionType.CloseAction: OperateType = CommonData.ActionClose + " " + CommonData.CurrentWindow; break; } }
public void AddAction(IInteractionAction action, int index) { InteractionAction newAction = action as InteractionAction; if (newAction != null) { _actions.Insert(index, newAction); newAction.InteractionCase = this; } }
public InteractionTargetProxy(object target, IInteractionAction interactionAction) : base(target) { this.handler = (sender, args) => { if (target is Behaviour behaviour && !behaviour.isActiveAndEnabled) { return; } interactionAction.OnRequest(sender, args); }; }
public ITargetProxy CreateProxy(object target, BindingDescription description) { if (target == null || !(target is ILuaExtendable)) { return(null); } LuaTable metatable = (target as ILuaExtendable).GetMetatable(); if (metatable == null || !metatable.ContainsKey(description.TargetName)) { return(null); } var obj = metatable.Get <object>(description.TargetName); if (obj != null) { LuaFunction function = obj as LuaFunction; if (function != null) { return(new LuaMethodTargetProxy(target, function)); } IObservableProperty observableValue = obj as IObservableProperty; if (observableValue != null) { return(new ObservableTargetProxy(target, observableValue)); } IInteractionAction interactionAction = obj as IInteractionAction; if (interactionAction != null) { return(new InteractionTargetProxy(target, interactionAction)); } } return(new LuaTableTargetProxy(target, description.TargetName)); }
public InteractionTargetProxy(object target, IInteractionAction interactionAction) : base(target) { this.handler = interactionAction.OnRequest; }
public JsAction(HtmlServiceProvider service, IInteractionAction action) { _service = service; _action = action; }