public override void Render(DeviceContext graphics, Matrix4F matrix, Vector3D renderOrigin, Entity entity, AvatarController avatarController, Timestep renderTimestep, RenderMode renderMode) { _effectRenderer.Render(entity, this, renderTimestep, graphics, matrix, renderOrigin, renderMode); if (renderMode != RenderMode.Normal) { return; } var logic = entity.TileStateEntityLogic as SoccerGoalTileStateEntityLogic; if (logic == null || !logic.IsClaimed()) { return; } var renderPosition = logic.GetCountPosition(); var distanceBetween = (avatarController.Physics.Position - renderPosition).LengthSquared(); var renderCullDistance = Constants.DockedItemCountRenderCullDistanceSquared * 4f; if (distanceBetween < renderCullDistance) { var scale = (2f - (renderCullDistance - (float)distanceBetween) / renderCullDistance) * 2f; _billboardNumberRenderer.DrawInteger(logic.GoalCount, renderPosition, Vector3D.Zero, scale); } _billboardNumberRenderer.Draw(graphics, renderOrigin, matrix); }
public override void Render(DeviceContext graphics, Matrix4F matrix, Vector3D renderOrigin, Entity entity, AvatarController avatarController, Timestep renderTimestep, RenderMode renderMode) { _effectRenderer.Render(entity, this, renderTimestep, graphics, matrix, renderOrigin, renderMode); }