protected override void ClientInitialize(ClientInitializeData data) { base.ClientInitialize(data); var gameObject = data.GameObject; var clientState = data.ClientState; var publicState = data.PublicState; clientState.LastGrowthStage = publicState.GrowthStage; var spriteRenderer = clientState.Renderer; spriteRenderer.TextureResource = SystemVegetation.ClientGetTexture( this, gameObject, publicState); clientState.Renderer = spriteRenderer; // flip renderer with some deterministic randomization if (this.CanFlipSprite && PositionalRandom.Get(gameObject.TilePosition, 0, 3, seed: 721886451) == 0) { spriteRenderer.DrawMode = DrawMode.FlipHorizontally; } if (this.IsAutoAddShadow) { this.ClientAddShadowRenderer(data); } }
protected override void ClientUpdate(ClientUpdateData data) { base.ClientUpdate(data); var clientState = data.ClientState; var publicState = data.PublicState; if (clientState.LastGrowthStage != publicState.GrowthStage) { SystemVegetation.ClientRefreshVegetationRendering( this, data.GameObject, clientState, publicState); } }