public override void Update() { if (ActionCmd?.AcceptingInput == false) { return; } //Initialize if not initialized if (Initialized == false) { Initialize(); Initialized = true; } if (MarioHPRestoredVal != ActionCmd.HealingResponse.MarioHPRestored) { MarioHPRestoredVal = ActionCmd.HealingResponse.MarioHPRestored; MarioHPText.Text = MarioHPRestoredVal.ToString(); } if (PartnerHPText != null && PartnerHPRestoredVal != ActionCmd.HealingResponse.PartnerHPRestored) { PartnerHPRestoredVal = ActionCmd.HealingResponse.PartnerHPRestored; PartnerHPText.Text = PartnerHPRestoredVal.ToString(); } if (FPRestoredVal != ActionCmd.HealingResponse.FPRestored) { FPRestoredVal = ActionCmd.HealingResponse.FPRestored; FPText.Text = FPRestoredVal.ToString(); } Cursor.Position = UtilityGlobals.GetPointAroundCircle(new Circle(ActionCmd.StartPosition, ActionCmd.CircleRadius), ActionCmd.CursorAngle, true); Cursor.Rotation = (float)(-ActionCmd.ElapsedTime * UtilityGlobals.ToRadians(ActionCmd.CursorRotSpeed)); }
private void ArrangeInCircle() { double spacing = Math.PI / MaxWheelActions; for (int i = 0; i < ActionButtons.Count; i++) { double rotation = (spacing * i) + RotationOffset + GlobalRotOffset; Vector2 pos = UtilityGlobals.GetPointAroundCircle(new Circle(Position, WheelRadius), rotation, false); pos.X = (int)pos.X; pos.Y = (int)pos.Y; ActionButtons[i].Position = pos; } }
protected void UpdateCursor() { CursorAngle = UtilityGlobals.Clamp(CursorAngle + CursorMoveSpeed, MinCursorAngle, MaxCursorAngle); //If it reached its limits, reverse the angle if (CursorAngle >= MaxCursorAngle || CursorAngle <= MinCursorAngle) { CursorMoveSpeed = -CursorMoveSpeed; } Cursor.Position = UtilityGlobals.GetPointAroundCircle(new Circle(StartPosition, CircleRadius), CursorAngle, true); Cursor.Rotation = (float)(-ElapsedTime * UtilityGlobals.ToRadians(CursorRotSpeed)); }
public override void StartInput(params object[] values) { base.StartInput(values); StartPosition = Camera.Instance.SpriteToUIPos((Vector2)values[0]); NumBombsThrown = 0; ElapsedTime = 0d; LastBombThrowTime = ElapsedTime + AutomaticThrowTime; CursorAngle = MinCursorAngle; Texture2D battleGFX = AssetManager.Instance.LoadRawTexture2D($"{ContentGlobals.UIRoot}/Battle/BattleGFX.png"); CroppedTexture2D croppedTex2D = new CroppedTexture2D(battleGFX, new Rectangle(14, 273, 46, 46)); Cursor = new UIFourPiecedTex(croppedTex2D, croppedTex2D.WidthHeightToVector2(), .5f, Color.White); Cursor.Position = UtilityGlobals.GetPointAroundCircle(new Circle(StartPosition, CircleRadius), CursorAngle, true); }
private void Initialize() { //Define the UI to display Texture2D battleGFX = AssetManager.Instance.LoadRawTexture2D($"{ContentGlobals.BattleGFX}.png"); CroppedTexture2D croppedTex2D = new CroppedTexture2D(battleGFX, new Rectangle(14, 273, 46, 46)); Cursor = new UIFourPiecedTex(croppedTex2D, croppedTex2D.WidthHeightToVector2(), .5f, Color.White); MarioHPIcon = new UICroppedTexture2D(new CroppedTexture2D(AssetManager.Instance.LoadRawTexture2D($"{ContentGlobals.UIRoot}/Battle/BattleHUD.png"), new Rectangle(2, 38, 45, 41))); FPIcon = new UICroppedTexture2D(new CroppedTexture2D(battleGFX, new Rectangle(179, 416, 40, 39))); MarioHPText = new UIText("0", Color.White); FPText = new UIText("0", Color.Black); //Set UI properties MarioHPIcon.Position = MarioHPText.Position = ActionCmd.StartPosition + new Vector2(-10, -45); FPIcon.Position = FPText.Position = ActionCmd.StartPosition + new Vector2(-45, -95); MarioHPText.Position += new Vector2(0f, 10f); FPText.Position += new Vector2(0f, 10f); if (ShowPartnerInfo == true) { PartnerHPIcon = new UICroppedTexture2D(new CroppedTexture2D(battleGFX, new Rectangle(324, 407, 61, 58))); PartnerHPText = new UIText("0", Color.White); PartnerHPIcon.Position = PartnerHPText.Position = ActionCmd.StartPosition + new Vector2(-80, -45); PartnerHPText.Position += new Vector2(0f, 10f); PartnerHPIcon.Origin = PartnerHPText.Origin = new Vector2(.5f, .5f); PartnerHPIcon.Depth = .6f; PartnerHPText.Depth = .61f; } MarioHPIcon.Depth = FPIcon.Depth = .6f; MarioHPText.Depth = FPText.Depth = .61f; MarioHPIcon.Origin = FPIcon.Origin = MarioHPText.Origin = FPText.Origin = new Vector2(.5f, .5f); //Set cursor position Cursor.Position = UtilityGlobals.GetPointAroundCircle(new Circle(ActionCmd.StartPosition, ActionCmd.CircleRadius), ActionCmd.CursorAngle, true); }
public override void StartInput(params object[] values) { base.StartInput(values); ElapsedTime = 0d; PrevThrow = 0d; StartPosition = Camera.Instance.SpriteToUIPos((Vector2)values[0]); //Count how many BattleEntities are affected //If there's only one, then don't add any of the Partner information int entitiesAffected = (int)values[1]; CursorAngle = MinCursorAngle; //Define the UI to display Texture2D battleGFX = AssetManager.Instance.LoadRawTexture2D($"{ContentGlobals.BattleGFX}.png"); CroppedTexture2D croppedTex2D = new CroppedTexture2D(battleGFX, new Rectangle(14, 273, 46, 46)); Cursor = new UIFourPiecedTex(croppedTex2D, croppedTex2D.WidthHeightToVector2(), .5f, Color.White); MarioHPIcon = new UICroppedTexture2D(new CroppedTexture2D(battleGFX, new Rectangle(324, 407, 61, 58))); FPIcon = new UICroppedTexture2D(new CroppedTexture2D(battleGFX, new Rectangle(179, 416, 40, 39))); MarioHPText = new UIText("0", Color.Black); FPText = new UIText("0", Color.Black); //Set UI properties MarioHPIcon.Position = MarioHPText.Position = StartPosition + new Vector2(-10, -45); FPIcon.Position = FPText.Position = StartPosition + new Vector2(-45, -95); MarioHPText.Position += new Vector2(0f, 10f); FPText.Position += new Vector2(0f, 10f); if (entitiesAffected > 1) { PartnerHPIcon = new UICroppedTexture2D(new CroppedTexture2D(battleGFX, new Rectangle(324, 407, 61, 58))); PartnerHPText = new UIText("0", Color.Black); PartnerHPIcon.Position = PartnerHPText.Position = StartPosition + new Vector2(-80, -45); PartnerHPText.Position += new Vector2(0f, 10f); PartnerHPIcon.Origin = PartnerHPText.Origin = new Vector2(.5f, .5f); PartnerHPIcon.Depth = .6f; PartnerHPText.Depth = .61f; } MarioHPIcon.Depth = FPIcon.Depth = .6f; MarioHPText.Depth = FPText.Depth = .61f; MarioHPIcon.Origin = FPIcon.Origin = MarioHPText.Origin = FPText.Origin = new Vector2(.5f, .5f); //Set cursor position Cursor.Position = UtilityGlobals.GetPointAroundCircle(new Circle(StartPosition, CircleRadius), CursorAngle, true); //Define the spawner Vector2 startPos = new Vector2(500, 15); Vector2 endPos = new Vector2(startPos.X, BattleManager.Instance.PartnerPos.Y + 350f); RestoreTypes[] restoreTypes = null; int[] restoreTypeCounts = null; if (entitiesAffected <= 1) { restoreTypes = new RestoreTypes[] { RestoreTypes.MarioHP, RestoreTypes.FP, RestoreTypes.PoisonMushroom }; restoreTypeCounts = new int[] { 14, 6, 2 }; } else { restoreTypes = new RestoreTypes[] { RestoreTypes.MarioHP, RestoreTypes.PartnerHP, RestoreTypes.FP, RestoreTypes.PoisonMushroom }; restoreTypeCounts = new int[] { 7, 7, 6, 2 }; } IconSpawner = new SweetTreatElementSpawner(4, 40f, 5000d, 750d, startPos, endPos, restoreTypes, restoreTypeCounts); //Add the cursor and other UI elements BattleUIManager.Instance.AddUIElement(Cursor); BattleUIManager.Instance.AddUIElement(MarioHPIcon); BattleUIManager.Instance.AddUIElement(FPIcon); BattleUIManager.Instance.AddUIElement(MarioHPText); BattleUIManager.Instance.AddUIElement(FPText); if (entitiesAffected > 1) { BattleUIManager.Instance.AddUIElement(PartnerHPIcon); BattleUIManager.Instance.AddUIElement(PartnerHPText); } HealingResponse = default(SweetTreatResponse); }