public OrderState Update(_WORLD_MANAGER worldManager, UnitBase unit)
        {
            // Debug.Log(_actionsRemaining);
            if (--_actionsRemaining > 0)
            {
                return(OrderState.Running);
            }

            worldManager.AddChange(
                new WorldCitySetChange(
                    worldManager.world,
                    new CitySetNewCityChange(
                        worldManager.world.citySet,
                        new City(unit.position, 1)
                        )
                    )
                );

            worldManager.AddChange(
                new WorldTilemapStructureChange(
                    worldManager.world,
                    new TilemapTileChange(
                        worldManager.world.tilemapStructures,
                        unit.position,
                        worldManager.cityTile
                        )
                    )
                );

            return(OrderState.Completed);
        }
Example #2
0
        public OrderState Update(_WORLD_MANAGER worldManager, CityBase city)
        {
            if (--_actionsRemaining > 0)
            {
                return(OrderState.Running);
            }

            worldManager.AddChange(
                new WorldUnitSetChange(
                    worldManager.world,
                    new UnitSetNewUnitChange(
                        worldManager.world.unitSet,
                        new Unit(city.position, 1)
                        )
                    )
                );

            worldManager.AddChange(
                new WorldTilemapUnitsChange(
                    worldManager.world,
                    new TilemapTileChange(
                        worldManager.world.tilemapUnits,
                        city.position,
                        worldManager.unitTile
                        )
                    )
                );

            return(OrderState.Completed);
        }
Example #3
0
 public void Update(_WORLD_MANAGER worldManager)
 {
     foreach (var city in _cities)
     {
         city.Update(worldManager);
     }
 }
Example #4
0
 public void Update(_WORLD_MANAGER worldManager)
 {
     foreach (var unit in _units)
     {
         unit.Update(worldManager);
     }
 }
Example #5
0
 public void Update(_WORLD_MANAGER worldManager)
 {
     _unitSet.Update(worldManager);
     _citySet.Update(worldManager);
     _tilemapGround.Update(worldManager);
     _tilemapStructures.Update(worldManager);
     _tilemapUnits.Update(worldManager);
 }
Example #6
0
        public void Update(_WORLD_MANAGER worldManager)
        {
            // If orders exist...
            if (_orders.Count > 0)
            {
                // Update the first order in the queue.
                switch (_orders.Peek().Update(worldManager, this))
                {
                case OrderState.Completed: _orders.Dequeue(); break;

                case OrderState.NotStarted: throw new System.NotImplementedException();

                case OrderState.Running: break;

                case OrderState.Started: throw new System.NotImplementedException();
                }
            }
        }
        public OrderState Update(_WORLD_MANAGER worldManager, UnitBase unit)
        {
            var unitGet = worldManager.world.unitSet.GetUnit(_masterListIndex);
            var move    = _target - unitGet.position;

            move.x = System.Math.Sign(move.x);
            move.y = System.Math.Sign(move.y);

            // Debug.Log(_actionsRemaining);
            if (_target.SquareTileDistance(unitGet.position) == 0)
            {
                return(OrderState.Completed);
            }

            worldManager.AddChange(
                new WorldUnitSetChange(
                    worldManager.world,
                    new UnitSetUnitChange(
                        worldManager.world.unitSet,
                        _masterListIndex,
                        new UnitPositionChange(
                            worldManager.world.unitSet.GetUnit(_masterListIndex),
                            unitGet.position + move
                            )
                        )
                    )
                );

            worldManager.AddChange(
                new WorldTilemapUnitsChange(
                    worldManager.world,
                    new TilemapTileChange(
                        worldManager.world.tilemapUnits,
                        unitGet.position + move,
                        worldManager.unitTile
                        )
                    )
                );

            return(OrderState.Running);
        }
 public virtual void Update(_WORLD_MANAGER worldManager)
 {
     _parent.Update(worldManager);
 }
 public void Update(_WORLD_MANAGER worldManager)
 {
 }