Exemple #1
0
 public void AddWall(Vector2 position, Rectangle textureOffset)
 {
     if (ManagerResources.CompareGold(managerUnits.index, 100))
     {
         ManagerResources.ReduceGold(managerUnits.index, 100);
         managerUnits.managerMap.AddWalls(position, textureOffset);
     }
 }
Exemple #2
0
        public void Update()
        {
            if (worker.workState == WorkigState.WORKING && goldMine.workers.Count > 0)
            {
                goldMine.animations.Change("working");

                elapsed += 0.1f;

                if (elapsed >= 10)
                {
                    worker.workState = WorkigState.GO_TO_WORK;

                    cityHall = managerBuildings.buildings.Find((b) =>
                                                               (b.information as InformationBuilding).Type == Util.Buildings.TOWN_HALL ||
                                                               (b.information as InformationBuilding).Type == Util.Buildings.GREAT_HALL) as CityHall;

                    if (cityHall == null)
                    {
                        goldMine.Fire();
                    }
                    else
                    {
                        if (currentState == State.MINER)
                        {
                            worker.Move((int)cityHall.Position.X / 32, (int)cityHall.Position.Y / 32);
                            worker.animations.currentAnimation = Util.AnimationType.GOLD;

                            goldMine.QUANITY -= 100;
                            goldMine.animations.Change("normal");
                            currentState = State.TOWN_HALL;
                        }
                        else
                        {
                            worker.Move((int)goldMine.Position.X / 32, (int)goldMine.Position.Y / 32);
                            worker.animations.currentAnimation = Util.AnimationType.WALKING;

                            ManagerResources.ReduceGold(managerUnits.index, -100);

                            if (goldMine.QUANITY <= 0)
                            {
                                goldMine.Fire();
                            }

                            goldMine.animations.Change("working");
                            currentState = State.MINER;
                        }
                    }

                    elapsed = 0;
                }
            }
        }
Exemple #3
0
        public bool execute()
        {
            if (!go && ManagerResources.CompareGold(managerUnits.index, informationUnit.CostGold) && ManagerResources.CompareFood(managerUnits.index, informationUnit.CostFood))
            {
                ManagerResources.ReduceGold(managerUnits.index, informationUnit.CostGold);
                ManagerResources.ReduceFood(managerUnits.index, informationUnit.CostFood);

                go        = true;
                completed = false;
                remove    = false;

                return(true);
            }

            return(false);
        }
        public bool execute()
        {
            if (ManagerResources.CompareGold(managerUnits.index, building.information.CostGold)) // && ManagerResources.CompareFood(managerUnits.index, building.information.CostWood))
            {
                ManagerResources.ReduceGold(managerUnits.index, building.information.CostGold);

                if ((building.information as InformationBuilding).Type == Util.Buildings.CHICKEN_FARM ||
                    (building.information as InformationBuilding).Type == Util.Buildings.PIG_FARM)
                {
                    ManagerResources.ReduceFood(managerUnits.index, -5);
                }

                builder.workState = WorkigState.WAITING_PLACE;
                building.builder();

                return(true);
            }

            return(false);
        }