Exemple #1
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);
        }
Exemple #2
0
    public virtual void Start()
    {
        //eventData = Instantiate(eventDataCopy);
        isResolving = false;
        isResolved  = false;

        if (ResourceManager.instance != null)
        {
            resManager = ResourceManager.instance;
        }
        if (EventManager.instance != null)
        {
            eventManager = EventManager.instance;
        }
        if (RegionManager.instance != null)
        {
            regionManager = RegionManager.instance;
        }
        if (TurnManager.instance != null)
        {
            turnManager = TurnManager.instance;
        }
        this.GetComponent <Button>().onClick.AddListener(Click);
        this.GetComponent <BindToRegion> ().regionOrigin = regionOrigin;
        turnManager.EndTurnEvent.AddListener(UpdateEvent);
        cityOrign       = regionOrigin.cityOrigin;
        tutorialManager = cityOrign.tutorialManager;
        if (turnsLeft > 0)
        {
            GetComponent <Image>().sprite = timerSprites[turnsLeft - 1];
        }

        isEventUiPanel = false;
    }
Exemple #3
0
        /// <summary>
        /// Gets the image to use for the specified city.
        /// </summary>
        /// <param name="city"></param>
        /// <returns></returns>
        public Image GetImage(CityBase city)
        {
            if (city == null)
            {
                throw new ArgumentNullException("city");
            }

            return(this.cityHash[city].Image);
        }
Exemple #4
0
        /// <summary>
        /// Refreshes the tile for the city.
        /// </summary>
        /// <param name="city"></param>
        public void Refresh(CityBase city)
        {
            if (city == null)
            {
                throw new ArgumentNullException("city");
            }

            this.cityHash.Remove(city);
            CityTile tile = GetCityTile(city);

            this.cityHash.Add(city, tile);
        }
Exemple #5
0
	public virtual void Start()
	{
		if (TurnManager.instance != null)
		{
			turnManager = TurnManager.instance;
		}
		if (ResearchManager.instance != null)
		{
			researchManager = ResearchManager.instance;
		}
		turnManager.EndTurnEvent.AddListener(DoEffect);
		cityBase = GetComponent<CityBase>();
	}
 void Start()
 {
     cityOrigin = regionOrigin.cityOrigin;
     SetSprite(regionOrigin.cityOrigin.firstProduction, regionOrigin.cityOrigin.secondProduction);
     if (ResourceManager.instance != null)
     {
         resManager = ResourceManager.instance;
     }
     resManager.AdjustedResourceEvent.AddListener(UpdateUiText);
     cityOrigin.AdjustedCityResource.AddListener(UpdateUiText);
     UpdateUiText();
     cityOrigin = regionOrigin.cityOrigin;
 }
Exemple #7
0
    public bool isEnoughRes()
    {
        CityBase cityOrigin = regionOrigin.cityOrigin;

        if (cityOrigin.cityResources.Water < eventDataCopy.waterCost || cityOrigin.cityResources.Food < eventDataCopy.foodCost ||
            cityOrigin.cityResources.Power < eventDataCopy.powerCost || resManager.actionPoints < eventDataCopy.actionCost)
        {
            return(false);
        }
        else
        {
            return(true);
        }
    }
Exemple #8
0
    public bool isEnoughRes()
    {
        CityBase cityOrigin = regionOrigin.cityOrigin;

        FindObjectOfType <AudioManager> ().Play("Generic");
        if (cityOrigin.cityResources.Water < waterSum || cityOrigin.cityResources.Food < foodSum ||
            cityOrigin.cityResources.Power < powerSum)
        {
            return(false);
        }
        else
        {
            return(true);
        }
    }
Exemple #9
0
    // Update is called once per frame
    void Update()
    {
        CityBase cityOrgin = eventOrigin.regionOrigin.cityOrigin;

        if (eventOrigin != null)
        {
            water.text = cityOrgin.cityResources.Water.ToString();
            power.text = cityOrgin.cityResources.Power.ToString();
            food.text  = cityOrgin.cityResources.Food.ToString();

            ChangeColor(water, cityOrgin.cityResources.Water, waterColor);
            ChangeColor(power, cityOrgin.cityResources.Power, powerColor);
            ChangeColor(food, cityOrgin.cityResources.Food, foodColor);
        }
    }
Exemple #10
0
        private CityTile GetCityTile(CityBase city)
        {
            CitySizeClass sizeClass = city.SizeClass;
            Civilization  civ       = city.ParentCountry.Civilization;
            Era           era       = city.ParentCountry.Era;

            foreach (CityTile tile in this.Items)
            {
                if (tile.Civilization == civ && tile.Era == era && tile.SizeClass == sizeClass)
                {
                    return(tile);
                }
            }

            return(null);
        }
Exemple #11
0
    public void SpawnResourceSender(CityBase cityTarget, int water, int food, int power)
    {
        Vector3 spawnPos;

        spawnPos.x = this.transform.position.x;
        spawnPos.y = baseUnitPrefab.transform.position.y;
        spawnPos.z = this.transform.position.z;
        GameObject         currentUnit    = Instantiate(unitResourceSenderPrefab, spawnPos, this.transform.rotation);
        UnitResourceSender resourceSender = currentUnit.GetComponent <UnitResourceSender>();

        resourceSender.cityOrigin = this;
        resourceSender.target     = cityTarget;

        resourceSender.StoreResource(ProductionType.Water, water);
        resourceSender.StoreResource(ProductionType.Food, food);
        resourceSender.StoreResource(ProductionType.Power, power);

        unitResourceSenders.Add(currentUnit);
        regionManager.unitsList.Add(currentUnit.GetComponent <UnitBase>());
    }
Exemple #12
0
        internal static string getCityCode(string city)
        {
            string cityCode = string.Empty;

            try
            {
                MysqlDBA <CityBase> mysqlDBA  = new MysqlDBA <CityBase>(FunctionController.CONNSTR);
                CityBase            queryCrit = new CityBase();
                queryCrit.CityName = city;
                List <CityBase> listr = (List <CityBase>)mysqlDBA.getDataListNoKey(queryCrit);
                if (listr.Count > 0)
                {
                    cityCode = listr[0].CityCode;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(cityCode);
        }
Exemple #13
0
 public CityNewOrder(CityBase parent, CityOrderBase order)
     : base(parent)
 {
     _order = order ?? throw new System.ArgumentNullException(nameof(order));
 }
 public CitySetNewCityChange(CitySetBase parent, CityBase newCity)
     : base(parent)
 {
     _newCity = newCity ?? throw new ArgumentNullException(nameof(newCity));
 }
Exemple #15
0
 public CityNewTurn(CityBase parent)
     : base(parent)
 {
 }
Exemple #16
0
 void Start()
 {
     cityOrigin = GetComponent <CityBase>();
 }
 public CityGenericActionUse(CityBase parent)
     : base(parent)
 {
 }