Example #1
0
    private void BuildList()
    {
        BuildingJobsList = new List <BuildingJob>();

        // Settler
        var job = new BuildingJob(Resources.Load <Sprite>("Icons/Unit.Warrior"),
                                  "Settler",
                                  2,
                                  () => // OnCompleteFunc
        {
            Unit unit = new Unit("Settler", 100, 0, 2f, Unit.UNITTYPE.Settler)
            {
                CanBuildCities = true
            };
            GameObject.Find("GameController").GetComponent <GameController>().SpawnUnitAt(unit, Hex);
            currentProduction = PRODUCTION.IDLE;
            BuildingJob       = null;
        });

        BuildingJobsList.Add(job);

        // Warrior
        job = new BuildingJob(Resources.Load <Sprite>("Icons/Unit.Warrior"),
                              "Warrior",
                              5,
                              () => // OnCompleteFunc
        {
            Unit unit = new Unit("Warrior", 100, 8, 2f, Unit.UNITTYPE.Warrior);
            GameObject.Find("GameController").GetComponent <GameController>().SpawnUnitAt(unit, Hex);
            currentProduction = PRODUCTION.IDLE;
            BuildingJob       = null;
        });
        BuildingJobsList.Add(job);
    }
Example #2
0
 public City(Hex hex, string name)
 {
     this.Hex          = hex;
     Name              = name;
     workLeft          = 0;
     currentProduction = PRODUCTION.IDLE;
     BuildList();
 }
Example #3
0
    public void DoTurn()
    {
        if (BuildingJob != null)
        {
            currentProduction = PRODUCTION.BUSY;
        }

        if (currentProduction == PRODUCTION.BUSY)
        {
            workLeft = BuildingJob.DoWork(productionPerTurn);
        }
    }
Example #4
0
 protected override void Visit_PRODUCTION(PRODUCTION node)
 {
     /* MOVE CODE HERE */
 }
Example #5
0
 protected virtual void Visit_PRODUCTION(PRODUCTION node)
 {
 }