Exemple #1
0
    private void Update()
    {
        if (online && !IsBuilding && cargo.CurrentMetal >= metalCost && FactionsManager.factions[gameObject.tag].money >= moneyCost)
        {
            BuildTimer = buildTime;
            cargo.RemoveMetal(metalCost);
            FactionsManager.factions[gameObject.tag].money -= moneyCost;
            IsBuilding = true;
        }

        if (online && IsBuilding)
        {
            BuildTimer -= Time.deltaTime;
            if (BuildTimer <= 0)
            {
                GameObject createdShip = Instantiate(producedShip);
                createdShip.tag = gameObject.tag;
                createdShip.transform.position = transform.position;
                IsBuilding = false;

                if (!(RallyPos.x == transform.position.x && RallyPos.y == transform.position.y))
                {
                    MilitaryAi createdShipMilitaryAi = createdShip.GetComponent <MilitaryAi>();
                    createdShipMilitaryAi.automate = false;
                    createdShipMilitaryAi.HandleRightClick(RallyPos, tag);
                }
            }
        }
    }
Exemple #2
0
    public void CheckAndSetFactionChanges(string faction)
    {
        MilitaryAi attachedMilitaryAi = attachedSelectable.GetComponent <MilitaryAi>();

        automationToggle.isOn = attachedMilitaryAi.automate;
        attackToggle.isOn     = attachedMilitaryAi.attackOnSight;

        if (!FactionsManager.playerFaction.factionTag.Equals(faction))
        {
            automationToggle.enabled       = false;
            automationToggle.image.enabled = false;

            attackToggle.enabled       = false;
            attackToggle.image.enabled = false;
        }
        else
        {
            automationToggle.onValueChanged.AddListener(AutomateSelectedMilitaryShips);
            attackToggle.onValueChanged.AddListener(AutomateAttackSelectedMilitaryShips);
        }
    }