Example #1
0
    public override void OnBeatSuccess(BasePlanet planet, BeatResult result)
    {
        if (planet != this)
        {
            return;
        }
        int resultBonus = result == BeatResult.Awesome ? 2 : 1;

        if (planetState == PlanetState.Colonized)
        {
            List <BasePlanet> destroyed = manager.GetDestroyedPlanets(teamID);
            if (destroyed.Count > 0 && manager.GetResourceType(repairCost.type) >= repairCost.amount)
            {
                int idx = UnityEngine.Random.Range(0, destroyed.Count - 1);
                destroyed[idx].Repair();
                manager.SpendResource(repairCost.type, repairCost.amount);
            }
            else
            {
                int units = baseBeatRate * resultBonus;
                Debug.LogFormat("Adding {0} units of {1}", units, PlanetUtils.GetResourceName(resourceType));
                manager.AddResource(resourceType, units);
            }
        }
        BlinkColour();
        CheckColonize(planet);
    }
Example #2
0
    public override void OnBeatFailed(BasePlanet planet)
    {
        if (planet != this && planetState != PlanetState.Colonized)
        {
            return;
        }
        base.OnBeatFailed(planet);

        Debug.LogFormat("Lost {0} units of {1}", resourcePenalty, PlanetUtils.GetResourceName(resourceType));
        manager.DecreaseResource(resourceType, resourcePenalty);
    }
Example #3
0
    public override void OnBeatSuccess(BasePlanet planet, BeatResult result)
    {
        if (planet != this)
        {
            return;
        }
        int resultBonus = result == BeatResult.Awesome ? 2 : 1;

        if (planetState == PlanetState.Colonized)
        {
            int units = baseBeatRate * resultBonus;
            Debug.LogFormat("Adding {0} units of {1}", units, PlanetUtils.GetResourceName(resourceType));
            manager.AddResource(resourceType, units);
        }

        base.OnBeatSuccess(planet, result);
    }