public void ChangeState(PlantProperties.State state, bool resetAge, bool loading = false) { if (base.isServer && State == state) { return; } State = state; if (!base.isServer) { return; } if (!loading) { if (currentStage.resources > 0f) { yieldPool = currentStage.yield; } if (state == PlantProperties.State.Crossbreed) { if (Properties.CrossBreedEffect.isValid) { Effect.server.Run(Properties.CrossBreedEffect.resourcePath, base.transform.position, Vector3.up); } GrowableGenetics.CrossBreed(this); } SendNetworkUpdate(); } if (resetAge) { stageAge = 0f; } }
private void BecomeState(PlantProperties.State state, bool resetAge = true) { if (base.isServer && this.state == state) { return; } this.state = state; if (base.isServer) { base.SendNetworkUpdate(BasePlayer.NetworkQueue.Update); if (resetAge) { this.stageAge = 0f; } } }
public override void ResetState() { base.ResetState(); this.state = PlantProperties.State.Seed; }