Esempio n. 1
0
    public JigsawGrid(Vector2Int lvlIndicator, string jigsaw_subject, string gameDifficulty, Canvas parentCanvas)
    {
        this.parentCanvas = parentCanvas;
        this.rows         = lvlIndicator.y;
        this.cols         = lvlIndicator.x;

        this.sprites_array = Resources.LoadAll <Sprite>("Sprites/" + jigsaw_subject);
        this.tiles_grid    = new TileTracker[rows * cols];

        this.gameObjectGrid = MonoBehaviour.Instantiate(Resources.Load <GameObject>("Jigsaw_prefabs/Grid_" + gameDifficulty), parentCanvas.transform, false);


        TileTracker[] gridChildren = gameObjectGrid.GetComponentsInChildren <TileTracker>();

        int key = 0;

        for (int i = 0; i < rows * cols; i++)
        {
            TileTracker tileTracker = gridChildren[key];
            tileTracker
            .SetOriginTileKey(key)
            .SetCurrentTileKey(key)
            .SetStationaryPosition(gridChildren[key].transform.localPosition)
            .SetSprite(sprites_array[key]);
            tiles_grid[key++] = tileTracker;
        }
    }
Esempio n. 2
0
 public void StartGame()
 {
     _tileTracker = new TileTracker(_board.Size.x, _board.Size.y);
     _scoreTracker.Refresh();
     _gameTimer.StartTimer(GameOver);
     _moleSpawner.StartSpawner(null, null, _scoreTracker.AddScore);
 }
Esempio n. 3
0
 public void StartSpawner(Action onHit, Action onMiss, Action <float> scoreCallback)
 {
     _tileTracker = new TileTracker(_board.Size.x, _board.Size.y);
     _running     = true;
     // @TODO: less dynamic calculations
     UpdateSpawnRate();
     _timer         = Time.time;
     _onHit         = onHit;
     _onMiss        = onMiss;
     _scoreCallback = scoreCallback;
 }
Esempio n. 4
0
    public static void EnableFlames(TileTracker tile, bool top, bool bottom, bool left, bool right)
    {
        ParticleSystem[] fireArray = tile.GetComponentsInChildren <ParticleSystem>();

        ParticleSystem.EmissionModule p_bottom = fireArray[0].emission;
        p_bottom.enabled = bottom;
        ParticleSystem.EmissionModule p_up = fireArray[1].emission;
        p_up.enabled = top;
        ParticleSystem.EmissionModule p_left = fireArray[2].emission;
        p_left.enabled = left;
        ParticleSystem.EmissionModule p_right = fireArray[3].emission;
        p_right.enabled = right;
    } //method for setting particular tile edges on fire
Esempio n. 5
0
        public ModConfig(IModHelper helper, IDictionary <String, String> options)
        {
            _options = options;
            _helper  = helper;

            _showFishInfo = new TileTracker(helper);

            _elementsToDispose = new List <IDisposable>()
            {
                _showFishInfo
            };

            _showFishInfo.ManageEventRegistration(true);

            // Version thisVersion = Assembly.GetAssembly(this.GetType()).GetName().Version;
        }
Esempio n. 6
0
    public void MarkNewPlacement(TileTracker dragged, TileTracker on, bool isInit)
    {
        Vector3 onPos             = on.GetStationaryPosition();
        Vector3 draggedPos        = dragged.GetStationaryPosition();
        int     onCurrentKey      = on.GetcurrentTileKey();
        int     draggedCurrentKey = dragged.GetcurrentTileKey();

        on.SetStationaryPosition(draggedPos);
        on.SetCurrentTileKey(draggedCurrentKey);
        dragged.SetStationaryPosition(onPos);
        dragged.SetCurrentTileKey(onCurrentKey);

        if (!isInit)
        {
            CheckProperPlacement();
        }
    }
Esempio n. 7
0
    // Start is called before the first frame update
    void Start()
    {
        myTile = myManager.myTileTracker;
        SpriteRenderer mySprite = GetComponent <SpriteRenderer>();
        float          rnd      = Random.Range(0f, 1f);

        if (rnd < 0.4f)
        {
            mySprite.sprite = myTile.floorTileSprite[0];
        }
        else if (rnd < 0.4f)
        {
            mySprite.sprite = myTile.floorTileSprite[1];
        }
        else if (rnd < 0.525f)
        {
            mySprite.sprite = myTile.floorTileSprite[2];
        }
        else if (rnd < 0.65f)
        {
            mySprite.sprite = myTile.floorTileSprite[3];
        }
        else if (rnd < 0.85f)
        {
            float rnd2 = Random.Range(0f, 1f);
            if (rnd2 < 0.25f)
            {
                mySprite.sprite = myTile.floorTileSprite[5];
            }
            else if (rnd2 < 0.5f)
            {
                mySprite.sprite = myTile.floorTileSprite[6];
            }
            else if (rnd2 < 0.75f)
            {
                mySprite.sprite = myTile.floorTileSprite[7];
            }
            else
            {
                mySprite.sprite = myTile.floorTileSprite[8];
            }
        }
        else if (rnd < 0.925f)
        {
            float rnd2 = Random.Range(0f, 1f);
            if (rnd2 < 0.5f)
            {
                mySprite.sprite = myTile.floorTileSprite[9];
            }
            else
            {
                mySprite.sprite = myTile.floorTileSprite[10];
            }
        }
        else if (rnd < 0.975f)
        {
            mySprite.sprite = myTile.floorTileSprite[4];
        }
        else
        {
            float rnd2 = Random.Range(0f, 1f);
            if (rnd2 < 1f / 11f)
            {
                mySprite.sprite = myTile.floorTileSprite[11];
            }
            else if (rnd2 < 2f / 11f)
            {
                mySprite.sprite = myTile.floorTileSprite[12];
            }
            else if (rnd2 < 3f / 11f)
            {
                mySprite.sprite = myTile.floorTileSprite[13];
            }
            else if (rnd2 < 4f / 11f)
            {
                mySprite.sprite = myTile.floorTileSprite[14];
            }
            else if (rnd2 < 5f / 11f)
            {
                mySprite.sprite = myTile.floorTileSprite[15];
            }
            else if (rnd2 < 6f / 11f)
            {
                mySprite.sprite = myTile.floorTileSprite[16];
            }
            else if (rnd2 < 7f / 11f)
            {
                mySprite.sprite = myTile.floorTileSprite[17];
            }
            else if (rnd2 < 8f / 11f)
            {
                mySprite.sprite = myTile.floorTileSprite[18];
            }
            else if (rnd2 < 9f / 11f)
            {
                mySprite.sprite = myTile.floorTileSprite[19];
            }
            else if (rnd2 < 10f / 11f)
            {
                mySprite.sprite = myTile.floorTileSprite[20];
            }
            else
            {
                mySprite.sprite = myTile.floorTileSprite[21];
            }
        }
        Destroy(this);
    }