private void WaterTick() { var wDelta = config.MaxWaterRate - config.MinWaterRate; var waterAmount = rndSource.NextDouble() * wDelta + config.MinWaterRate; TreeState.WaterLevel -= waterAmount; if (TreeState.WaterLevel < 0) { TreeState.WaterLevel = 0; } }
private void DrawGrass(int y, int amount) { var grassScale = 0.2 * ScaleFactor; ctx.StrokeStyle = GrassColor; ctx.LineWidth = grassScale * 0.025; ctx.BeginPath(); for (var i = 0; i < amount; i++) { var x = grassRandom.NextDouble() * CanvasWidth; var offsetx = grassRandom.NextDouble() - 0.5; var offsetY = grassRandom.NextDouble() - 0.5; var height = grassRandom.NextDouble() * 0.7 + 0.3; ctx.MoveTo(x, y + offsetY * grassScale); ctx.LineTo(x + offsetx * grassScale, y + offsetY * grassScale + height * grassScale); } ctx.ClosePath(); ctx.Stroke(); }