Esempio n. 1
0
 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;
 }