예제 #1
0
    public int GetNeededAmount(ref bool isUpgrade)
    {
        int amountNeeded          = 0;
        FPSBuilderManager builder = FPSBuilderManager.Instance;

        if (currentLife < totalLife)
        {
            amountNeeded = totalLife - currentLife;
            if (amountNeeded > builder.maxRepairAmount)
            {
                amountNeeded = builder.maxRepairAmount;
            }
            if (builder.currentResources < amountNeeded)
            {
                amountNeeded = builder.currentResources;
            }
            isUpgrade = false;
        }
        else if (upgrades != null && upgrades.Length > 0)
        {
            amountNeeded = upgrades[currentUpgradeIndex].cost - currentUpgradeProgress;
            if (amountNeeded > builder.maxRepairAmount)
            {
                amountNeeded = builder.maxRepairAmount;
            }
            if (builder.currentResources < amountNeeded)
            {
                amountNeeded = builder.currentResources;
            }
            isUpgrade = true;
        }
        return(amountNeeded);
    }
예제 #2
0
    private void OnTriggerEnter(Collider other)
    {
        FPSBuilderManager builder = other.GetComponent <FPSBuilderManager>();

        if (builder)
        {
            builder.currentResources += value;
            gameObject.SetActive(false);
        }
    }
예제 #3
0
 void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
     }
     else
     {
         Destroy(gameObject);
         return;
     }
     isBuilding = false;
     builds     = new List <Buildable>();
     playerView = Camera.main;
 }