mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 18:28:00 +00:00
Improve origins of targeting overlay
This commit is contained in:
@@ -61,10 +61,7 @@ public class TargetingOverlay {
|
||||
final Map<Integer, Vector2> endpoints = new HashMap<Integer, Vector2>();
|
||||
|
||||
for (FCardPanel c : cardPanels) {
|
||||
Vector2 cardScreenPos = c.getScreenPosition();
|
||||
endpoints.put(c.getCard().getUniqueNumber(), new Vector2(
|
||||
cardScreenPos.x + c.getWidth() / 4,
|
||||
cardScreenPos.y + c.getHeight() / 2));
|
||||
endpoints.put(c.getCard().getUniqueNumber(), c.getTargetingArrowOrigin());
|
||||
}
|
||||
|
||||
final Combat combat = FControl.getGame().getCombat();
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package forge.toolbox;
|
||||
|
||||
import com.badlogic.gdx.math.Vector2;
|
||||
|
||||
import forge.Graphics;
|
||||
import forge.card.CardRenderer;
|
||||
import forge.game.card.Card;
|
||||
@@ -73,6 +75,30 @@ public class FCardPanel extends FDisplayObject {
|
||||
return PADDING;
|
||||
}
|
||||
|
||||
public Vector2 getTargetingArrowOrigin() {
|
||||
Vector2 origin = new Vector2(getScreenPosition());
|
||||
|
||||
float left = PADDING;
|
||||
float top = PADDING;
|
||||
float w = getWidth() - 2 * PADDING;
|
||||
float h = getHeight() - 2 * PADDING;
|
||||
if (w == h) { //adjust width if needed to make room for tapping
|
||||
w = h / ASPECT_RATIO;
|
||||
}
|
||||
|
||||
if (tapped) { //rotate box if tapped
|
||||
top += h - w;
|
||||
float temp = w;
|
||||
w = h;
|
||||
h = temp;
|
||||
}
|
||||
|
||||
origin.x += left + w * 0.15f;
|
||||
origin.y += top + h * 0.5f;
|
||||
|
||||
return origin;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(Graphics g) {
|
||||
if (card == null) { return; }
|
||||
|
||||
Reference in New Issue
Block a user