void CheckForCleanup() { if (LifeState != null && !LifeState.Alive) { if (SlimeBehaviour.GetSudCount(transform.position, 3.0f) > 0) { SlimeState.Update.TriggerCleanSlimeEvent().FinishAndSend(); } } }
void CheckForCleanup() { if (Vector3.Distance(transform.position, lastPosition) < 0.1f && !initiallyLeaked) { initiallyLeaked = true; var slimePosition = new Vector3(transform.position.x, -1.0f, transform.position.z); SlimeState.Update.TriggerSpreadSlimeEvent(slimePosition.RemapUnityVectorToGlobalCoordinates()).FinishAndSend(); } if (SlimeBehaviour.GetSudCount(transform.position, 3.0f) > 0) { SlimeState.Update.TriggerCleanSlimeEvent().FinishAndSend(); } }
void DoInfectIfNearby() { if (!InfectionState.Infected && Random.value > 0.5 && GetInfectionCount(transform.position, 1.0f) > 0) { InfectionState.Update.Infected(true).FinishAndSend(); } if (!InfectionState.Infected && GetSlimeCount(transform.position, 5.0f) > 0) { InfectionState.Update.Infected(true).FinishAndSend(); } if (InfectionState.Infected && SlimeBehaviour.GetSudCount(transform.position, 4.0f) > 0) { InfectionState.Update.Infected(false).FinishAndSend(); } }