private void OnTriggerStay(Collider other) { if (!TriggerList.Contains(other.gameObject)) { TriggerList.Add(other.gameObject); } }
public override void OnInspectorGUI() { serializedObject.Update(); var anim = serializedObject.FindProperty("anim"); EditorGUILayout.PropertyField(anim); if (IntList != null) { IntList.DoLayoutList(); } if (FloatList != null) { FloatList.DoLayoutList(); } if (BoolList != null) { BoolList.DoLayoutList(); } if (TriggerList != null) { TriggerList.DoLayoutList(); } serializedObject.ApplyModifiedProperties(); }
public FreeRuleConfig() { this.triggers = new TriggerList(); this.commons = new CommonActions(); this.components = new GameComponents(); this.gameComponentMap = new GameComponentMap(); }
public PChiaTaoFaKuoTriggerInstaller() : base("假道伐虢的记录") { TriggerList.Add(new PTrigger("假道伐虢[开始记录]") { IsLocked = true, Time = PPeriod.StartTurn.During, Effect = (PGame Game) => { Game.TagManager.PopTag <PChiaTaoFaKuoTag>(PChiaTaoFaKuoTag.TagName); Game.TagManager.CreateTag(new PChiaTaoFaKuoTag(new List <PPlayer>())); } }); TriggerList.Add(new PTrigger("假道伐虢[经过土地]") { IsLocked = true, Time = PTime.MovePositionTime, Effect = (PGame Game) => { PTransportTag TransportTag = Game.TagManager.FindPeekTag <PTransportTag>(PTransportTag.TagName); PPlayer Lord = TransportTag.Destination.Lord; if (Lord != null && !Lord.Equals(Game.NowPlayer)) { PChiaTaoFaKuoTag ChiaTaoFaKuoTag = Game.TagManager.FindPeekTag <PChiaTaoFaKuoTag>(PChiaTaoFaKuoTag.TagName); if (!ChiaTaoFaKuoTag.LordList.Contains(Lord)) { ChiaTaoFaKuoTag.LordList.Add(Lord); } } } }); }
public PLockTriggerInstaller() : base("连环传递伤害") { TriggerList.Add(new PTrigger("连环传递伤害") { IsLocked = true, Time = PTime.Injure.EndSettle, Condition = (PGame Game) => { PInjureTag InjureTag = Game.TagManager.FindPeekTag <PInjureTag>(PInjureTag.TagName); return(InjureTag.ToPlayer != null && InjureTag.Injure > 0 && InjureTag.ToPlayer.Tags.ExistTag(PTag.LockedTag.Name)); }, Effect = (PGame Game) => { PInjureTag InjureTag = Game.TagManager.FindPeekTag <PInjureTag>(PInjureTag.TagName); InjureTag.ToPlayer.Tags.PopTag <PTag>(PTag.LockedTag.Name); bool Invoke = false; Game.Traverse((PPlayer _Player) => { if (!Invoke && _Player.Tags.ExistTag(PTag.LockedTag.Name)) { Invoke = true; PNetworkManager.NetworkServer.TellClients(new PPushTextOrder(_Player.Index.ToString(), "触发连锁伤害", PPushType.Injure.Name)); Game.Injure(InjureTag.FromPlayer, _Player, InjureTag.Injure, InjureTag.InjureSource); } }, Game.GetNextPlayer(InjureTag.ToPlayer)); } }); }
public PResetTriggerInstaller() : base("重置武将牌") { TriggerList.Add(new PTrigger("翻面翻回") { IsLocked = true, Time = PPeriod.StartTurn.Before, Condition = (PGame Game) => { return(Game.NowPlayer.BackFace); }, Effect = (PGame Game) => { Game.ChangeFace(Game.NowPlayer); Game.Monitor.EndTurnDirectly = true; } }); TriggerList.Add(new PTrigger("移回游戏") { IsLocked = true, Time = PPeriod.StartTurn.Start, Condition = (PGame Game) => { return(Game.NowPlayer.OutOfGame); }, Effect = (PGame Game) => { Game.NowPlayer.Tags.PopTag <PTag>(PTag.OutOfGameTag.Name); } }); }
private void AddMouseMovementTriggerToList() { var triggerLayoutView = new TriggerLayoutView(); inputNewTriggerEditor.SetMouseMovementTrigger(triggerLayoutView); TriggerList.Add(triggerLayoutView); }
// Use this for initialization void Awake() { GameMan_Ref = GameObject.Find("GameManager").GetComponent <GameManager>(); //P_Sword = GameMan_Ref.P_Sword; DamageTriggersScript = DamageCollider.gameObject.GetComponent <TriggerList>(); SwordEquipped = false; }
private void OnTriggerExit(Collider other) { if (TriggerList.Contains(other.gameObject)) { TriggerList.Remove(other.gameObject); } }
private void AddTouchPadTriggerToList(Trigger trigger) { var newTouchpadTrigger = (TouchPressTrigger)trigger; var triggerLayoutView = new TriggerLayoutView(); inputNewTriggerEditor.SetTouchPadTrigger(newTouchpadTrigger.State, triggerLayoutView); TriggerList.Add(triggerLayoutView); }
private void AddMouseHoldTriggerToList(Trigger trigger) { var mouseHoldTrigger = (MouseHoldTrigger)trigger; var triggerLayoutView = new TriggerLayoutView(); inputNewTriggerEditor.SetMouseHoldTrigger(mouseHoldTrigger.Button, triggerLayoutView); TriggerList.Add(triggerLayoutView); }
private void AddMouseTriggerToList(Trigger trigger) { var newMouseTrigger = (MouseButtonTrigger)trigger; var triggerLayoutView = new TriggerLayoutView(); inputNewTriggerEditor.SetMouseButtonTrigger(newMouseTrigger.Button, newMouseTrigger.State, triggerLayoutView); TriggerList.Add(triggerLayoutView); }
private void AddGamePadTriggerToList(Trigger trigger) { var newGamepadTrigger = (GamePadButtonTrigger)trigger; var triggerLayoutView = new TriggerLayoutView(); inputNewTriggerEditor.SetGamePadTrigger(newGamepadTrigger.Button, newGamepadTrigger.State, triggerLayoutView); TriggerList.Add(triggerLayoutView); }
private void AddKeyTriggerToList(Trigger trigger) { var newKeyTrigger = (KeyTrigger)trigger; var triggerLayoutView = new TriggerLayoutView(); inputNewTriggerEditor.SetKeyTrigger(newKeyTrigger.Key, newKeyTrigger.State, triggerLayoutView); TriggerList.Add(triggerLayoutView); }
public override void OnInspectorGUI() { TriggerList ThisList = (TriggerList)target; base.DrawDefaultInspector(); if (GUILayout.Button("Set Up Triggers")) { ThisList.SetTriggers(); } }
public void UpdateTriggerList(string value) { selectedCommand = value; TriggerList.Clear(); List <Trigger> triggersForSelectedCommand = availableCommands.GetAllTriggers(selectedCommand); foreach (var trigger in triggersForSelectedCommand) { CheckWhichTriggerToAdd(trigger); } }
private void RemoveSelectedTrigger() { if (SelectedTrigger == null || string.IsNullOrEmpty(SelectedCommand)) { return; } var indexToRemove = TriggerList.IndexOf(SelectedTrigger); availableCommands.GetAllTriggers(selectedCommand).RemoveAt(indexToRemove); TriggerList.RemoveAt(indexToRemove); }
public void SendData(string title, bool neuromuscularProfileDo, bool translate, bool cutByTriggers, TriggerList triggerList, EncoderGraphROptions.AnalysisModes analysisMode) { this.title = title; this.neuromuscularProfileDo = neuromuscularProfileDo; this.translate = translate; this.cutByTriggers = cutByTriggers; this.triggerList = triggerList; this.analysisMode = analysisMode; CancelRScript = false; }
public PPeriodTriggerInstaller() : base("阶段切换") { foreach (PPeriod Period in TurnFlow) { TriggerList.Add(new PTrigger(Period.Name + "结束,进入下一阶段") { IsLocked = true, Time = Period.Next, Effect = ChangePeriod }); } }
public void Merge(TriggerList triggers) { foreach (GameTrigger trigger in triggers) { if (trigger.GetKey() == FreeTriggerConstant.UNIT_TEST) { foreach (IGameAction action in trigger) { this.order.actions.Add(action); } } } }
public void AddNewTrigger() { if (string.IsNullOrEmpty(SelectedCommand)) { return; } var triggerLayoutView = new TriggerLayoutView(); inputNewTriggerEditor.CreateNewTriggerBox(availableCommands, SelectedCommand, triggerLayoutView); TriggerList.Add(triggerLayoutView); RaisePropertyChanged("TriggerList"); }
/// <summary> /// Start a trigger group. /// For more information, see: https://osu.ppy.sh/help/wiki/Storyboard_Scripting/Compound_Commands /// </summary> /// <param name="startTime">Group start time.</param> /// <param name="endTime">Group end time.</param> /// <param name="triggerName">A valid trigger name.</param> public Trigger StartTrigger(int startTime, int endTime, string triggerName) { if (_isLooping || _isTriggering) { throw new Exception("You can not start another loop when the previous one isn't end."); } _isTriggering = true; var trig = new Trigger(startTime, endTime, triggerName); TriggerList.Add(trig); return(trig); }
/// <summary> /// Start a trigger group. /// For more information, see: https://osu.ppy.sh/help/wiki/Storyboard_Scripting/Compound_Commands /// </summary> /// <param name="startTime">Group start time.</param> /// <param name="endTime">Group end time.</param> /// <param name="triggerType">Trigger type. It can be specified in a flag form like TriggerType.HitSoundWhistle | TriggerType.HitSoundSoft.</param> /// <param name="listenSample">If use the listenSample, the trigger will listen to all hitsound in a track like HitsoundAllNormal.</param> /// <param name="customSampleSet">Listen to a specific track. 0 represents default track.</param> public Trigger StartTrigger(int startTime, int endTime, TriggerType triggerType, bool listenSample = false, uint?customSampleSet = null) { if (_isLooping || _isTriggering) { throw new Exception("You can not start another loop when the previous one isn't end."); } _isTriggering = true; var trig = new Trigger(startTime, endTime, triggerType, listenSample, customSampleSet); TriggerList.Add(trig); return(trig); }
public PModeArch() : base("模式类成就") { TriggerList.Add(new PTrigger("独孤求败") { IsLocked = true, Time = PTime.EndGameTime, Effect = (PGame Game) => { Game.GetWinner().ForEach((PPlayer Player) => { if (Game.GameMode is PMode8p) { Announce(Game, Player, "独孤求败"); } }); } }); string Juecfs = "绝处逢生"; TriggerList.Add(new PTrigger("绝处逢生[达到条件]") { IsLocked = true, Time = PTime.AfterDieTime, Effect = (PGame Game) => { if (Game.GameMode is PMode4v4) { Game.AlivePlayers().ForEach((PPlayer Player) => { if (Game.Teammates(Player).Count == 1 && Game.Enemies(Player).Count == 4) { Player.Tags.CreateTag(new PTag(Juecfs) { Visible = false }); } }); } } }); TriggerList.Add(new PTrigger("绝处逢生") { IsLocked = true, Time = PTime.EndGameTime, Effect = (PGame Game) => { Game.GetWinner().ForEach((PPlayer Player) => { if (Player.Tags.ExistTag(Juecfs)) { Announce(Game, Player, "绝处逢生"); } }); } }); }
public PWalkingTriggerInstaller() : base("行走") { TriggerList.Add(new PTrigger("行走") { IsLocked = true, Time = PPeriod.WalkingStage.During, Effect = (PGame Game) => { PStepCountTag Tag = Game.TagManager.PopTag <PStepCountTag>(PStepCountTag.TagName); int RemainStepCount = (Tag != null ? Tag.StepCount : 0); Game.MoveForward(Game.NowPlayer, RemainStepCount); PNetworkManager.NetworkServer.TellClients(new PCloseDiceOrder()); } }); }
public PFreeTimeTriggerInstaller() : base("玩家空闲时间点") { foreach (PTime Time in new PTime[] { PPeriod.FirstFreeTime.During, PPeriod.SecondFreeTime.During }) { TriggerList.Add(new PTrigger("玩家的空闲时间点") { IsLocked = true, Time = Time, Condition = (PGame Game) => Game.NowPlayer.IsUser, Effect = (PGame Game) => { Game.TagManager.CreateTag(PTag.FreeTimeOperationTag); PThread.WaitUntil(() => !Game.TagManager.ExistTag(PTag.FreeTimeOperationTag.Name)); } }); } }
public void RemoveTriggerRecord(TriggerRecord trigger) { if (TriggerList == null) { return; } TriggerList.Remove(trigger); //remove from TriggerSystem long nowTick = DateTime.Now.Ticks; double interval = (nowTick - _lastStepTick) / TimeSpan.TicksPerMillisecond; if (interval < 50) { ((TriggerSystem)_currentView.MainTriggerSystem).UnregisterTrigger(trigger); } }
public PTransportTriggerInstaller() : base("移动位置") { TriggerList.Add(new PTrigger("移动位置") { IsLocked = true, Time = PTime.MovePositionTime, Effect = (PGame Game) => { PTransportTag Tag = Game.TagManager.FindPeekTag <PTransportTag>(PTransportTag.TagName); if (Tag.Player != null && Tag.Destination != null) { Tag.Player.Position = Tag.Destination; PNetworkManager.NetworkServer.TellClients(new PMovePositionOrder(Tag.Player.Index.ToString(), Tag.Destination.Index.ToString())); } } }); }
public void AddTriggerRecord(TriggerRecord trigger) { if (TriggerList == null) { TriggerList = new List <TriggerRecord>(); } trigger.ParentActor = this; TriggerList.Add(trigger); //add into TriggerSystem long nowTick = DateTime.Now.Ticks; double interval = (nowTick - _lastStepTick) / TimeSpan.TicksPerMillisecond; if (interval < 50) { ((TriggerSystem)_currentView.MainTriggerSystem).RegisterTrigger(trigger); } }
public void Merge(TriggerList triggers) { foreach (GameTrigger trigger in triggers) { if (trigger.GetKey() == FreeTriggerConstant.UNIT_TEST) { foreach (IGameAction action in trigger) { if (action is OneCaseAction) { OneCaseAction one = (OneCaseAction)action; one.trigger = trigger; this.order.actions.Add(one); } } } } }
private string TriggerPreRender(TriggerList triggers, string name) { List<string> trigs = new List<string>(); foreach(ServerSideTrigger trig in triggers) { ClientSideTrigger cst = trig as ClientSideTrigger; if(cst != null) { Control ctrl = Util.FindControlRecursiveOut(this, cst.ControlID, null); if(ctrl != null) trigs.Add(string.Format("{{control:\"{0}\",event:\"{1}\",cancel:{2}}}", ctrl.ClientID, cst.Event, cst.CancelEvent.ToString().ToLower())); else trigs.Add(string.Format("{{control:\"{0}\",event:\"{1}\",cancel:{2}}}", cst.ControlID, cst.Event, cst.CancelEvent.ToString().ToLower())); } } return string.Format("{0}:[{1}]", name, string.Join(",", trigs)); }
private bool TriggerInUpdatePanel(TriggerList triggers) { if(triggers != null) { List<string> trigs = new List<string>(); foreach(ServerSideTrigger trig in triggers) { ClientSideTrigger cst = trig as ClientSideTrigger; if(cst != null) { Control ctrl = Util.FindControlRecursiveOut(this, cst.ControlID, null); if(ctrl != null) { if(Util.InUpdatePanel(ctrl)) return true; } } } } return false; }
/// <summary> /// Internal constructor for a task, used by <see cref="ScheduledTasks"/>. /// </summary> /// <param name="iTask">Instance of an ITask.</param> /// <param name="taskName">Name of the task.</param> internal Task(ITask iTask, string taskName) { this.iTask = iTask; if (taskName.EndsWith(".job")) name = taskName.Substring(0, taskName.Length-4); else name = taskName; triggers = null; this.Hidden = GetHiddenFileAttr(); }
public Interaction(string name) { Name = name; triggerList = new TriggerList(); responses = null; }