editor.models
Class WorldModel

java.lang.Object
  extended by editor.models.WorldModel

public class WorldModel
extends java.lang.Object

Contains the Kingdom objects. All variables connected to the kingdom.

Author:
thorgrun

Constructor Summary
WorldModel(WorldModelChangedListener listener)
          Constructor of WorldModel.
 
Method Summary
 void addEnemyNPCToZone(java.lang.String zoneName, shared.models.EnemyNPC npc)
          Adds EnemyNPC to zone.
 void addFriendlyNPCToZone(java.lang.String zoneName, shared.models.FriendlyNPC npc)
          Adds FriendlyNPC to zone.
 void addPlayerAccess(java.lang.String playerName)
          Give access to kingdom for player.
 void addStaticObjectToZone(java.lang.String zoneName, shared.models.StaticObject obj)
          Adds StaticObject to zone.
 boolean addTravelTriggerToZone(java.lang.String zoneName, shared.models.TravelTrigger trigger)
          Adds a TravelTrigger to zone.
 void addZoneFromTemplate(shared.models.Zone zoneTemplate)
          Adds a zone from template.
 boolean createNewZone(shared.models.Zone newZone)
          Creates a new zone in kingdom and notifies WorldListener.
 java.util.ArrayList<shared.models.TravelTrigger> getAllTravelTriggersInKingdom()
          Returns all traveltriggers in kingdom.
 shared.models.Zone getZone(java.lang.String zoneName)
          Returns zone by name.
 java.lang.String[] getZoneNames()
          Returns name of all zones in kingdom.
 void removeEnemyNPCFromZone(java.lang.String zoneName, int npcId)
          Removes EnemyNPC from zone.
 void removeFriendlyNPCFromZone(java.lang.String zoneName, int npcId)
          Removes FriendlyNPC from zone.
 void removePlayerAccess(java.lang.String playerName)
          Remove access to kingdom for player.
 void removeStaticObjectFromZone(java.lang.String zoneName, int objId)
          Removes StaticObject from zone.
 void removeTravelTriggerFromZone(java.lang.String zoneName, int triggerId)
          Removes TravelTrigger from zone.
 void removeZoneFromWorld(java.lang.String zoneName)
          Removes zone from kingdom.
 void saveKingdomInDatabase(java.lang.String zoneName)
          Saves kingdom in database with zoneName as starting zone for new characters.
 boolean saveKingdomToHD()
          Saves kingdom to harddrive.
 void saveZoneAsTemplate(java.lang.String zoneTemplateName)
          Saves zone as template.
 void selectZone(java.lang.String zoneName)
          Selects a zone.
 void setAccessListener(AccessChangedListener listener)
          Sets AccessChangedListener.
 void setWorld(java.lang.String kingdomName, java.lang.String kingdomSubject, int kingdomId, java.util.HashMap<java.lang.String,shared.models.Zone> kingdom, java.util.ArrayList<java.lang.String> playerAccessList)
          Updates the world object with a new kingdom.
 void updateEnemyNPC(java.lang.String zoneName, int npcId, java.lang.String themeTopic)
          Updates variables in EnemyNPC.
 void updatePlayerNameList(java.util.ArrayList<java.lang.String> playerNames)
          Updates list of list of player names and notifies accesslistener of changes.
 void updateTravelTrigger(int triggerId, java.lang.String name, int width, int height, int destinationTriggerId)
          Updates variables in TravelTrigger.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WorldModel

public WorldModel(WorldModelChangedListener listener)
Constructor of WorldModel. Adds WorldModelChangedListener. Initializes empty kingdom and playerAccessList.

Parameters:
listener -
Method Detail

setWorld

public void setWorld(java.lang.String kingdomName,
                     java.lang.String kingdomSubject,
                     int kingdomId,
                     java.util.HashMap<java.lang.String,shared.models.Zone> kingdom,
                     java.util.ArrayList<java.lang.String> playerAccessList)
Updates the world object with a new kingdom. Notifies listener of changes.

Parameters:
kingdomName -
kingdomSubject -
kingdomId -
kingdom -
playerAccessList -

setAccessListener

public void setAccessListener(AccessChangedListener listener)
Sets AccessChangedListener.

Parameters:
listener -

updatePlayerNameList

public void updatePlayerNameList(java.util.ArrayList<java.lang.String> playerNames)
Updates list of list of player names and notifies accesslistener of changes.

Parameters:
playerNames -

addPlayerAccess

public void addPlayerAccess(java.lang.String playerName)
Give access to kingdom for player.

Parameters:
playerName -

removePlayerAccess

public void removePlayerAccess(java.lang.String playerName)
Remove access to kingdom for player.

Parameters:
playerName -

addZoneFromTemplate

public void addZoneFromTemplate(shared.models.Zone zoneTemplate)
Adds a zone from template. Resets the Id of objects in zone, to avoid using same objects in database for several kingdoms.

Parameters:
zoneTemplate -

createNewZone

public boolean createNewZone(shared.models.Zone newZone)
Creates a new zone in kingdom and notifies WorldListener.

Parameters:
newZone -
Returns:

getZone

public shared.models.Zone getZone(java.lang.String zoneName)
Returns zone by name.

Parameters:
zoneName -
Returns:

selectZone

public void selectZone(java.lang.String zoneName)
Selects a zone. Notifies WorldListener of currentzone.

Parameters:
zoneName -

addEnemyNPCToZone

public void addEnemyNPCToZone(java.lang.String zoneName,
                              shared.models.EnemyNPC npc)
Adds EnemyNPC to zone. Creates a new id for EnemyNPC

Parameters:
zoneName -
npc -

addFriendlyNPCToZone

public void addFriendlyNPCToZone(java.lang.String zoneName,
                                 shared.models.FriendlyNPC npc)
Adds FriendlyNPC to zone. Creates a new id for FriendlyNPC

Parameters:
zoneName -
npc -

addStaticObjectToZone

public void addStaticObjectToZone(java.lang.String zoneName,
                                  shared.models.StaticObject obj)
Adds StaticObject to zone. Creates a new id for StaticObject.

Parameters:
zoneName -
obj -

addTravelTriggerToZone

public boolean addTravelTriggerToZone(java.lang.String zoneName,
                                      shared.models.TravelTrigger trigger)
Adds a TravelTrigger to zone. Checks if unique. Then creates new id for trigger.

Parameters:
zoneName -
trigger -
Returns:

updateEnemyNPC

public void updateEnemyNPC(java.lang.String zoneName,
                           int npcId,
                           java.lang.String themeTopic)
Updates variables in EnemyNPC.

Parameters:
zoneName -
npcId -
themeTopic -

updateTravelTrigger

public void updateTravelTrigger(int triggerId,
                                java.lang.String name,
                                int width,
                                int height,
                                int destinationTriggerId)
Updates variables in TravelTrigger.

Parameters:
triggerId -
name -
width -
height -
destinationTriggerId -

removeEnemyNPCFromZone

public void removeEnemyNPCFromZone(java.lang.String zoneName,
                                   int npcId)
Removes EnemyNPC from zone.

Parameters:
zoneName -
npcId -

removeFriendlyNPCFromZone

public void removeFriendlyNPCFromZone(java.lang.String zoneName,
                                      int npcId)
Removes FriendlyNPC from zone.

Parameters:
zoneName -
npcId -

removeStaticObjectFromZone

public void removeStaticObjectFromZone(java.lang.String zoneName,
                                       int objId)
Removes StaticObject from zone.

Parameters:
zoneName -
objId -

removeTravelTriggerFromZone

public void removeTravelTriggerFromZone(java.lang.String zoneName,
                                        int triggerId)
Removes TravelTrigger from zone.

Parameters:
zoneName -
triggerId -

removeZoneFromWorld

public void removeZoneFromWorld(java.lang.String zoneName)
Removes zone from kingdom.

Parameters:
zoneName -

saveKingdomInDatabase

public void saveKingdomInDatabase(java.lang.String zoneName)
Saves kingdom in database with zoneName as starting zone for new characters.

Parameters:
zoneName -

saveKingdomToHD

public boolean saveKingdomToHD()
Saves kingdom to harddrive.

Returns:

saveZoneAsTemplate

public void saveZoneAsTemplate(java.lang.String zoneTemplateName)
Saves zone as template.

Parameters:
zoneTemplateName -
zoneName -

getAllTravelTriggersInKingdom

public java.util.ArrayList<shared.models.TravelTrigger> getAllTravelTriggersInKingdom()
Returns all traveltriggers in kingdom.

Returns:

getZoneNames

public java.lang.String[] getZoneNames()
Returns name of all zones in kingdom.

Returns: