private Vector2 GetTranslatedActorPosForRender(ActorRender acRender) { var translatedX = acRender.Position.X - acRender.Size.X / 2; var translatedY = acRender.Position.Y + acRender.Size.Y / 2; return(new Vector2(translatedX, translatedY)); }
/// <summary> /// True if actor is in camera view range /// </summary> /// <param name="acrender"></param> /// <returns></returns> private bool IsActorInRenderRange(ActorRender acrender) { Vector2 cameraSize = GetCameraRenderSize(); float xDistance = Math.Abs(acrender.Position.X - Camera.CameraX); float cameraXWidthWithExtraBufferRange = cameraSize.X + 150; //Render distance is only applied on x coord return(xDistance <= cameraXWidthWithExtraBufferRange); }