From 8d673217e719da029e6cb5bdb81485dcd9ec379d Mon Sep 17 00:00:00 2001 From: magenoxx Date: Fri, 12 Aug 2011 08:50:45 +0400 Subject: [PATCH] Added game.getControllerId(uuid) method --- Mage/src/mage/game/Game.java | 1 + Mage/src/mage/game/GameImpl.java | 23 +++++++++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/Mage/src/mage/game/Game.java b/Mage/src/mage/game/Game.java index 14c1fcbb83b..0e2f05114dd 100644 --- a/Mage/src/mage/game/Game.java +++ b/Mage/src/mage/game/Game.java @@ -79,6 +79,7 @@ public interface Game extends MageItem, Serializable { public Object getCustomData(); public void setCustomData(Object data); public MageObject getObject(UUID objectId); + public UUID getControllerId(UUID objectId); public Permanent getPermanent(UUID permanentId); public Card getCard(UUID cardId); public Zone getZone(UUID objectId); diff --git a/Mage/src/mage/game/GameImpl.java b/Mage/src/mage/game/GameImpl.java index 23d5a3e7444..99b22f14fdd 100644 --- a/Mage/src/mage/game/GameImpl.java +++ b/Mage/src/mage/game/GameImpl.java @@ -45,9 +45,7 @@ import mage.filter.common.*; import mage.game.combat.Combat; import mage.game.events.*; import mage.game.events.TableEvent.EventType; -import mage.game.permanent.Battlefield; -import mage.game.permanent.Permanent; -import mage.game.permanent.PermanentCard; +import mage.game.permanent.*; import mage.game.stack.SpellStack; import mage.game.stack.StackObject; import mage.game.turn.Phase; @@ -62,7 +60,7 @@ import mage.watchers.Watcher; import java.io.IOException; import java.io.Serializable; import java.util.*; -import mage.game.permanent.PermanentImpl; + import org.apache.log4j.Logger; public abstract class GameImpl> implements Game, Serializable { @@ -207,6 +205,23 @@ public abstract class GameImpl> implements Game, Serializa return null; } + @Override + public UUID getControllerId(UUID objectId) { + if (objectId == null) { + return null; + } + MageObject object = getObject(objectId); + if (object != null) { + if (object instanceof Permanent) { + return ((Permanent)object).getControllerId(); + } + if (object instanceof Card) { + return ((Card)object).getOwnerId(); + } + } + return null; + } + @Override public Permanent getPermanent(UUID permanentId) { if (permanentId == null)