private void ConditionDetector_ConditionsHandler(object sender, ConditionEventArgs e) { Conditions.RemoveAll(ce => ce.FirstConditionHolder.Tag == e.FirstConditionHolder.Tag && ce.SecondConditionHolder.Tag == e.SecondConditionHolder.Tag); Conditions.Add(e); _outputter.Logger.LogCondition(e.FirstConditionHolder, e.SecondConditionHolder); }
protected virtual void E_GainCondition(ConditionEventArgs e) { if (OnGainCondition != null) { OnGainCondition(this, e); } }
void m_conditionsPanel_Condition_AddFromCatalogue(object sender, ConditionEventArgs e) { AddConditionState state = StateMachine.GetState(StateTypeEnum.AddCondition) as AddConditionState; state.Policy = m_policy; state.ConditionGroup = e.ConditionGroup; state.Source = AddConditionState.ConditionSource.FromCatalogue; state.SelectionUI = new ConditionsCatalogueSelectorForm(); StateMachine.SetState(state); }
void m_conditionsPanel_Condition_Adding(object sender, ConditionEventArgs e) { AddConditionState state = StateMachine.GetState(StateTypeEnum.AddCondition) as AddConditionState; state.Policy = m_policy; state.ConditionGroup = e.ConditionGroup; state.Source = AddConditionState.ConditionSource.New; state.SelectionUI = new ConditionsResourceSelectorForm(m_policy.PolicySet.PolicyType); StateMachine.SetState(state); }
public void ConditionHandler_ConditionInvoke_ConditionAdded() { var fakeFirstCondition = FakeTrackFactory.GetTrackWithTag("firstCondition", 0, 0, 0); var fakeSecondCondition = FakeTrackFactory.GetTrackWithTag("secondCondition", 0, 0, 0); var fakeConditionEventArgs = new ConditionEventArgs(fakeFirstCondition, fakeSecondCondition); _fakeConditionDetector.ConditionsHandler += Raise.EventWith(_fakeConditionDetector, fakeConditionEventArgs); Assert.That(_uutAirTrafficMonitor.Conditions.Contains(fakeConditionEventArgs)); }
public void ConditionHandler_ConditionInvoke_LoggerInvokedCorrect() { var fakeFirstCondition = FakeTrackFactory.GetTrackWithTag("firstCondition", 0, 0, 0); var fakeSecondCondition = FakeTrackFactory.GetTrackWithTag("secondCondition", 0, 0, 0); var fakeConditionEventArgs = new ConditionEventArgs(fakeFirstCondition, fakeSecondCondition); _fakeConditionDetector.ConditionsHandler += Raise.EventWith(_fakeConditionDetector, fakeConditionEventArgs); _fakeOutputter.Logger.Received().LogCondition( Arg.Is <ITrack>(t => t == fakeFirstCondition), Arg.Is <ITrack>(t => t == fakeSecondCondition)); }
public void DetectCondition_ConditionFound_SecondConditionCorrect() { ConditionEventArgs eventArgsReceived = null; ITrack firstTrack = FakeTrackFactory.GetTrack(1000, 1000, 1000); ITrack secondTrack = FakeTrackFactory.GetTrack(1100, 1100, 1000); ITrackable airspace = FakeAirspaceGenerator.GetAirspace(0, 0, 0); airspace.Trackables = new List <ITrack>() { firstTrack, secondTrack }; _fakeCondition.ConditionBetween(Arg.Any <ITrack>(), Arg.Any <ITrack>()).Returns(true); _uutConditionDetector.ConditionsHandler += (s, e) => eventArgsReceived = e; _uutConditionDetector.DetectCondition(airspace); Assert.That(eventArgsReceived.SecondConditionHolder, Is.EqualTo(secondTrack)); }
public void Traffic_Controller_Console_Display_Test_Condition(string tag1, int x1, int y1, int z1, string tag2, int x2, int y2, int z2) { var track1 = FakeTrackFactory.GetTrackWithTag(tag1, x1, y1, z1); var track2 = FakeTrackFactory.GetTrackWithTag(tag2, x2, y2, z2); _tracks.Add(track1); _tracks.Add(track2); var condition = new ConditionEventArgs(track1, track2); _condtions.Add(condition); _uutTrafficController.DisplayConditions(_condtions); var compare = "Condition detected between " + track1.Tag + " & " + track2.Tag; StringAssert.Contains(compare, _uutTrafficController.Condition); }
public static List <ConditionEventArgs> CreateConditionList(int numberOfConditions) { var rand = new Random(); var conditions = new List <ConditionEventArgs>(); for (int i = 0; i < numberOfConditions; i++) { var x = rand.Next(1, 100); var y = rand.Next(1, 100); var z = rand.Next(1, 100); var track1 = FakeTrackFactory.GetTrackWithTag("Track1," + i, x, y, z); var track2 = FakeTrackFactory.GetTrackWithTag("Track2," + i, x + 4, y + 5, z - 7); var cond = new ConditionEventArgs(track1, track2); conditions.Add(cond); } return(conditions); }
void m_conditionsPanel_Condition_Editing(object sender, ConditionEventArgs e) { EditConditionState state = StateMachine.GetState(StateTypeEnum.EditCondition) as EditConditionState; state.ConditionMethodDisplay = e.ConditionMethodDisplay; state.HyperlinkObject = e.HyperlinkObject; StateMachine.SetState(state); }
void m_conditionsPanel_Condition_Cuting(object sender, ConditionEventArgs e) { ms_ConditionsToCopy = e.ConditionMethodDisplays; DeleteConditionState state = StateMachine.GetState(StateTypeEnum.RemoveCondition) as DeleteConditionState; state.Policy = m_policy; state.AddDisplays(e.ConditionMethodDisplays); StateMachine.SetState(state); }
void m_conditionsPanel_Condition_Pasting(object sender, ConditionEventArgs e) { if (ms_ConditionsToCopy == null) { return; } foreach (ConditionDisplayBase srcConditionDisplay in ms_ConditionsToCopy) { ICondition newCondition = (ICondition)((PolicyObject)srcConditionDisplay.Condition).Clone(); IConditionGroup conditionGroup = ((IConditionGroup)m_policy.Conditions[0]); conditionGroup.Conditions.Add(newCondition); newCondition.Parent = conditionGroup; } ShowConditionsState state = StateMachine.GetState(StateTypeEnum.ShowConditions) as ShowConditionsState; StateMachine.SetState(state); StateMachine.ChildForm.IsModified = true; }
void m_conditionsPanel_Condition_Copying(object sender, ConditionEventArgs e) { ms_ConditionsToCopy = e.ConditionMethodDisplays; }
/// <summary> /// Removes a condition from the list of current active conditions. /// </summary> /// <param name="newCondition">The condition to be removed</param> public void RemoveCondition(Condition newCondition) { if (myConditions.ContainsKey(newCondition)) { // For simplicity sake I'm passing in a meaningless turns. If there's a reason to use it later all the better int turns = 0; ConditionEventArgs e = new ConditionEventArgs(this, newCondition, turns); E_LoseCondition(e); myConditions.Remove(e.type); // Any effects that occur when a condition ends (say disabling speed or something) should happen here switch(e.type){ } } }
/// <summary> /// Adds a condition to a character /// </summary> /// <param name="newCondition">The condition to be applied</param> /// <param name="turns">The number of turns the effect should stay active.</param> public void AddCondition(Condition newCondition, int turns) { ConditionEventArgs e = new ConditionEventArgs(this, newCondition, turns); E_GainCondition(e); if (myConditions.ContainsKey(e.type)) { if(myConditions[newCondition] < e.turns){ myConditions[newCondition] = e.turns; } return; } myConditions.Add(e.type, turns); // Any effects that occur when a condition begins (perhaps instant heal); switch (e.type) { } }