public static GameModeDescription CreateFromJson(JSONObject jsonObject) { if (jsonObject == null) { Debug.LogWarning("There is no gameMode"); return new GameModeDescription() { Mode = "TargetScore", TargetScore = 3000, Turns = 40 }; /*return new GameModeDescription() { Mode = "TargetChuzzle", Turns = 30, Amount = 20 };*/ /*return new GameModeDescription() { Mode = "TargetPlace", Turns = 30 };*/ } var desc = new GameModeDescription { Mode = jsonObject.GetField("Mode").str, Turns = (int) jsonObject.GetField("Turns").n, TargetScore = jsonObject.HasField("TargetScore") ? (int) jsonObject.GetField("TargetScore").n : 0, Amount = jsonObject.HasField("Amount") ? (int) jsonObject.GetField("Amount").n : 0 }; return desc; }
public static GameMode CreateGameMode(GameModeDescription description) { switch (description.Mode) { case ("TargetScore"): return new TargetScoreGameMode(description); case ("TargetPlace"): return new TargetPlaceGameMode(description); case ("TargetChuzzle"): return new TargetChuzzleGameMode(description); default: throw new ArgumentOutOfRangeException("Not correct gammode" + description.Mode); } }
public static GameMode CreateGameMode(GameModeDescription description) { switch (description.Mode) { case ("TargetScore"): return(new TargetScoreGameMode(description)); case ("TargetPlace"): return(new TargetPlaceGameMode(description)); case ("TargetChuzzle"): return(new TargetChuzzleGameMode(description)); default: throw new ArgumentOutOfRangeException("Not correct gammode" + description.Mode); } }
public static GameModeDescription CreateFromJson(JSONObject jsonObject) { if (jsonObject == null) { Debug.LogWarning("There is no gameMode"); return(new GameModeDescription() { Mode = "TargetScore", TargetScore = 3000, Turns = 40 }); /*return new GameModeDescription() * { * Mode = "TargetChuzzle", * Turns = 30, * Amount = 20 * };*/ /*return new GameModeDescription() * { * Mode = "TargetPlace", * Turns = 30 * };*/ } var desc = new GameModeDescription { Mode = jsonObject.GetField("Mode").str, Turns = (int)jsonObject.GetField("Turns").n, TargetScore = jsonObject.HasField("TargetScore") ? (int)jsonObject.GetField("TargetScore").n : 0, Amount = jsonObject.HasField("Amount") ? (int)jsonObject.GetField("Amount").n : 0 }; return(desc); }
public TargetScoreGameMode(GameModeDescription description) : base(description) { TargetScore = description.TargetScore; }
protected GameMode(GameModeDescription description) { Description = description; Turns = StartTurns = description.Turns; }
public TargetChuzzleGameMode(GameModeDescription description) : base(description) { Amount = TargetAmount = description.Amount; }
public TargetPlaceGameMode(GameModeDescription description) : base(description) { }
public static SerializedLevel FromJson(JSONObject jsonObject) { Debug.Log("Print: \n" + jsonObject); var serializedLevel = new SerializedLevel(); serializedLevel.Name = jsonObject.GetField("name").str; serializedLevel.Width = (int)jsonObject.GetField("width").n; serializedLevel.Height = (int)jsonObject.GetField("height").n; serializedLevel.NumberOfColors = jsonObject.HasField("numberOfColors") ? (int)jsonObject.GetField("numberOfColors").n : 6; serializedLevel.Seed = jsonObject.HasField("seed") ? (int)jsonObject.GetField("seed").n : -1; if (serializedLevel.Seed == -1) { serializedLevel.Seed = Environment.TickCount; } serializedLevel.GameMode = GameModeDescription.CreateFromJson(jsonObject.GetField("gameMode")); var array = jsonObject.GetField("map").list; foreach (var tile in array) { var x = array.IndexOf(tile) % serializedLevel.Width; var y = serializedLevel.Height - (array.IndexOf(tile) / serializedLevel.Width) - 1; var tileType = (int)tile.n; switch (tileType) { case (0): //empty break; case (2): // place serializedLevel.SpecialCells.Add(new Cell(x, y) { CreationType = CreationType.Place }); break; case (3): //counter serializedLevel.SpecialCells.Add(new Cell(x, y) { CreationType = CreationType.Counter }); break; case (4): //lock serializedLevel.SpecialCells.Add(new Cell(x, y) { CreationType = CreationType.Lock }); break; case (5): //two time serializedLevel.SpecialCells.Add(new Cell(x, y) { CreationType = CreationType.TwoTimes }); break; case (6): //invader serializedLevel.SpecialCells.Add(new Cell(x, y) { CreationType = CreationType.Invader }); break; default: // block serializedLevel.SpecialCells.Add(new Cell(x, y, CellTypes.Block)); break; } } serializedLevel.Stages = CreateStagesFromJsonObject(jsonObject.GetField("stages")); serializedLevel.Star1Score = jsonObject.HasField("Star1Score") ? (int)jsonObject.GetField("Star1Score").n : 1000; serializedLevel.Star2Score = jsonObject.HasField("Star2Score") ? (int)jsonObject.GetField("Star2Score").n : 2000; serializedLevel.Star3Score = jsonObject.HasField("Star3Score") ? (int)jsonObject.GetField("Star3Score").n : 3000; return(serializedLevel); }