public override void CleanUp() { ShellLeftHalf = null; ShellRightHalf = null; LeftHalfPosOffset = RightHalfPosOffset = Vector2.Zero; BObjManager = null; }
public ShellBreakAnimObj(BattleObjManager bObjManager, Vector2 position, double animDuration, float maxRotationVal, double rotationTime) { BObjManager = bObjManager; Position = position; AnimDuration = animDuration; MaxRotation = maxRotationVal; RotationTime = rotationTime; //Load the halves Texture2D shellSheet = AssetManager.Instance.LoadRawTexture2D($"{ContentGlobals.SpriteRoot}/Neutral/ShellShieldShell.png"); ShellLeftHalf = new CroppedTexture2D(shellSheet, new Rectangle(7, 298, 108, 129)); ShellRightHalf = new CroppedTexture2D(shellSheet, new Rectangle(117, 298, 94, 128)); //Calculate the position offsets for the shell halves //They're not the same size, with the left half being larger than the right half Vector2 leftHalfSize = ShellLeftHalf.WidthHeightToVector2(); LeftHalfPosOffset = new Vector2(0f, leftHalfSize.Y / 2); RightHalfPosOffset = new Vector2(leftHalfSize.X - (Math.Abs(ShellRightHalf.SourceRect.Value.Width - leftHalfSize.X)), LeftHalfPosOffset.Y); }
public void CleanUp() { ClearAllBattleObjects(); instance = null; }