public ControlButton(string name, ControllerState state, Action callback, TriggerCondition condition) { this.name = name; this.state = state; this.callback = callback; this.condition = condition; }
static public string Parse(TriggerCondition t) { switch (t) { case TriggerCondition.ON_SELF_ENTER: return("Arrival"); case TriggerCondition.ON_CREATURE_ENTER: return("Creature Arrives"); case TriggerCondition.ON_SELF_DAMAGE_DEALT_TO_PLAYER: return("Breach"); case TriggerCondition.ON_SELF_DAMAGE_TAKEN: return("Endure"); case TriggerCondition.ON_SELF_DIES: return("Departure"); case TriggerCondition.ON_CREATURE_DIES: return("Creature Departs"); case TriggerCondition.ON_STACK_UPDATED: return("Response"); case TriggerCondition.IS_ALIVE: return("Static"); } return(PARSE_ERROR); }
private void CreateCompositeTrigger() { if (trigger == null) { // A CompositeMagicTrigger handles player passing through portals trigger = gameObject.GetOrAddComponent <CompositeMagicTrigger>(); TriggerCondition positionCondition = new TriggerCondition { triggerCondition = TriggerConditionType.PlayerInDirectionFromPoint, useLocalCoordinates = true, targetDirection = Vector3.forward, targetPosition = Vector3.zero, triggerThreshold = 0.01f }; TriggerCondition movementCondition = new TriggerCondition { triggerCondition = TriggerConditionType.PlayerMovingDirection, useLocalCoordinates = true, targetDirection = Vector3.forward, triggerThreshold = 0.01f }; trigger.triggerConditions = new List <TriggerCondition>() { positionCondition, movementCondition }; } }
protected override void ProcessRecordInternal() { TriggerCondition triggerCondition = new TriggerCondition(thresholdOperator: ThresholdOperator, threshold: Threshold, metricTrigger: MetricTrigger); triggerCondition.Validate(); WriteObject(new PSScheduledQueryRuleTriggerCondition(triggerCondition)); }
private static void TriggerAddCondition(VTrigger trigger, TriggerCondition tc) { if (trigger != null && tc != null && !trigger.func_conditions.Contains(tc)) { trigger.func_conditions.Add(tc); } }
public ControlKey(string name, List <Keys> keys, Action callback, TriggerCondition condition) { this.name = name; this.keys = keys; this.callback = callback; this.condition = condition; this.wasPressed = false; }
private TriggerRecord(TriggerType type, TState newState, TInput trigger, TriggerCondition <TState, TInput> condition, StateEvaluator <TState, TInput> evaluator, TriggeringAction <TState, TInput> triggeringAction) { Type = type; NewState = newState; Trigger = trigger; Condition = condition; Evaluator = evaluator; TriggeringAction = triggeringAction; }
public TriggerCondition Clone() { TriggerCondition ret = this._Clone(); ret.name = this.name; ret.TriggerLimit = this.TriggerLimit; ret.IsClone = true; return(ret); }
public static VTrigger CreateUnitEventTrigger(UnitEvent e, TriggerCondition condition, TriggerAction action, int u_id) { UnitTrigger unitTrigger = (UnitTrigger)TriggerManager.CreateTrigger(TriggerType.UnitTrigger); TriggerManager.TriggerRegisterUnitEvent(unitTrigger, e, u_id); TriggerManager.TriggerAddCondition(unitTrigger, condition); TriggerManager.TriggerAddAction(unitTrigger, action); return(unitTrigger); }
public static VTrigger CreateGameEventTrigger(GameEvent e, TriggerCondition condition, TriggerAction action) { GameTrigger gameTrigger = (GameTrigger)TriggerManager.CreateTrigger(TriggerType.GameTrigger); TriggerManager.TriggerRegisterGameEvent(gameTrigger, e); TriggerManager.TriggerAddCondition(gameTrigger, condition); TriggerManager.TriggerAddAction(gameTrigger, action); return(gameTrigger); }
public static VTrigger CreateElapsedTimerTrigger(float time, TriggerCondition condition, TriggerAction action) { TimerTrigger timerTrigger = (TimerTrigger)TriggerManager.CreateTrigger(TriggerType.TimerTrigger); TriggerManager.TriggerRegisterElapsedTimer(timerTrigger, time); TriggerManager.TriggerAddCondition(timerTrigger, condition); TriggerManager.TriggerAddAction(timerTrigger, action); return(timerTrigger); }
public virtual SqlBuilder GetTriggerConditionSql <TTriggerEntity>(TriggerCondition <TTriggerEntity> triggerCondition) where TTriggerEntity : class { var conditionBody = triggerCondition.Condition.Body; return(conditionBody switch { MemberExpression memberExpression => GetUnaryExpressionSql(Expression.IsTrue(memberExpression), triggerCondition.ConditionPrefixes), _ => GetExpressionSql(conditionBody, triggerCondition.ConditionPrefixes), });
private void DrawCondition(Rect pos, TriggerCondition condition, GUIContent label) { EditorGUI.LabelField(InLine.GetRect(pos, 0, 0, 2), "Trigger"); condition.referenceTrigger = (Trigger)EditorGUI.ObjectField(InLine.GetRect(pos, 0, 100, 1), condition.referenceTrigger, typeof(Trigger), true); InLine.SetRect(pos, 1, 0, 6); { EditorGUI.LabelField(InLine.NextRect(), "IsTrue"); condition.isTrue = EditorGUI.Toggle(InLine.NextRect(true), condition.isTrue); } }
/// <summary> /// 获取指定计划的附加条件 /// </summary> /// <param name="triggerId">计划编号</param> /// <param name="conditionType">条件类型</param> /// <returns></returns> public static TriggerCondition GetTriggerConditionByTrigger(string triggerId, TaskTriggerConditionType conditionType) { if (triggerId.IsNullOrEmpty()) { return(null); } var trigger = Trigger.CreateTrigger(triggerId); trigger.SetCondition(TriggerCondition.CreateTriggerCondition(conditionType, triggerId)); return(GetTriggerConditionList(trigger)?.FirstOrDefault()); }
public bool HasEffectsOnTrigger(TriggerCondition trigger) { foreach (CardEffectDescription effect in cardEffects) { if (effect.triggerCondition == trigger) { return(true); } } return(false); }
public override string Persist() { XElement elem = new XElement("changePositionStrategySetting"); elem.Add(new XAttribute("closeLeg", CloseLeg)); elem.Add(new XAttribute("side", CloseLegSide.ToString())); elem.Add(new XAttribute("triggerCondition", TriggerCondition.ToString())); elem.Add(new XAttribute("threshold", Threshold)); return(elem.ToString()); }
void commentOutItem_Click(object sender, EventArgs e) { MenuItem mi = sender as MenuItem; FunctorEditor fe = mi.Tag as FunctorEditor; TriggerCondition comp = fe.Tag as TriggerCondition; if (comp == null) { return; } comp.CommentOut = !comp.CommentOut; UpdateComponentVisuals(comp, fe); }
void upgradeItem_Click(object sender, EventArgs e) { MenuItem mi = sender as MenuItem; FunctorEditor fe = mi.Tag as FunctorEditor; TriggerCondition comp = fe.Tag as TriggerCondition; if (comp == null) { return; } comp.CommentOut = true; //UpdateComponentVisuals(comp, fe); TriggerCondition condition; Dictionary <int, TriggerValue> values; TriggerSystemMain.mTriggerDefinitions.GetTriggerCondition(comp.Type, out condition, out values); int newID; mParentTriggerNamespace.InsertCondition(this.Trigger.ID, condition, values, out newID, comp); //copy over old values Dictionary <int, int> oldIDsBySigID = new Dictionary <int, int>(); for (int i = 0; i < comp.Parameter.Count; i++) { oldIDsBySigID[comp.Parameter[i].SigID] = comp.Parameter[i].ID; } List <TriggerVariable> oldParams = comp.Parameter; for (int i = 0; i < condition.Parameter.Count; i++) { int oldVarID; if (oldIDsBySigID.TryGetValue(condition.Parameter[i].SigID, out oldVarID)) { condition.Parameter[i].ID = oldVarID; values[oldVarID] = mParentTriggerNamespace.GetValues()[oldVarID]; } } condition.Invert = comp.Invert; condition.JustUpgraded = true; //Control c = BuildUIFromCondition(condition, values); //this.AddRow(c); ReloadUI(); }
public List <CardEffectDescription> GetEffectsOnTrigger(TriggerCondition trigger) { List <CardEffectDescription> effects = new List <CardEffectDescription>(); foreach (CardEffectDescription effect in cardEffects) { if (cardType == CardType.CREATURE && trigger != effect.triggerCondition) { continue; } effects.Add(effect); } return(effects); }
public async Task <IActionResult> SetCondition(int id) { var data = await ApiClientFactory.Instance.GetTrigger(id); if (data == null) { return(NotFound()); } var conditions = await ApiClientFactory.Instance.GetConditions(); var model = new TriggerCondition { Trigger = data, Conditions = conditions }; return(View(model)); }
public bool Can(out TriggerCondition triggerCondition) { bool can = true; triggerCondition = null; foreach (var e in triggers) { triggerCondition = e.Key; if (!triggerCondition.isFinish) { can = false; break; } } return(can); }
/// <summary> /// This function sets up a rising edge trigger on a specified channel. Expecting 2Vpp signal. /// </summary> public static StandardDriverStatusCode SetTrigger(short handle, Channel channel, int autoTriggerDelay = 0) { //3% of signal range ushort hysteresis = (ushort)((UInt16.MaxValue / 100.0) * 3.0); var triggerChannelProperty = new TriggerChannelProperties(0, hysteresis, 0, hysteresis, channel); var triggerChannelProperties = new List <TriggerChannelProperties>() { triggerChannelProperty }; var status = DriverImports.PS6000a.SetTriggerChannelProperties(handle, triggerChannelProperties.ToArray(), (short)triggerChannelProperties.Count, 0, autoTriggerDelay); if (status != StandardDriverStatusCode.Ok) { return(status); } var triggerCondition = new TriggerCondition(channel, TriggerState.True); var triggerConditions = new List <TriggerCondition>() { triggerCondition }; status = DriverImports.PS6000a.SetTriggerChannelConditions(handle, triggerConditions.ToArray(), (short)triggerConditions.Count, DriverImports.Action.PICO_CLEAR_ALL | DriverImports.Action.PICO_ADD); if (status != StandardDriverStatusCode.Ok) { return(status); } var thresholdDirection = new ThresholdDirection(channel, TriggerDirection.Rising, ThresholdMode.Level); var thresholdDirections = new List <ThresholdDirection>() { thresholdDirection }; status = DriverImports.PS6000a.SetTriggerChannelDirections(handle, thresholdDirections.ToArray(), (short)thresholdDirections.Count); if (status == StandardDriverStatusCode.Ok) { Console.WriteLine("Trigger has been setup successfully. Please input a 2Vpp signal onto channel: " + channel); } return(status); }
void UpdateComponentVisuals(TriggerCondition condition, FunctorEditor fe) { fe.FunctionName = ((condition.Invert == true) ? "! " : "") + condition.Type; if (condition.CommentOut == true) { if (mLastBackColor != Color.DarkGray) { mLastBackColor = fe.BackColor; } fe.BackColor = Color.DarkGray; } else if (mLastBackColor != Color.Empty) { fe.BackColor = Color.Empty;//mLastBackColor; } }
/// <summary> /// This function sets up a digital rising edge trigger on DIGITAL_CHANNEL5 on a specified port. /// </summary> public static StandardDriverStatusCode SetDigitalTrigger(short handle, Channel port) { var channel = DigitalChannel.DIGITAL_CHANNEL5; var digitalChannelDirection = new DigitalChannelDirections(channel, DigitalDirection.DIGITAL_DIRECTION_RISING); var digitalChannelDirections = new List <DigitalChannelDirections>() { digitalChannelDirection }; var status = DriverImports.PS6000a.SetTriggerDigitalPortProperties(handle, port, digitalChannelDirections.ToArray(), 1); if (status != StandardDriverStatusCode.Ok) { return(status); } var triggerCondition = new TriggerCondition(port, TriggerState.True); var triggerConditions = new List <TriggerCondition>() { triggerCondition }; status = DriverImports.PS6000a.SetTriggerChannelConditions(handle, triggerConditions.ToArray(), (short)triggerConditions.Count, DriverImports.Action.PICO_CLEAR_ALL | DriverImports.Action.PICO_ADD); if (status != StandardDriverStatusCode.Ok) { return(status); } var thresholdDirection = new ThresholdDirection(port, TriggerDirection.Rising, ThresholdMode.Level); var thresholdDirections = new List <ThresholdDirection>() { thresholdDirection }; status = DriverImports.PS6000a.SetTriggerChannelDirections(handle, thresholdDirections.ToArray(), (short)thresholdDirections.Count); if (status == StandardDriverStatusCode.Ok) { Console.WriteLine("Trigger has been setup successfully. Please input a signal signal onto port: " + port + " channel: " + channel); } return(status); }
//...ugh, this will be a tree in the future... override protected void OnReordered() { List <TriggerCondition> conditions = new List <TriggerCondition>(); foreach (Control c in mControls) { FunctorEditor f = c as FunctorEditor; if (f != null) { TriggerCondition cond = f.Tag as TriggerCondition; if (cond != null) { conditions.Add(cond); } } } ParentTriggerNamespace.ReOrderConditions(Trigger, conditions); }
public virtual SqlBuilder GetTriggerConditionSql <TTriggerEntity>(TriggerCondition <TTriggerEntity> triggerCondition) where TTriggerEntity : class { var conditionBody = triggerCondition.Condition.Body; if (conditionBody is BinaryExpression binaryExpression) { return(GetBinaryExpressionSql(binaryExpression, triggerCondition.ConditionPrefixes)); } else if (conditionBody is MemberExpression memberExpression) { return(GetUnaryExpressionSql(Expression.IsTrue(memberExpression), triggerCondition.ConditionPrefixes)); } else if (conditionBody is UnaryExpression unaryExpression) { return(GetUnaryExpressionSql(unaryExpression, triggerCondition.ConditionPrefixes)); } throw new NotImplementedException($"Trigger condition of type {conditionBody.GetType()} is not supported."); }
public List <TriggerCondition> parseConditions(ExecutionCountManager executionCountManager) { List <TriggerCondition> limitations = new List <TriggerCondition>(); if (campaignLimitsConfig.ContainsKey("showConditions")) { JSONObject[] showConditions = (campaignLimitsConfig["showConditions"] as List <object>).Select(e => e as JSONObject).ToArray(); foreach (var showCondition in showConditions) { TriggerCondition limitation = parseCondition(showCondition, executionCountManager); if (limitation != null) { limitations.Add(limitation); } } } return(limitations); }
public List <ITargettingDescription> GetSelectableTargets(TriggerCondition trigger) { List <ITargettingDescription> targetList = new List <ITargettingDescription>(); foreach (CardEffectDescription effect in cardEffects) { if (effect.targettingType != null && effect.targettingType.RequiresSelection()) { // For creature cards they have effects that trigger at different times // make sure the trigger condition matches with the effect if (cardType == CardType.CREATURE && trigger != effect.triggerCondition) { continue; } targetList.Add(effect.targettingType); } } return(targetList); }
public void SetData(Targettable entity, Card c, TriggerCondition trigger, Targettable[][] targets = null) { source.cardData = c.cardData.Clone(); source.controller = c.controller; sourceEntity = entity; if (c.cardData.GetImage() && icon) { Sprite[] sprites = Resources.LoadAll <Sprite>(GameConstants.PATHS.CARD_IMAGES + c.cardData.GetImage().name); icon.sprite = sprites[1]; } if (textPrompt != null) { string effectMessage = ""; int targetsIndex = 0; foreach (CardEffectDescription desc in source.cardData.GetEffectsOnTrigger(trigger)) { if (desc.targettingType.RequiresSelection()) { effectMessage += "<sprite=" + targetsIndex + "> "; targetsIndex++; } effectMessage += desc.CardText() + '\n'; } textPrompt.SetText(effectMessage); } triggerCondition = trigger; targetList = targets; if (source.controller.isLocalPlayer) { border.color = allyColor; } else { border.color = enemyColor; } }
private static bool ResolveCondition(TriggerCondition c, CountryIdeaQuery query) { if (c.Name == "always") { return(c.Value == "yes"); } if (c.Name == "tag") { return(c.Value == query.Tag); } if (c.Name == "primary_culture") { return(c.Value == query.PrimaryCulture); } if (c.Name == "culture_group") { return(c.Value == query.CultureGroup); } if (c.Name == "religion") { return(c.Value == query.Religion); } if (c.Name == "religion_group") { return(c.Value == query.ReligionGroup); } if (c.Name == "region") { return(c.Value == query.CapitalScopeRegion); } if (c.Name == "technology_group") { return(query.TechnologyGroup?.Contains(c.Value) ?? false); } if (c.Name == "government_reform") { return(query.Reforms?.Contains(c.Value) ?? false); } return(false); }
public RelayTrigger(TriggerAction action, TriggerCondition condition) { CanExecute = (p, a, e) => { return true; }; Execute = action; Condition = condition; }
public RelayTrigger(TriggerPredicate predicate, TriggerAction action, TriggerCondition condition) { CanExecute = predicate; Execute = action; Condition = condition; }
private bool CheckCondition(TriggerCondition checkAgainst) { return (Condition & checkAgainst) == checkAgainst; }
public AutoNotifyUsagePassiveSkillTrigger(TriggerSkill skill, TriggerActionWithCardsAndPlayers execute, TriggerCondition condition, ICardUsageVerifier verifier) : this(skill, new RelayTrigger(null, condition), execute, verifier) { }
public AutoNotifyPassiveSkillTrigger(TriggerSkill skill, TriggerAction execute, TriggerCondition condition) : this(skill, new RelayTrigger(execute, condition)) { }
public AutoNotifyUsagePassiveSkillTrigger(UsageTriggerSkill skill, TriggerPredicate canExecute, TriggerAction execute, TriggerCondition condition) : this(skill, new RelayTrigger(canExecute, execute, condition)) { }
internal bool TypeSpecificEquals(TriggerCondition value) { if (this.Property == value.Property && this.Binding == value.Binding && this.LogicalOp == value.LogicalOp && this.Value == value.Value && this.SourceName == value.SourceName) { return true; } return false; }
public void OnLoad(ConfigNode configNode) { condition = ConfigNodeUtil.ParseValue<TriggerCondition>(configNode, "condition"); position = ConfigNodeUtil.ParseValue<Position>(configNode, "position"); width = ConfigNodeUtil.ParseValue<float>(configNode, "width"); height = ConfigNodeUtil.ParseValue<float>(configNode, "height"); title = ConfigNodeUtil.ParseValue<string>(configNode, "title", ""); titleColor = ConfigNodeUtil.ParseValue<Color>(configNode, "titleColor"); parameter = ConfigNodeUtil.ParseValue<string>(configNode, "parameter", ""); IEnumerable<Type> sectionTypes = ContractConfigurator.GetAllTypes<Section>(); foreach (ConfigNode sectionNode in configNode.GetNodes()) { Type type = sectionTypes.Where(t => t.Name == sectionNode.name).FirstOrDefault(); if (type == null) { throw new ArgumentException("Couldn't find dialog box section of type " + sectionNode.name); } Section section = (Section)Activator.CreateInstance(type); section.OnLoad(sectionNode); sections.Add(section); } }