Exemple #1
0
        public virtual IActionResult PostTower([FromBody] TowerViewModel towerViewModel)
        {
            try
            {
                towerViewModel.UserId = UserId;
                var existingTower = TowerRepository.Find(towerViewModel.TowerId);

                if (existingTower != null)
                {
                    return(new ObjectResult(new OperationResult {
                        IsSuccess = false, ErrorMessage = "Tower is already exist"
                    }));
                }

                var towerModel = towerViewModel.Adapt <TowerViewModel, Tower>();
                TowerRepository.Add(towerModel);

                return(new ObjectResult(new OperationResult {
                    IsSuccess = true, ErrorMessage = "Created Successfully"
                }));
            }
            catch (Exception ex)
            {
                return(new ObjectResult(new OperationResult {
                    IsSuccess = false, ErrorMessage = ex.Message
                }));
            }
        }
Exemple #2
0
    public override void UpdateView()
    {
        TowerViewModel viewModel = new TowerViewModel();

        viewModel.Range       = Model.Range.Points;
        viewModel.MaxAmmo     = Model.Ammo.MaxPoints;
        viewModel.Ammo        = Model.Ammo.Points;
        viewModel.IsSold      = isSold;
        viewModel.SellPrice   = sellPrice;
        viewModel.ReloadPrice = reloadPrice;
        View.UpdateState(viewModel);
    }
Exemple #3
0
    public void UpdateState(TowerViewModel viewModel)
    {
        if (viewModel.IsSold)
        {
            FlyingTextSpawner.SpawnGoldEarned(viewModel.SellPrice, gameObject);
            Destroy(gameObject);
            return;
        }

        if (ammoBar == null)
        {
            attacher = GetComponent <PrefabAttacher>();
            attacher.AttachPrefab();
            ammoBar = attacher.GetInstance().transform.Find("Ammunition Bar").GetComponent <Bar>();
            ammoBar.pointsImage
                = attacher.
                  GetInstance().
                  transform.Find("Ammunition Bar/Ammo").
                  GetComponent <Image>();
            disabler = GetComponent <ObjectDisabler>();
            GameObject buttons = ammoBar.gameObject.transform.parent.Find("Buttons").gameObject;
            disabler.toBeDisabled = buttons;
            disabler.Disable();

            reloadButton = buttons.transform.Find("Reload").GetComponent <Button>();
            sellButton   = buttons.transform.Find("Sell").GetComponent <Button>();

            reloadButton.onClick.AddListener(OnReload);
            sellButton.onClick.AddListener(OnSell);
        }

        range = viewModel.Range;
        ammoBar.UpdateState(viewModel.Ammo, viewModel.MaxAmmo);

        int ammoPercentage = (int)(viewModel.Ammo / viewModel.MaxAmmo * 100);

        if (ammoPercentage != lastAmmoPercentageShown)
        {
            lastAmmoPercentageShown = ammoPercentage;
            if (ammoPercentage < nextMilestone)
            {
                FlyingTextSpawner.SpawnAmmunitionLeft(ammoPercentage, gameObject);
                nextMilestone -= 100;
            }
        }

        if (viewModel.ReloadPrice != 0)
        {
            FlyingTextSpawner.SpawnGoldSpent(viewModel.ReloadPrice, gameObject);
        }
    }
Exemple #4
0
        public virtual IActionResult GetTowerById([FromRoute] long TowerId)
        {
            var twrModel = TowerRepository.Find(TowerId);
            var twrVM    = new TowerViewModel();

            if (twrModel != null)
            {
                twrVM = twrModel.Adapt <TowerViewModel>();
                return(new ObjectResult(twrVM));
            }
            else
            {
                return(new ObjectResult(new ResponseMsg {
                    HttpStatusCode = (int)HttpStatusCode.BadRequest, Message = "Tower does not exist"
                }));
            }
        }
Exemple #5
0
        public virtual IActionResult PutTower([FromBody] TowerViewModel towerViewModel)
        {
            try
            {
                towerViewModel.UserId = UserId;
                var existingTower = TowerRepository.Find(towerViewModel.TowerId);

                if (existingTower != null)
                {
                    if (towerViewModel.TowerId > 0)
                    {
                        towerViewModel.Adapt(existingTower);
                        TowerRepository.Update(existingTower);

                        return(new ObjectResult(new OperationResult {
                            IsSuccess = true, ErrorMessage = "Tower Updated Successfully"
                        }));
                    }
                    else
                    {
                        return(new ObjectResult(new OperationResult {
                            IsSuccess = false, ErrorMessage = "Not Updated"
                        }));
                    }
                }
                else
                {
                    return(new ObjectResult(new OperationResult {
                        IsSuccess = false, ErrorMessage = "tower does not exist"
                    }));
                }
            }
            catch (Exception ex)
            {
                return(new ObjectResult(new OperationResult {
                    IsSuccess = false, ErrorMessage = ex.Message
                }));
            }
        }