@@ -32,6 +32,7 @@ public CreateRandomTriggerSetWindow(WindowManager windowManager, Map map) : base
3232 private EditorNumberTextBox tbNumTriggers ;
3333 private EditorNumberTextBox tbElapsedTime ;
3434 private EditorNumberTextBox tbDelay ;
35+ private XNADropDown ddTriggerType ;
3536 private XNACheckBox cbEveryDiff ;
3637 private EditorButton btnApply ;
3738
@@ -47,6 +48,7 @@ public override void Initialize()
4748 tbNumTriggers = FindChild < EditorNumberTextBox > ( nameof ( tbNumTriggers ) ) ;
4849 tbElapsedTime = FindChild < EditorNumberTextBox > ( nameof ( tbElapsedTime ) ) ;
4950 tbDelay = FindChild < EditorNumberTextBox > ( nameof ( tbDelay ) ) ;
51+ ddTriggerType = FindChild < XNADropDown > ( nameof ( ddTriggerType ) ) ;
5052 cbEveryDiff = FindChild < XNACheckBox > ( nameof ( cbEveryDiff ) ) ;
5153 btnApply = FindChild < EditorButton > ( nameof ( btnApply ) ) ;
5254
@@ -71,33 +73,34 @@ public void BtnApply_LeftClick(object sender, EventArgs e)
7173 int elapsedTime = tbElapsedTime . Value ;
7274 int count = tbNumTriggers . Value ;
7375 int delay = tbDelay . Value ;
76+ int type = ddTriggerType . SelectedIndex ;
7477 bool createForEveryDifficulty = cbEveryDiff . Checked ;
7578
7679 List < Trigger > baseTriggers = [ ] ;
7780
7881 if ( createForEveryDifficulty )
7982 {
80- baseTriggers . Add ( CreateRandomTriggersSet ( name , elapsedTime , count , delay , color , Difficulty . Hard ) ) ;
81- baseTriggers . Add ( CreateRandomTriggersSet ( name , elapsedTime , count , delay , color , Difficulty . Medium ) ) ;
82- baseTriggers . Add ( CreateRandomTriggersSet ( name , elapsedTime , count , delay , color , Difficulty . Easy ) ) ;
83+ baseTriggers . Add ( CreateRandomTriggersSet ( name , elapsedTime , count , delay , color , type , Difficulty . Hard ) ) ;
84+ baseTriggers . Add ( CreateRandomTriggersSet ( name , elapsedTime , count , delay , color , type , Difficulty . Medium ) ) ;
85+ baseTriggers . Add ( CreateRandomTriggersSet ( name , elapsedTime , count , delay , color , type , Difficulty . Easy ) ) ;
8386 }
8487 else
8588 {
86- baseTriggers . Add ( CreateRandomTriggersSet ( name , elapsedTime , count , delay , color ) ) ;
89+ baseTriggers . Add ( CreateRandomTriggersSet ( name , elapsedTime , count , delay , color , type ) ) ;
8790 }
8891
8992 Hide ( ) ;
9093 RandomTriggerSetTriggersCreated ? . Invoke ( this , new RandomTriggerSetTriggersCreatedEventArgs ( baseTriggers [ 0 ] ) ) ;
9194 }
9295
93- private Trigger CreateRandomTriggersSet ( string name , int elapsedTime , int count , int delay , string color , Difficulty ? difficulty = null )
96+ private Trigger CreateRandomTriggersSet ( string name , int elapsedTime , int count , int delay , string color , int type , Difficulty ? difficulty = null )
9497 {
9598 if ( difficulty != null )
9699 {
97100 name = $ "{ difficulty . ToString ( ) [ 0 ] } { name } ";
98101 }
99102
100- var baseTrigger = CreateBaseTrigger ( name , elapsedTime , color , difficulty ) ;
103+ var baseTrigger = CreateBaseTrigger ( name , elapsedTime , color , type , difficulty ) ;
101104 var childTriggers = CreateChildTriggers ( name , count , delay , color ) ;
102105 AssociateTriggers ( baseTrigger , childTriggers ) ;
103106
@@ -137,7 +140,7 @@ private bool Validate()
137140 return true ;
138141 }
139142
140- private Trigger CreateBaseTrigger ( string name , int elapsedTime , string color , Difficulty ? difficulty )
143+ private Trigger CreateBaseTrigger ( string name , int elapsedTime , string color , int type , Difficulty ? difficulty )
141144 {
142145 string triggerName = $ "{ name } base";
143146
@@ -179,7 +182,7 @@ private Trigger CreateBaseTrigger(string name, int elapsedTime, string color, Di
179182 baseTrigger . Conditions . Add ( elapsedTimeCondition ) ;
180183
181184 map . Triggers . Add ( baseTrigger ) ;
182- map . Tags . Add ( new Tag ( ) { ID = map . GetNewUniqueInternalId ( ) , Name = baseTrigger . Name + " (tag)" , Trigger = baseTrigger , Repeating = 2 } ) ;
185+ map . Tags . Add ( new Tag ( ) { ID = map . GetNewUniqueInternalId ( ) , Name = baseTrigger . Name + " (tag)" , Trigger = baseTrigger , Repeating = type } ) ;
183186
184187 return baseTrigger ;
185188 }
@@ -253,6 +256,7 @@ public void ResetValues()
253256 tbNumTriggers . Value = 3 ;
254257 tbElapsedTime . Value = 100 ;
255258 tbDelay . Value = 10 ;
259+ ddTriggerType . SelectedIndex = 0 ;
256260 cbEveryDiff . Checked = false ;
257261 }
258262 }
0 commit comments