Exemple #1
0
        public static void DeployOperator(GameObject operatorObject, TileDescription targetCube)
        {
            if (!isDeployedOperator(operatorObject))
            {
                DeployedOperatorOnGame newDeploy = new DeployedOperatorOnGame();
                newDeploy.operatorObject    = operatorObject;
                newDeploy.operatorPlaceCube = targetCube;

                deployedOperatorOnGame.Add(new KeyValuePair <TileDescription, GameObject>(targetCube, operatorObject));

                OperatorController operatorController = operatorObject.GetComponent <OperatorController>();
                decreaseDP(operatorController._operatorData.DpCost);
                decreaseUnitLimit(1);

                targetCube.typeTile = TileDescription.TypeTile.NoneStandableTyle;

                mainInterfaceFields.operatorPanelCreate.checkDPCostAndUnitLimit();

                operatorController.HideRange();
                mainInterfaceFields.selectOperatorUI.displaySelectedPanel.SetActive(false);

                operatorObject.GetComponent <CapsuleCollider>().enabled = true;

                foreach (RangeTile tileRange in operatorController.rangeTiles)
                {
                    tileRange.GetComponent <BoxCollider>().enabled = true;
                }

                operatorController.SetStartHP(operatorController._operatorData.maxHP);
                operatorController._operatorHP.GetComponent <UIOperatorHp>().SetHPCurMax(operatorController._operatorData.maxHP, operatorController._operatorData.maxHP);

                TimeScaleReset();
            }
        }
        public GameObject CreateOperator(GameObject operatorCreate, OperatorData operatorData, UISelectAvatar selectAvatar)
        {
            GameObject OperatorUI = Instantiate(MainController.OperatorInterfaseObject, operatorsParent.transform);

            OperatorUI.name = operatorData.Name;

            GameObject Operator = Instantiate(operatorCreate, OperatorUI.transform);

            Operator.transform.SetSiblingIndex(0);

            OperatorController operatorController = OperatorUI.GetComponent <OperatorController>();

            operatorController.selectAvatar    = selectAvatar;
            operatorController._operatorObject = Operator;
            operatorController._operatorData   = operatorData;


            operatorController.SetStartHP(operatorController._operatorData.maxHP);
            operatorController.SetStartSkillPoint(operatorController._operatorData.skill.initCost, operatorController._operatorData.skill.cost);

            CapsuleCollider capsuleCollider = OperatorUI.AddComponent <CapsuleCollider>();

            capsuleCollider.radius = 0.35f;

            Rigidbody rigidbody = OperatorUI.AddComponent <Rigidbody>();

            rigidbody.useGravity  = false;
            rigidbody.constraints = RigidbodyConstraints.FreezeAll;

            Operators.Add(OperatorUI);

            OperatorUI.transform.position = new Vector3(9999f, 9999f, 9999f);

            return(OperatorUI);
        }
Exemple #3
0
        public static bool removeDeployedOperator(GameObject operatorObject)
        {
            foreach (KeyValuePair <TileDescription, GameObject> deployedOperator in deployedOperatorOnGame)
            {
                if (deployedOperator.Value == operatorObject)
                {
                    OperatorController operatorController = operatorObject.GetComponent <OperatorController>();

                    deployedOperatorOnGame.Remove(deployedOperator);


                    increaseDP((int)(operatorController._operatorData.DpCost / 2));
                    increaseUnitLimit(1);

                    deployedOperator.Key.Reset();

                    mainInterfaceFields.operatorPanelCreate.checkDPCostAndUnitLimit();

                    operatorController.EndOperator();

                    mainInterfaceFields.selectOperatorUI.displaySelectedPanel.SetActive(false);

                    operatorController._operatorData.skill.curSkillPoint = operatorController._operatorData.skill.initCost;
                    operatorController._operatorData.skill.isCanActive   = false;

                    return(true);
                }
            }
            return(false);
        }
        public bool Damage(int damage)
        {
            if (hitSelfParticles != null)
            {
                hitSelfParticles.gameObject.SetActive(false);
                hitSelfParticles.gameObject.SetActive(true);
            }
            DamageHP(damage);

            if (!isDead)
            {
                if (HP <= 0)
                {
                    isDead = true;
                    isMove = false;
                    if (blockByOperator != null)
                    {
                        blockByOperator.BlockingRemove(this);
                        blockByOperator = null;
                    }
                    ClearTarget();
                    transform.position = new Vector3(-9999f, -9999f, -9999f);
                    int EnemyCol = MainController.EnemyCol + 1;
                    MainController.SetEnemyColField(EnemyCol);
                    return(false);
                }
            }
            else
            {
                ClearTarget();
            }
            return(true);
        }
        public async Task CreatePost_Post_ModelError()
        {
            var context = MakeContext();

            var controller = new OperatorController(
                context.CurrentUserService,
                context.BranchesDao,
                context.MailDaoMock.Object)
            {
                ControllerContext = context.ControllerContext,
                TempData          = context.TempDataDictionary
            };

            var destinationBranch = context.Branches[0];
            var vm = new CreatePostViewModel
            {
                PersonFrom          = "personFrom",
                PersonTo            = "personTo",
                DestinationBranchId = destinationBranch.Id,
                AddressTo           = "addressTo"
            };

            controller.ModelState.AddModelError("", "error");
            var r = await controller.CreatePost(vm) as ViewResult;

            Assert.NotNull(r);
            Assert.Null(r.ViewName);
            var returnedVm = r.Model as CreatePostViewModel;

            Assert.NotNull(returnedVm);
            Assert.Equal(context.Branches, returnedVm.AllBranches);
            context.MailDaoMock.Verify(
                m => m.CreateAsync(It.IsAny <Post>(), It.IsAny <User>()),
                Times.Never);
        }
        void OnTriggerStay(Collider collider)
        {
            if (collider.gameObject.TryGetComponent(out OperatorController operatorController))
            {
                if (operatorController.IsCanBlock())
                {
                    isMove          = false;
                    blockByOperator = operatorController;

                    operatorController.BlockingAdd(this);
                }

                if (blockByOperator != null)
                {
                    if (AttackSpeedTimer >= AttackSpeed)
                    {
                        AttackSpeedTimer = 0f;
                        blockByOperator.Damage(AttackPower);
                        if (blockByOperator != null)
                        {
                            blockByOperator.hitSelfParticle.gameObject.SetActive(false);
                            blockByOperator.hitSelfParticle.gameObject.SetActive(true);
                        }
                    }
                    AttackSpeedTimer += Time.deltaTime;
                }
                else
                {
                    AttackSpeedTimer = 0f;
                }
            }
        }
Exemple #7
0
        public OperatorData BackUpOperatorData(OperatorController operatorController)
        {
            tempData = operatorController._operatorData;

            tempDataClear = Instantiate(operatorController._operatorData);

            return(tempData);
        }
Exemple #8
0
        public void Tiger_Skill2(OperatorController operatorController)
        {
            BackUpOperatorData(operatorController);
            EndSkill end = ReBackUpOperatorData;

            operatorController._operatorData = tempDataClear.ModificatorMultiplication(Attribute.AttackPower, 1.45f);

            operatorController.StartCoroutine(ActiveSkillWithCount(operatorController, null, null, end));
        }
Exemple #9
0
        public void Svrash_Skill1(OperatorController operatorController)
        {
            BackUpOperatorData(operatorController);
            EndSkill end = ReBackUpOperatorData;

            operatorController._operatorData = tempDataClear.ModificatorMultiplication(Attribute.AttackPower, 2.1f);

            operatorController.StartCoroutine(ActiveSkillWithCount(operatorController, null, null, end, (int)operatorController._operatorData.ASPD));
        }
Exemple #10
0
 public static void ClearOperatorFromAllTiles(OperatorController _operatorController)
 {
     foreach (KeyValuePair <TileDescription, GameObject> deployedOperator in deployedOperatorOnGame)
     {
         foreach (RangeTile rangeTile in deployedOperator.Value.GetComponent <OperatorController>().rangeTiles)
         {
             rangeTile.operatorInTile.Remove(_operatorController);
         }
     }
 }
Exemple #11
0
        public void Sunbr_Skill1(OperatorController operatorController)
        {
            BackUpOperatorData(operatorController);
            EachSecondSkill eachSecondSkill = Heal;
            int             healValue       = 100;
            EndSkill        end             = ReBackUpOperatorData;

            operatorController._operatorData = tempDataClear.ModificatorMultiplication(Attribute.AttackPower, 1.33f);

            operatorController.StartCoroutine(ActiveSkillWithCount(operatorController, null, eachSecondSkill, end, 0, healValue));
        }
Exemple #12
0
        public void Yak_Skill1(OperatorController operatorController)
        {
            BackUpOperatorData(operatorController);
            EachSecondSkill eachSecondSkill = Heal;
            int             healValue       = 25;
            EndSkill        end             = ReBackUpOperatorData;

            operatorController._operatorData = tempDataClear.ModificatorPlus(Attribute.MaximumHP, operatorController._operatorData.maxHP * 0.33f);

            operatorController.StartCoroutine(ActiveSkillWithCount(operatorController, null, eachSecondSkill, end, 0, healValue));
        }
Exemple #13
0
    public void DirDown()
    {
        OperatorController CharacterScript = settingCharacter.GetComponent <OperatorController>();

        CharacterScript.AttackDir = Vector3.back;
        CharacterScript.Activate();
        CharacterScript.RotateYAngle = 90;

        print("set to Down");
        CharacterSettingOver();
        Destroy(gameObject);
    }
Exemple #14
0
    public void DirRight()
    {
        OperatorController CharacterScript = settingCharacter.GetComponent <OperatorController>();

        CharacterScript.AttackDir    = Vector3.right;
        CharacterScript.RotateYAngle = 0;

        CharacterScript.Activate();
        print("set to Right");
        CharacterSettingOver();
        Destroy(gameObject);
    }
Exemple #15
0
 public void GetById()
 {
     try
     {
         var controller = new OperatorController();
         var result     = controller.Get("login_1");
         //Assert.IsNotNull(result);
     }
     catch (Exception e)
     {
         Assert.Fail(e.Message);
     }
 }
        public void ProductivityReport()
        {
            var cntrlr = new OperatorController();
            var result = cntrlr.ProductivityReport();

            Assert.IsInstanceOfType(result, typeof(ViewResult));

            var view = (ViewResult)result;

            Assert.AreEqual(string.Empty, view.ViewName);

            Assert.IsInstanceOfType(view.Model, typeof(OperatorReportViewModelRef));
        }
        public async Task CreatePost_Post_Success()
        {
            var myBranchIndex = 0;
            var context       = MakeContext(myBranchIndex: myBranchIndex);

            var controller = new OperatorController(
                context.CurrentUserService,
                context.BranchesDao,
                context.MailDaoMock.Object)
            {
                ControllerContext = context.ControllerContext,
                TempData          = context.TempDataDictionary
            };

            var destinationBranch   = context.Branches[0];
            var personFrom          = "personFrom";
            var personTo            = "personTo";
            var addressTo           = "addressFrom";
            var destinationBranchId = destinationBranch.Id;
            var vm = new CreatePostViewModel
            {
                PersonFrom          = personFrom,
                PersonTo            = personTo,
                DestinationBranchId = destinationBranchId,
                AddressTo           = addressTo
            };

            var r = await controller.CreatePost(vm) as ViewResult;

            Assert.NotNull(r);
            Assert.Null(r.ViewName);
            var returnedVm = r.Model as CreatePostViewModel;

            Assert.NotNull(returnedVm);
            Assert.Equal(context.Branches, returnedVm.AllBranches);
            Assert.Single(context.Mail);
            var post = context.Mail.First();

            Assert.Equal(personFrom, post.PersonFrom);
            Assert.Equal(personTo, post.PersonTo);
            Assert.Equal(context.Branches[myBranchIndex].Id, post.BranchId);
            Assert.Equal(context.Branches[myBranchIndex].Id, post.SourceBranchId);
            Assert.Equal(destinationBranchId, post.DestinationBranchId);
            Assert.Equal(addressTo, post.AddressTo);
            Assert.Equal(PostState.Created, post.State);
            Assert.Null(returnedVm.PersonFrom);
            Assert.Null(returnedVm.PersonTo);
            Assert.Null(returnedVm.DestinationBranchId);
            Assert.Null(returnedVm.AddressTo);
            Assert.NotNull(context.TempDataDictionary.Get <MessageViewModel>("message"));
        }
Exemple #18
0
        public void reBackUpRange(OperatorController operatorController)
        {
            bool isActiveRange = operatorController.IsRangeShow();

            operatorController.DrowRange(operatorController.setupDirection, true);
            if (isActiveRange)
            {
                operatorController.ShowRange();
            }
            else
            {
                operatorController.HideRange();
            }
        }
Exemple #19
0
    // Update is called once per frame
    //void Update () {
    //       if (Input.GetKeyDown(KeyCode.Space))
    //       {
    //           ChangeText();
    //       }
    //}

    public void ChangeText(OperatorController oc)
    {
        if (oc == OperatorManager.Instance.PlayerController)
        {
            turnText.text = "自分のターンです";
        }
        else if (oc == OperatorManager.Instance.ComputerController)
        {
            turnText.text = "相手のターンです";
        }
        distance_two = Vector3.Distance(startPos.transform.position, exitPos.transform.position);

        StartCoroutine(TextDisplay());
    }
Exemple #20
0
        public void Yuki_Skill1(OperatorController operatorController)
        {
            BackUpOperatorData(operatorController);

            EndSkill end = ReBackUpOperatorData;

            end += reBackUpRange;

            tempDataClear.rangeOfOperator    = rangeOfSkill;
            operatorController._operatorData = tempDataClear;

            operatorController.DrowRange(operatorController.setupDirection, true);

            operatorController.StartCoroutine(ActiveSkillWithCount(operatorController, null, null, end));
        }
Exemple #21
0
        public void Delete()
        {
            try
            {
                string id = "login_2";

                var controller = new OperatorController();
                controller.Delete(id);

                Assert.IsNull(controller.Get(id));
            }
            catch (Exception e)
            {
                Assert.Fail(e.Message);
            }
        }
Exemple #22
0
        IEnumerator ActiveSkillWithCount(OperatorController operatorController, StartSkill startSkill = null, EachSecondSkill eachSecondSkill = null, EndSkill endSkill = null, int _duration = 0, int eachSecondSkillParametr = 0)
        {
            isActive    = true;
            isCanActive = false;
            operatorController.SetStartSkillPoint(duration, duration);

            startSkill?.Invoke(operatorController);

            MainController.mainInterfaceFields.selectOperatorUI.updateSelectInfo(operatorController._operatorData);

            if (duration > 0)
            {
                curDurationTime = duration;
            }
            else
            {
                if (_duration > 0)
                {
                    curDurationTime = _duration;
                }
            }

            while (curDurationTime > 0)
            {
                if (MainController.mainInterfaceFields.selectOperatorUI.operatorController != null)
                {
                    eachSecondSkill?.Invoke(operatorController, eachSecondSkillParametr);
                    operatorController.SetSkillPoint(curDurationTime - 1);

                    MainController.mainInterfaceFields.selectOperatorUI.updateSelectInfoOnlySkill();
                }
                curDurationTime--;
                yield return(new WaitForSeconds(1f));
            }

            endSkill?.Invoke(operatorController);

            MainController.mainInterfaceFields.selectOperatorUI.updateSelectInfo(operatorController._operatorData);


            isActive    = false;
            isCanActive = true;
            operatorController.StartCoroutine(SkillPointGenerate(operatorController));

            yield return(null);
        }
Exemple #23
0
        /// <summary>
        /// 後序轉結果的演算過程
        /// </summary>
        /// <param name="postfix">後序</param>
        /// <param name="stack">堆疊</param>
        private static void ComputeIterative(List <string> postfix, Stack <decimal> stack)
        {
            foreach (var item in postfix)
            {
                //判斷是不是單元或雙元運算子
                bool isBinary = OperatorController.GetInstance().GetBinaryMarks().Contains(item);

                bool isUnary = OperatorController.GetInstance().GetUnaryMarks().Contains(item);

                if (IsNumber(item))
                {
                    stack.Push(decimal.Parse(item));
                }
                else if (isBinary)
                {
                    //防呆
                    if (stack.Count < 2)
                    {
                        throw new Exception("後序有誤");
                    }

                    //計算
                    decimal number1 = stack.Pop();
                    decimal number2 = stack.Pop();
                    stack.Push(BinaryCompute(item, number2, number1));
                }
                else if (isUnary)
                {
                    //防呆
                    if (stack.Count < 1)
                    {
                        throw new Exception("後序有誤");
                    }

                    //計算
                    decimal number = stack.Pop();
                    stack.Push(UnaryCompute(item, number));
                }
                else
                {
                    Console.WriteLine($"item = {item}");
                    throw new Exception("無法識別的符號");
                }
            }
        }
Exemple #24
0
        public async Task CreateOperatorActivitiesShouldReturnBadRequestStatusCode()
        {
            //Arrange
            var resultFromService = Result.Fail("Failure");
            var mobileServiceMock = new Mock <IMobileService>();

            mobileServiceMock.Setup(x => x.CreateOperatorActivities(It.IsAny <JObject>())).Returns(Task.FromResult(resultFromService));
            var mobileService = mobileServiceMock.Object;

            //Act
            var controller = new OperatorController(mobileService);
            var response   = await controller.CreateOperatorActivities(new JObject());

            //Assert
            var result = response as JsonResult;

            result.StatusCode.Should().Be((int)HttpStatusCode.BadRequest);
        }
 void OnTriggerExit(Collider collider)
 {
     if (collider.gameObject.TryGetComponent(out OperatorController operatorController))
     {
         if (HP > 0)
         {
             isMove          = true;
             blockByOperator = null;
         }
     }
     if (collider.gameObject.TryGetComponent(out RangeTile rangeTile))
     {
         if (HP > 0)
         {
             blockByOperator = null;
         }
     }
 }
Exemple #26
0
 /// <summary>
 /// 中序轉後序的演算法
 /// </summary>
 /// <param name="infix">中序</param>
 /// <param name="result">結果</param>
 /// <param name="stack">堆疊</param>
 private void ComputeIterative(List <string> infix, List <string> result, Stack <string> stack)
 {
     foreach (var item in infix)
     {
         if (IsNumber(item))
         {
             result.Add(item);
         }
         else if (item.Equals("("))
         {
             stack.Push(item);
         }
         else if (item.Equals(")"))
         {
             while (stack.Count > 0 &&
                    !stack.Peek().Equals("("))
             {
                 result.Add(stack.Pop());
             }
             //無效運算式
             if (stack.Count > 0 &&
                 !stack.Peek().Equals("("))
             {
                 throw new Exception("無效運算式");
             }
             else
             {
                 stack.Pop();
             }
         }
         else
         {
             //限定成既有的運算符號。若輸入了未定義運算符會error
             while (stack.Count > 0 &&
                    OperatorController.GetInstance().GetPriority(item) <= OperatorController.GetInstance().GetPriority(stack.Peek()))
             {
                 result.Add(stack.Pop());
             }
             stack.Push(item);
         }
     }
 }
 public void Initialize()
 {
     _clientRepositoryMock       = new Mock <IClientsRepository>();
     _profileRepositoryMock      = new Mock <IProfilesRepository>();
     _systemConfigRepositoryMock = new Mock <ISystemConfigRepository>();
     _slaRepositoryMock          = new Mock <ISLARepository>();
     _slaValuesRepositoryMock    = new Mock <ISLAValuesRepository>();
     controller   = new OperatorController(_clientRepositoryMock.Object, _profileRepositoryMock.Object, _systemConfigRepositoryMock.Object, _slaRepositoryMock.Object, _slaValuesRepositoryMock.Object);
     lstSLAValues = new List <SLAValuesForSLA>()
     {
         new SLAValuesForSLA()
         {
             ProfileID = 1, SLAID = 1
         },
         new SLAValuesForSLA()
         {
             ID = 2, ProfileID = 6, SLAID = 11, ReportingDate = new DateTime(2018, 9, 1), QuantityProcessed = 650, QuantityOutsideofSLA = 2
         }
     };
 }
        public void GetOperaterListTest()
        {
            var unitOfWorkMock = new Mock <IUnitOfWork>();

            unitOfWorkMock.Setup(m => m.OperatorPlanRepository.GetOperatorList())
            .Returns(new List <OperaterTable> {
                new OperaterTable {
                    Operater = "Airtel"
                }
            });

            _operaterService = new OperatorService(unitOfWorkMock.Object);
            // _logger = (LoggerFactory)new LoggerFactory().CreateLogger("OperatorController");

            //    Mock<ILogger<OperatorController>>  loggerMock = new  Mock<ILogger<OperatorController>>();
            var operateraController = new OperatorController(_operaterService);

            var result = operateraController.GetAllRechargePlans();

            Assert.NotNull(result);
        }
Exemple #29
0
        public IEnumerator SkillPointGenerate(OperatorController operatorController, int startGenerate = 0)
        {
            curSkillPoint = startGenerate;
            isCanActive   = false;
            isActive      = false;
            operatorController.SetStartSkillPoint(0, cost);

            MainController.mainInterfaceFields.selectOperatorUI.updateSelectInfoOnlySkill();

            while (curSkillPoint < cost)
            {
                operatorController.SetSkillPoint(curSkillPoint + 1);

                MainController.mainInterfaceFields.selectOperatorUI.updateSelectInfoOnlySkill();
                curSkillPoint++;
                yield return(new WaitForSeconds(1f));
            }
            isCanActive = true;
            isActive    = false;
            yield return(null);
        }
 public void checkDPCostAndUnitLimit()
 {
     foreach (GameObject operatopPanel in OperatorsPanel)
     {
         UISelectAvatar     selectAvatar   = operatopPanel.GetComponent <UISelectAvatar>();
         GameObject         operatorObject = selectAvatar.operatorObject;
         OperatorController operatorData   = operatorObject.GetComponent <OperatorController>();
         if (operatorData._operatorData.DpCost <= MainController._DPcount && MainController.UnitLimit > 0 && !MainController.isDeployedOperator(operatorObject) && !selectAvatar.isRedeploy)
         {
             operatopPanel.GetComponent <UISelectAvatar>().isActive = true;
             operatopPanel.GetComponent <Button>().interactable     = true;
             operatopPanel.GetComponent <Image>().color             = activeAvatarColor;
         }
         else
         {
             operatopPanel.GetComponent <UISelectAvatar>().isActive = false;
             operatopPanel.GetComponent <Button>().interactable     = false;
             operatopPanel.GetComponent <Image>().color             = NonActiveAvatarColor;
         }
     }
 }