コード例 #1
0
    private IEnumerator SpeciesUnitTrainerUpdate(SpeciesUnitTrainer mobTrainer)
    {
        bool deploy = false;

        if (mobTrainer.GetGarrisonedUnitsCount() > 0)
        {
            deploy = true;
        }
        while (gameObject.activeSelf)
        {
            if (!button.interactable && mobTrainer.GetCurrentUnits() > 0 && !mobTrainer.garrisoningUnits)
            {
                button.interactable = true;
                SetText(mobTrainer.GetFunctionButton1Text());
            }
            else if (button.interactable && (mobTrainer.GetCurrentUnits() == 0 || mobTrainer.garrisoningUnits))
            {
                button.interactable = false;
                SetText(mobTrainer.GetFunctionButton1Text());
            }
            if (mobTrainer.GetGarrisonedUnitsCount() > 0 && !deploy || mobTrainer.GetGarrisonedUnitsCount() == 0 && deploy)
            {
                SetText(mobTrainer.GetFunctionButton1Text());
                deploy = !deploy;
            }
            yield return(null);
        }
    }
コード例 #2
0
    public void PlaceBuilding()
    {
        player.AddBuilding(name, transform.position);
        Building newBuilding = player.buildings.currentBuildings [player.buildings.currentBuildings.Count - 1];

        newBuilding.buildingSlot      = SetBuildingSlot();
        currBuildingSlot.currBuilding = newBuilding;
        SpeciesUnitTrainer newSpeciesUnitTrainer = newBuilding.GetComponent <SpeciesUnitTrainer>();

        if (newSpeciesUnitTrainer)
        {
            newSpeciesUnitTrainer.SetMainStratPoint(currBuildingSlot.stratPoint);
        }
        gameObject.SetActive(false);
    }
コード例 #3
0
 protected override void OnEnable()
 {
     base.OnEnable();
     if (wo)
     {
         button.interactable = true;
         mainText.text       = wo.GetFunctionButton1Text();
         button.onClick.RemoveAllListeners();
         if (wo as SpeciesUnitTrainer)
         {
             SpeciesUnitTrainer mobTrainer = wo as SpeciesUnitTrainer;
             button.onClick.AddListener(mobTrainer.DeployGarrisonUnits);
             if (mobTrainer.GetCurrentUnits() == 0)
             {
                 button.interactable = false;
             }
             StartCoroutine(SpeciesUnitTrainerUpdate(mobTrainer));
         }
     }
 }
コード例 #4
0
 public override void SetMobTrainer(MobTrainer thisMobTrainer)
 {
     base.SetMobTrainer(thisMobTrainer);
     unitTrainer = thisMobTrainer as SpeciesUnitTrainer;
 }