Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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;
            }
        }
    }