protected void DecrimentLifetime() { CurrentLifeTime -= Time.deltaTime * world.GrowthTimeScale; if (CurrentLifeTime < 0.0f) // no life left { DestroyPlaceable(); } else if (CurrentLifeTime < placeableData.lifetime * 0.1f) //down 90% - 100% of its life { CurrentLifeStage = ePlaceableLifeStage.DECAYING; } else if (CurrentLifeTime < placeableData.lifetime * 0.6f) //down 40% - 89$ of its life { CurrentLifeStage = ePlaceableLifeStage.GROWN; } else if (CurrentLifeTime < placeableData.lifetime * 0.8f) //down 20% - 39% of its life { CurrentLifeStage = ePlaceableLifeStage.ADOLESCENT; } else if (CurrentLifeTime < placeableData.lifetime * 0.9f) //down 10% - 19% of its life { CurrentLifeStage = ePlaceableLifeStage.BUDDING; } else //Down 0% - 9% of its life { CurrentLifeStage = ePlaceableLifeStage.SEED; } UpdateModel(); }
public void UpdateModel(ePlaceableLifeStage stage) { switch (stage) { case ePlaceableLifeStage.SEED: meshFilter.mesh = placeableData.seedModel; break; case ePlaceableLifeStage.BUDDING: meshFilter.mesh = placeableData.buddingModel; break; case ePlaceableLifeStage.ADOLESCENT: meshFilter.mesh = placeableData.adolescentModel; break; case ePlaceableLifeStage.GROWN: meshFilter.mesh = placeableData.grownModel; break; case ePlaceableLifeStage.DECAYING: meshFilter.mesh = placeableData.decayingModel; break; } }