public static ClientMap getClientMap(MapModel mm) { ClientMap cm = new ClientMap(); cm.mapSquares = new ClientMapSquare[mm.map.GetLength(0)][]; List<string> urls = new List<string>(); for (var i = 0; i < cm.mapSquares.Length; i++) { cm.mapSquares[i] = new ClientMapSquare[mm.map.GetLength(1)]; } cm.name = mm.name; for (var x = 0; x < mm.map.GetLength(0); x++) { for (var y = 0; y < mm.map.GetLength(1); y++) { int imageUrlId; string imageUrl = getImageURL(mm.map[x, y]); if (urls.Contains(imageUrl)) { imageUrlId = urls.IndexOf(imageUrl); } else { imageUrlId = urls.Count; urls.Add(imageUrl); } cm.mapSquares[x][y] = new ClientMapSquare() { i = imageUrlId, isI = getInteractable(mm.map[x, y]), isT = getTraversable(mm.map[x, y]) }; } } cm.mapUrl = urls.ToArray(); cm.events = new List<ClientEvent>(); foreach (MapEventModel me in mm.eventCollection.getAll()) { ClientEvent ce = new ClientEvent(); ce.x = me.x; ce.y = me.y; ce.rewardType = me.rewardType; cm.events.Add(ce); } return cm; }
public static Encounter getEncounter(MapModel mm, int x, int y, int selection) { if(isEvent(mm, x, y)) { MapEventModel me = getEvent(mm, x, y); if (me.eventData.type == EventClasses.EventDataType.Combat) { return me.eventData.encounter; } else { return getRandomEncounter(mm.name, selection); } } else{ return getRandomEncounter(mm.name, selection); } }
public static bool validateClassChangeSelection(string name, int x, int y, MapModel mm) { switch (name) { case "Ensemble Village": return TutorialMapGenerators.EnsembleVillageGenerator.Implementation.validateClassTrainer(mm, x, y); case "Emergence Cavern": return false; case "Emergence Cavern F2": return false; default: return false; } }
public static bool validateDungeonSelection(string name, int x, int y, MapModel mm, string selectedDungeon) { switch (name) { case "Ensemble Village": return TutorialMapGenerators.EnsembleVillageGenerator.Implementation.validateDungeonSelection(mm, x, y, selectedDungeon); case "Emergence Cavern": return TutorialMapGenerators.EmergenceCavernGenerator.Implementation.validateDungeonSelection(mm, x, y, selectedDungeon); case "Emergence Cavern F2": return TutorialMapGenerators.EmergenceCavernGenerator.Implementation.validateDungeonSelection(mm, x, y, selectedDungeon); default: return false; } }
public static void setupMapModel(MapModel mm) { //Load the map since it's not stored in the database. MapModel temp = createMap(mm.name); mm.map = temp.map; }
public static bool isEvent(MapModel mm, int x, int y) { foreach (MapEventModel me in mm.eventCollection.getAll()) { if (me.x == x && me.y == y) { return true; } } return false; }
public static void interactWithMap(string name, int x, int y, MapModel mm, string selectedOption) { //switch (name) //{ // //case "Ensemble Village": // // TutorialMapGenerators.EnsembleVillageGenerator.Implementation.performInteraction(mm, x, y, selectedOption); // // break; // //case "Emergence Cavern": // // TutorialMapGenerators.EmergenceCavernGenerator.Implementation.performInteraction(mm, x, y, selectedOption); // // break; // //default: // // break; //} }
public static MapInteraction getMapInteraction(int x, int y, MapModel mm) { switch (mm.name) { case "Ensemble Village": return TutorialMapGenerators.EnsembleVillageGenerator.Implementation.getInteraction(mm, x, y); case "Emergence Cavern": return TutorialMapGenerators.EmergenceCavernGenerator.Implementation.getInteraction(mm, x, y); case "Emergence Cavern F2": return TutorialMapGenerators.EmergenceCavernGenerator.Implementation.getInteraction(mm, x, y); default: return new MapInteraction(); } }
public static MapEventModel getEvent(MapModel mm, int x, int y) { foreach (MapEventModel me in mm.eventCollection.getAll()) { if (me.x == x && me.y == y) { return me; } } return new MapEventModel(); }