Esempio n. 1
0
    private IEnumerator InvasionCoroutine()
    {
        bool victory = false;
        bool defeat  = false;

        while (!victory && !defeat)
        {
            victory = BacteriasManager.singleton.livingBacteriasCount == 0;
            defeat  = PlayerCore.singleton.dead;
            yield return(null);
        }

        if (victory && defeat)
        {
            Debug.Log("Draw !");
        }
        else if (victory)
        {
            Debug.Log("Victory !");
        }
        else
        {
            Debug.Log("Defeat !");
        }

        if (victory)
        {
            PlayerCore.singleton.RegenerateAfterWave();
            m_playerResources *= 1 + m_cellularDivisionFactor * TechTree.TechRank(TechID.Adapt_CellDivision);
        }

        SetGamePhase(GamePhase.Preparation);
    }
Esempio n. 2
0
    public static BioResources operator /(BioResources a, float b)
    {
        BioResources result = new BioResources
        {
            biomass = a.biomass / b
        };

        return(result);
    }
Esempio n. 3
0
    public static BioResources operator -(BioResources a, BioResources b)
    {
        BioResources result = new BioResources
        {
            biomass = a.biomass - b.biomass
        };

        return(result);
    }
Esempio n. 4
0
    public bool PayResources(BioResources cost)
    {
        if (!CanAffordResources(cost))
        {
            return(false);
        }

        m_playerResources -= cost;

        return(true);
    }
Esempio n. 5
0
 public void AddResources(BioResources resources)
 {
     m_playerResources += resources;
 }
Esempio n. 6
0
 public void AddDeadBacteriaResourcesValue(BioResources resourcesValue)
 {
     m_playerResources += resourcesValue * (1 + m_biomassRecoveryBonusFactor * TechTree.TechRank(TechID.Adapt_BiomassRecovery));
     SoundManager.PlayDigestionSoundEffect();
 }
Esempio n. 7
0
 public bool CanAffordResources(BioResources cost)
 {
     return(cost <= m_playerResources);
 }