public virtual void RenderUpdate(SpriteLeaser spriteLeaser, WorldCamera camera) { if (world != null) { FSprite sprite = spriteLeaser.sprites[0]; if (element != null) { sprite.isVisible = true; sprite.element = element; } else { sprite.isVisible = false; } sprite.SetPosition(camera.GetScreenPosition(worldPosition) + _positionOffset); sprite.rotation = _rotation; sprite.scaleX = scale.x; sprite.scaleY = scale.y; if (doesFlip) { sprite.scaleX *= (camera.GetFlipXByViewAngle(viewAngle) ? -1f : 1f); } sprite.sortZ = camera.GetSortZ(worldPosition) + sortZOffset; sprite.color = color; // new Color(worldPosition.x, worldPosition.y, worldPosition.z); } else { spriteLeaser.Erase(); } }