Example #1
0
    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;
    }
Example #2
0
 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);
     }
 }
Example #3
0
    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);
        }
    }
Example #4
0
    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;
 }
Example #6
0
 protected GameMode(GameModeDescription description)
 {
     Description = description;
     Turns       = StartTurns = description.Turns;
 }
Example #7
0
 public TargetChuzzleGameMode(GameModeDescription description) : base(description)
 {
     Amount = TargetAmount = description.Amount;
 }
Example #8
0
 public TargetPlaceGameMode(GameModeDescription description) : base(description)
 {
 }
Example #9
0
    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);
    }
Example #10
0
 public TargetChuzzleGameMode(GameModeDescription description)
     : base(description)
 {
     Amount = TargetAmount = description.Amount;
 }
Example #11
0
 protected GameMode(GameModeDescription description)
 {
     Description = description;
     Turns = StartTurns = description.Turns;
 }
Example #12
0
 public TargetPlaceGameMode(GameModeDescription description)
     : base(description)
 {
 }
Example #13
0
 public TargetScoreGameMode(GameModeDescription description)
     : base(description)
 {
     TargetScore = description.TargetScore;
 }