Example #1
0
    public void initialise(string saveData)
    {
        string[] data   = saveData.Split(new string[] { "|" }, System.StringSplitOptions.None);
        int      width  = int.Parse(data [0]);
        int      height = int.Parse(data [1]);
        int      genId  = int.Parse(data [2]);

        tileData    = new GamePiece?[width, height];
        currentTile = GamePiece.fromHash(int.Parse(data [3]));
        storedTile  = GamePiece.fromHash(int.Parse(data [4]));
        queueEvent(new CurrentTileChangedEvent(currentTile));
        queueEvent(new StoredTileChangedEvent(storedTile));
        int i = 5;

        for (int y = 0; y < height; y++)
        {
            for (int x = 0; x < width; x++)
            {
                string td = data [i];
                i++;
                if (td != "X")
                {
                    GamePiece newTile = GamePiece.fromHash(int.Parse(td));
                    tileData [x, y] = newTile;
                    queueEvent(new TileChangedEvent(newTile, x, y));
                }
            }
        }
        recalculateUncoveredArrows();
        generator = PieceGenerator.fromId(genId);
    }
Example #2
0
    // Use this for initialization
    void Start()
    {
        engine = new Game();
        width  = 44;
        height = 44;
        if (loadString == null)
        {
            engine.initialise(width, height, PieceGenerator.fromId(generatorId));
            Stats.addAttempt(generatorId);
        }
        else
        {
            engine.initialise(loadString);
            generatorId = engine.getGeneratorId();
        }
        tiles      = new Tile[width, height];
        previousCP = new bool[width, height];
        for (int x = 0; x < width; x++)
        {
            for (int y = 0; y < height; y++)
            {
                tiles [x, y] = createTile(x, y);
            }
        }
        GameObject q;

        for (int x = 0; x < width; x++)
        {
            q = Instantiate(edgeTextures [0], transform);
            q.transform.localPosition = new Vector3(x, height, 0);
            q = Instantiate(edgeTextures [3], transform);
            q.transform.localPosition = new Vector3(x, -1, 0);
        }
        for (int y = 0; y < height; y++)
        {
            q = Instantiate(edgeTextures [1], transform);
            q.transform.localPosition = new Vector3(-1, y, 0);
            q = Instantiate(edgeTextures [2], transform);
            q.transform.localPosition = new Vector3(width, y, 0);
        }
        q = Instantiate(edgeTextures [4], transform);
        q.transform.localPosition = new Vector3(-1, height, 0);
        q = Instantiate(edgeTextures [5], transform);
        q.transform.localPosition = new Vector3(width, height, 0);
        q = Instantiate(edgeTextures [6], transform);
        q.transform.localPosition = new Vector3(-1, -1, 0);
        q = Instantiate(edgeTextures [7], transform);
        q.transform.localPosition = new Vector3(width, -1, 0);
        hasPlaced = new bool[width, height];
        ProcessAllEvents(false);
        playSound(newGameSound);
    }