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); }
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); }
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); }