public int Test(PlayerView view, ref WorldBase world) { if (_cityIndex < 0) { return(-1); } var city = world.citySet.GetActiveCity(_cityIndex, out _masterIndex); var placeAtPosition = city.position; for (int i = 0; i < world.unitSet.numberOfUnits; ++i) { if (world.unitSet.GetUnit(i).position == placeAtPosition) { _cityIndex = -1; return(-1); } } world = new WorldCitySetChange( world, new CitySetCityChange( world.citySet, _masterIndex, new CityNewOrder( city, new CityOrderBuildUnit() ) ) ); return(10); }
public int Test(PlayerView view, ref WorldBase world) { if (_unitIndex < 0) { return(-1); } UnitBase unit = world.unitSet.GetActiveUnit(_unitIndex, out int masterListIndex); var placeAtPosition = unit.position; for (int i = 0; i < world.citySet.numberOfCities; ++i) { if (Vector2Int.Distance(world.citySet.GetCity(i).position, placeAtPosition) <= 4.0F) { _unitIndex = -1; return(-1); } } world = new WorldUnitSetChange( world, new UnitSetUnitChange( world.unitSet, masterListIndex, new UnitNewOrder( unit, new UnitOrderBuildCity() ) ) ); world = new WorldCitySetChange( world, new CitySetNewCityChange( world.citySet, new City(placeAtPosition, 1) // new City(new Vector2Int(60, 30)) ) ); return(10); }