editor
Class EditorMain

java.lang.Object
  extended by editor.EditorMain
All Implemented Interfaces:
ModelControls, ModelUpdater

public class EditorMain
extends java.lang.Object
implements ModelUpdater, ModelControls

Main class of Editor. Initializes all objects, graphics and storageHandler.

Author:
thorgrun

Constructor Summary
EditorMain()
          Constructor of EditorMain.
 
Method Summary
 void addEnemyToZone(java.lang.String zoneName, java.lang.String npcName, java.lang.String topic, int x, int y)
          Adds a EnemyNPC to zone.
 void addFriendlyToZone(java.lang.String zoneName, java.lang.String npcName, int x, int y)
          Adds a FriendlyNPC to zone.
 void addPlayerAccess(java.lang.String playerName)
          Add player to accessList to kingdom.
 void addStaticObjectToZone(java.lang.String zoneName, java.lang.String objName, int x, int y)
          Adds a 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 checkIfUniqueZoneName(java.lang.String zoneName)
          Checks if zone name unique.
 boolean createNewKingdom(java.lang.String kingdomName, java.lang.String subjectName)
          Creates new empty kingdom.
 boolean createNewZone(shared.models.Zone zone)
          Creates a new zone in Kingdom.
static ModelControls getControls()
          Returns class as interface, Singleton.
 shared.models.EnemyNPC getEnemyNPC(java.lang.String npcName)
          Returns EnemyNPC.
 shared.models.FriendlyNPC getFriendlyNPC(java.lang.String npcName)
          Returns FriendlyNPC.
 java.lang.String[] getKingdomNames()
          Return names of all kingdoms.
 void getSelectedZone(java.lang.String zoneName)
          Sets a zone as selected zone.
 shared.models.StaticObject getStaticObject(java.lang.String obj)
          Returns StaticObject.
 java.lang.String[] getZoneNames()
          Return names of all zones in Kingdom.
 java.lang.String[] getZoneTemplateNames()
          Return names of all zone templates.
static void main(java.lang.String[] args)
           
 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 player from accesslist to kingdom.
 void removeStaticObjectFromZone(java.lang.String zoneName, int objId)
          Removes StaticObject from Zone.
 void removeTravelTriggerFromZone(java.lang.String zoneName, int triggerId)
          Removes Travel Trigger from zone.
 void removeZoneFromWorld(java.lang.String zoneName)
          Removes zone from Kingdom.
 void saveWorld(java.lang.String zoneName)
          Saves current world to database.
 boolean saveWorldToHD()
          Saves current world to harddrive.
 void saveZoneTemplate(java.lang.String zoneTemplateName)
          Save selected zone as template to database with new name.
 void updateAllEnemyNPCList(java.util.HashMap<java.lang.String,shared.models.EnemyNPC> npcList)
          Updates the EnemyNPCList.
 void updateAllFriendlyNPCList(java.util.HashMap<java.lang.String,shared.models.FriendlyNPC> npcList)
          Updates the FriendlyNPCList
 void updateAllStaticObjectList(java.util.HashMap<java.lang.String,shared.models.StaticObject> objList)
          Updates the StaticObjectList.
 void updateEnemyNPC(java.lang.String zoneName, int npcId, java.lang.String themeTopic)
          Updates EnemyNPC in kingdom.
 void updateKingdomNameList(java.util.ArrayList<java.lang.String> kingdomNameList)
          Updates the Kingdom names list.
 void updatePlayerNameList(java.util.ArrayList<java.lang.String> playerNames)
          Updates list of all players names.
 void updateQuestionList(java.util.ArrayList<shared.models.Question> questionList)
          Updates the QuestionList
 void updateTopicList(java.util.ArrayList<java.lang.String> topicList)
          Updates the TopicList.
 void updateTravelTrigger(int triggerId, java.lang.String name, int width, int height, int destinationTriggerId)
          Updates Travel Trigger in Kingdom.
 void updateWorldObject(java.lang.String kingdomName, java.lang.String kingdomSubject, int kingdomId, java.util.HashMap<java.lang.String,shared.models.Zone> zoneList, java.util.ArrayList<java.lang.String> playerAccessList)
          Updates the worldObject with a new kingdom.
 void updateZoneNameList(java.lang.String[] zoneNameList)
          Updates list of all zone templates names.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EditorMain

public EditorMain()
Constructor of EditorMain. Initializes graphics, models and storagehandler. Adds graphics as listeners to models.

Method Detail

main

public static void main(java.lang.String[] args)
Parameters:
args -

getControls

public static ModelControls getControls()
Returns class as interface, Singleton.

Returns:

updateAllEnemyNPCList

public void updateAllEnemyNPCList(java.util.HashMap<java.lang.String,shared.models.EnemyNPC> npcList)
Description copied from interface: ModelUpdater
Updates the EnemyNPCList.

Specified by:
updateAllEnemyNPCList in interface ModelUpdater

updateAllFriendlyNPCList

public void updateAllFriendlyNPCList(java.util.HashMap<java.lang.String,shared.models.FriendlyNPC> npcList)
Description copied from interface: ModelUpdater
Updates the FriendlyNPCList

Specified by:
updateAllFriendlyNPCList in interface ModelUpdater

updateAllStaticObjectList

public void updateAllStaticObjectList(java.util.HashMap<java.lang.String,shared.models.StaticObject> objList)
Description copied from interface: ModelUpdater
Updates the StaticObjectList.

Specified by:
updateAllStaticObjectList in interface ModelUpdater

updateTopicList

public void updateTopicList(java.util.ArrayList<java.lang.String> topicList)
Description copied from interface: ModelUpdater
Updates the TopicList.

Specified by:
updateTopicList in interface ModelUpdater

updateQuestionList

public void updateQuestionList(java.util.ArrayList<shared.models.Question> questionList)
Description copied from interface: ModelUpdater
Updates the QuestionList

Specified by:
updateQuestionList in interface ModelUpdater

createNewZone

public boolean createNewZone(shared.models.Zone zone)
Description copied from interface: ModelControls
Creates a new zone in Kingdom.

Specified by:
createNewZone in interface ModelControls
Returns:

checkIfUniqueZoneName

public boolean checkIfUniqueZoneName(java.lang.String zoneName)
Description copied from interface: ModelControls
Checks if zone name unique.

Specified by:
checkIfUniqueZoneName in interface ModelControls
Returns:

addTravelTriggerToZone

public boolean addTravelTriggerToZone(java.lang.String zoneName,
                                      shared.models.TravelTrigger trigger)
Description copied from interface: ModelControls
Adds a traveltrigger to zone.

Specified by:
addTravelTriggerToZone in interface ModelControls
Returns:

removeTravelTriggerFromZone

public void removeTravelTriggerFromZone(java.lang.String zoneName,
                                        int triggerId)
Description copied from interface: ModelControls
Removes Travel Trigger from zone.

Specified by:
removeTravelTriggerFromZone in interface ModelControls

getSelectedZone

public void getSelectedZone(java.lang.String zoneName)
Description copied from interface: ModelControls
Sets a zone as selected zone. Displays it in GUI.

Specified by:
getSelectedZone in interface ModelControls

addEnemyToZone

public void addEnemyToZone(java.lang.String zoneName,
                           java.lang.String npcName,
                           java.lang.String topic,
                           int x,
                           int y)
Description copied from interface: ModelControls
Adds a EnemyNPC to zone.

Specified by:
addEnemyToZone in interface ModelControls

addFriendlyToZone

public void addFriendlyToZone(java.lang.String zoneName,
                              java.lang.String npcName,
                              int x,
                              int y)
Description copied from interface: ModelControls
Adds a FriendlyNPC to zone.

Specified by:
addFriendlyToZone in interface ModelControls

addStaticObjectToZone

public void addStaticObjectToZone(java.lang.String zoneName,
                                  java.lang.String objName,
                                  int x,
                                  int y)
Description copied from interface: ModelControls
Adds a staticobject to zone.

Specified by:
addStaticObjectToZone in interface ModelControls

getEnemyNPC

public shared.models.EnemyNPC getEnemyNPC(java.lang.String npcName)
Description copied from interface: ModelControls
Returns EnemyNPC.

Specified by:
getEnemyNPC in interface ModelControls
Returns:

getFriendlyNPC

public shared.models.FriendlyNPC getFriendlyNPC(java.lang.String npcName)
Description copied from interface: ModelControls
Returns FriendlyNPC.

Specified by:
getFriendlyNPC in interface ModelControls
Returns:

getStaticObject

public shared.models.StaticObject getStaticObject(java.lang.String obj)
Description copied from interface: ModelControls
Returns StaticObject.

Specified by:
getStaticObject in interface ModelControls
Returns:

updateEnemyNPC

public void updateEnemyNPC(java.lang.String zoneName,
                           int npcId,
                           java.lang.String themeTopic)
Description copied from interface: ModelControls
Updates EnemyNPC in kingdom.

Specified by:
updateEnemyNPC in interface ModelControls

updateTravelTrigger

public void updateTravelTrigger(int triggerId,
                                java.lang.String name,
                                int width,
                                int height,
                                int destinationTriggerId)
Description copied from interface: ModelControls
Updates Travel Trigger in Kingdom.

Specified by:
updateTravelTrigger in interface ModelControls

removeEnemyNPCFromZone

public void removeEnemyNPCFromZone(java.lang.String zoneName,
                                   int npcId)
Description copied from interface: ModelControls
Removes EnemyNPC from zone.

Specified by:
removeEnemyNPCFromZone in interface ModelControls

removeFriendlyNPCFromZone

public void removeFriendlyNPCFromZone(java.lang.String zoneName,
                                      int npcId)
Description copied from interface: ModelControls
Removes FriendlyNPC from zone.

Specified by:
removeFriendlyNPCFromZone in interface ModelControls

removeStaticObjectFromZone

public void removeStaticObjectFromZone(java.lang.String zoneName,
                                       int objId)
Description copied from interface: ModelControls
Removes StaticObject from Zone.

Specified by:
removeStaticObjectFromZone in interface ModelControls

removeZoneFromWorld

public void removeZoneFromWorld(java.lang.String zoneName)
Description copied from interface: ModelControls
Removes zone from Kingdom.

Specified by:
removeZoneFromWorld in interface ModelControls

saveWorld

public void saveWorld(java.lang.String zoneName)
Description copied from interface: ModelControls
Saves current world to database.

Specified by:
saveWorld in interface ModelControls

saveWorldToHD

public boolean saveWorldToHD()
Description copied from interface: ModelControls
Saves current world to harddrive.

Specified by:
saveWorldToHD in interface ModelControls
Returns:

saveZoneTemplate

public void saveZoneTemplate(java.lang.String zoneTemplateName)
Description copied from interface: ModelControls
Save selected zone as template to database with new name.

Specified by:
saveZoneTemplate in interface ModelControls

updateKingdomNameList

public void updateKingdomNameList(java.util.ArrayList<java.lang.String> kingdomNameList)
Description copied from interface: ModelUpdater
Updates the Kingdom names list.

Specified by:
updateKingdomNameList in interface ModelUpdater

updatePlayerNameList

public void updatePlayerNameList(java.util.ArrayList<java.lang.String> playerNames)
Description copied from interface: ModelUpdater
Updates list of all players names.

Specified by:
updatePlayerNameList in interface ModelUpdater

getKingdomNames

public java.lang.String[] getKingdomNames()
Description copied from interface: ModelControls
Return names of all kingdoms.

Specified by:
getKingdomNames in interface ModelControls
Returns:

updateWorldObject

public void updateWorldObject(java.lang.String kingdomName,
                              java.lang.String kingdomSubject,
                              int kingdomId,
                              java.util.HashMap<java.lang.String,shared.models.Zone> zoneList,
                              java.util.ArrayList<java.lang.String> playerAccessList)
Description copied from interface: ModelUpdater
Updates the worldObject with a new kingdom.

Specified by:
updateWorldObject in interface ModelUpdater
Parameters:
kingdomName - Name of kingdom
kingdomSubject - Name of course subject
kingdomId - DatabaseId of kingdom
zoneList - List of Zone objects
playerAccessList - List of players with access to the kingdom.

getZoneNames

public java.lang.String[] getZoneNames()
Description copied from interface: ModelControls
Return names of all zones in Kingdom.

Specified by:
getZoneNames in interface ModelControls
Returns:

createNewKingdom

public boolean createNewKingdom(java.lang.String kingdomName,
                                java.lang.String subjectName)
Description copied from interface: ModelControls
Creates new empty kingdom.

Specified by:
createNewKingdom in interface ModelControls
Returns:

updateZoneNameList

public void updateZoneNameList(java.lang.String[] zoneNameList)
Description copied from interface: ModelUpdater
Updates list of all zone templates names.

Specified by:
updateZoneNameList in interface ModelUpdater

addZoneFromTemplate

public void addZoneFromTemplate(shared.models.Zone zoneTemplate)
Description copied from interface: ModelUpdater
Adds a zone from template.

Specified by:
addZoneFromTemplate in interface ModelUpdater

addPlayerAccess

public void addPlayerAccess(java.lang.String playerName)
Description copied from interface: ModelControls
Add player to accessList to kingdom.

Specified by:
addPlayerAccess in interface ModelControls

removePlayerAccess

public void removePlayerAccess(java.lang.String playerName)
Description copied from interface: ModelControls
Remove player from accesslist to kingdom.

Specified by:
removePlayerAccess in interface ModelControls

getZoneTemplateNames

public java.lang.String[] getZoneTemplateNames()
Description copied from interface: ModelControls
Return names of all zone templates.

Specified by:
getZoneTemplateNames in interface ModelControls
Returns: