static void Main(string[] args) { const int tanksNumber = 5; const string firstTankName = "Т-34"; const string secondTankName = "Pantera"; Tank[] firstGroup = new Tank[tanksNumber]; Tank[] secondGroup = new Tank[tanksNumber]; try { ////Вызов исключения - Раскоменитуйте для проверки //firstGroup = null; ActionsClass.CreateTanks(ref firstGroup, tanksNumber, firstTankName); ActionsClass.CreateTanks(ref secondGroup, tanksNumber, secondTankName); } catch (ArgumentNullException exception) { Console.WriteLine(exception.Message); } ActionsClass.Advantage winner = ActionsClass.Battle(firstGroup, secondGroup, tanksNumber); ActionsClass.BattleResults(winner, firstTankName, secondTankName); }
public void ContinueGenericTests(Task <object> t, ActionsClass <object> actions, bool expectedsuccess, bool expectedfail, bool expectedcanceled) { t.Continue(o => actions.Success(o), actions.Failed, actions.Canceled); actions.IsSuccessCalled.Should().Be(expectedsuccess); actions.IsFailedCalled.Should().Be(expectedfail); actions.IsCanceledCalled.Should().Be(expectedcanceled); }
public void ContinueTests(Task t, ActionsClass actions, bool expectedsuccess, bool expectedfail, bool expectedcanceled) { t.Continue(actions.Success, actions.Failed, actions.Canceled); actions.IsSuccessCalled.Should().Be(expectedsuccess); actions.IsFailedCalled.Should().Be(expectedfail); actions.IsCanceledCalled.Should().Be(expectedcanceled); }
public IEnumerator SeqLoop() { while (RunBool) { Seq Sequence = Sequences[CurrentSeq]; ik.speed = float.Parse(speedfiled.text); RectTransform currrec = CurrentSeqObj.GetComponent <RectTransform>(); currrec.anchoredPosition = SequencePos[CurrentSeq]; if (Sequence.action == Actions.Skok) { GameObject obj = FindPicketobject(); yield return(new WaitForSeconds(Sequence.time)); if (obj == null && Sequence.jumpID != 0) { CurrentSeq = 0; } else { if (Sequence.jumpID != 0) { ObjectC objc = obj.GetComponent <ObjectC>(); if (Sequence.objectTag == objc.objectTag) { Debug.Log("jump do" + Sequence.jumpID.ToString()); CurrentSeq = Sequence.jumpID; } else { CurrentSeq++; } } else if (Sequence.jumpID == 0) { CurrentSeq = Sequence.jumpID; } } } if (Sequence.action == Actions.Rusz) { ik.set = true; MovePoint(Sequence.X, Sequence.Y, Sequence.Z); ik.TargetSeqPos = new Vector3(Sequence.X, Sequence.Y, Sequence.Z); yield return(new WaitForSeconds(Sequence.time)); if (ik.end == true) { CheckJump(); } } if (Sequence.action == Actions.RuszNaPunkt) { DownPoint(Sequence.X, Sequence.Y, Sequence.Z); ik.set = true; ik.down = true; ik.TargetSeqPos = GameObject.Find("Punkt").transform.position;//(new Vector3(Sequence.X, Sequence.Y, Sequence.Z)); ik.TargetPos = new Vector3(Sequence.X, Sequence.Y, Sequence.Z); yield return(new WaitForSeconds(0.1f)); if (ik.end == true) { ik.set = false; ik.down = false; yield return(new WaitForSeconds(Sequence.time)); CheckJump(); } } if (Sequence.action == Actions.UstawNadObiekt) { GameObject obj = FindObjectToPick(); yield return(new WaitForSeconds(0.1f)); if (obj != null) { Debug.LogError(" "); Vector3 pos = MovePointOnDir(obj.transform.position.x, obj.transform.position.y, obj.transform.position.z, Sequence.dir); ik.set = true; ik.TargetSeqPos = GameObject.Find("Punkt").transform.position; robot.FindEfectorObj().GetComponent <EndEffector>().TargetPosition = new Vector3(obj.transform.position.x, obj.transform.position.y, obj.transform.position.z); yield return(new WaitForSeconds(Sequence.time)); if (ik.end == true) { ik.set = false; ik.down = false; yield return(new WaitForSeconds(Sequence.time)); CheckJump(); } } else { Debug.LogError("Nie zanaleziono obiektu!"); } } if (Sequence.action == Actions.NaObiekt) { GameObject obj = FindObjectToPick(); yield return(new WaitForSeconds(0.1f)); if (obj != null) { ObjectC objc = obj.GetComponent <ObjectC>(); Debug.LogError(" "); DownPoint(obj.transform.position.x, obj.transform.position.y + objc.heigth, obj.transform.position.z); //Vector3 pos = MovePointOnDir(obj.transform.position.x, obj.transform.position.y, obj.transform.position.z, Sequence.dir); ik.set = true; ik.down = true; ik.TargetSeqPos = GameObject.Find("Punkt").transform.position;//(new Vector3(Sequence.X, Sequence.Y, Sequence.Z)); ik.TargetPos = new Vector3(obj.transform.position.x, obj.transform.position.y + objc.heigth, obj.transform.position.z); /* * ik.set = true; * ik.TargetSeqPos = GameObject.Find("Punkt").transform.position; * robot.FindEfectorObj().GetComponent<EndEffector>().TargetPosition = new Vector3(obj.transform.position.x, obj.transform.position.y, obj.transform.position.z); */ yield return(new WaitForSeconds(0.05f)); if (ik.end == true) { //objc.effectorpos = robot.EffectorClass2; //objc.picked = true; ik.set = false; ik.down = false; yield return(new WaitForSeconds(Sequence.time)); CheckJump(); } } else { Debug.LogError("Nie zanaleziono obiektu!"); } } if (Sequence.action == Actions.Bazowanie) { ik.SetBase = true; yield return(new WaitForSeconds(Sequence.time)); if (Mathf.Abs(ik.katsum) < 5f) { ik.SetBase = false; CheckJump(); } } if (Sequence.action == Actions.Dezaktywuj) { GameObject obj = FindPicketobject(); if (obj != null) { ObjectC objc = obj.GetComponent <ObjectC>(); objc.picked = false; } ActionsClass.OpenEffector(); yield return(new WaitForSeconds(Sequence.time)); CheckJump(); } if (Sequence.action == Actions.Aktywuj) { GameObject obj = FindObjectToPick(); if (obj != null) { ObjectC objc = obj.GetComponent <ObjectC>(); objc.effectorpos = robot.EffectorClass2; objc.picked = true; } ActionsClass.CloseEffector(); yield return(new WaitForSeconds(Sequence.time)); CheckJump(); } if (Sequence.action == Actions.EfektorNaCel) { ActionsClass.SetEffectorOnTarget(); yield return(new WaitForSeconds(Sequence.time)); CheckJump(); } if (Sequence.action == Actions.EfektorNaBaze) { ActionsClass.EffectorOnBase(); yield return(new WaitForSeconds(Sequence.time)); CheckJump(); } if (CurrentSeq == lastseqindex) { CurrentSeq = 0; } } }