protected override void SetDefaults()
    {
        //get references
        uiManager    = FindObjectOfType <UIManager>();
        player       = FindObjectOfType <Player>();
        airplane     = FindObjectOfType <Airplane>();
        levelManager = FindObjectOfType <LevelManager>();
        fallManager  = FindObjectOfType <FallManager>();

        //if there is a player, lock mouse
        if (player)
        {
            FindObjectOfType <SceneLoader>().ResumeGame();
        }
    }
Exemple #2
0
    private void Awake()
    {
        _colorPalette = GetComponent <ColorPalette>();
        _fallManager  = GetComponent <FallManager>();

        _touchPoints         = new List <TouchPoint>();
        _touchPointsByCellId = new Dictionary <int, List <TouchPoint> >();

        _movementLock = 0;

        _gameEnded = false;

        _bombSpawningThreshold = hexagonBombSpawningFrequency;

        SubscribeToEvents();
    }
Exemple #3
0
    // Update is called once per frame
    void Update()
    {
        // Move Left
        if (Input.GetKeyDown(KeyCode.LeftArrow) || (touchManage.swipeL == true))           //GetKeyDown
        // Modify position
        {
            transform.position += moveVec3("LeftArrow");

            // See if valid
            if (isValidGridPos())
            {
                // Its valid. Update grid.
                updateGrid((int)transform.position.x, (int)transform.position.z);
            }
            else
            {
                // Its not valid. revert.
                transform.position -= moveVec3("LeftArrow");
            }

            GameObject.FindGameObjectWithTag("TouchManager").GetComponent <touchManage> ().reset();
        }
        // Move Right
        else if (Input.GetKeyDown(KeyCode.RightArrow) || (touchManage.swipeR == true))
        {
            // Modify position
            transform.position += moveVec3("RightArrow");

            // See if valid
            if (isValidGridPos())
            {
                // It's valid. Update grid.
                updateGrid((int)transform.position.x, (int)transform.position.z);
            }
            else
            {
                // It's not valid. revert.
                transform.position -= moveVec3("RightArrow");
            }

            GameObject.FindGameObjectWithTag("TouchManager").GetComponent <touchManage> ().reset();
        }
        // Rotate
        else if ((Input.GetKeyDown(KeyCode.A)) || (Input.GetKeyDown(KeyCode.S)) || (touchManage.touch == true))
        {
            if (Input.GetKeyDown(KeyCode.A))
            {
                transform.Rotate(0, 0, 90);
            }
            else
            {
                transform.Rotate(0, 0, -90);
            }


            // See if valid
            if (isValidGridPos())
            {
                // It's valid. Update grid.
                updateGrid((int)transform.position.x, (int)transform.position.z);
            }
            else
            {
                // Move left
                transform.position += moveVec3("LeftArrow");
                if (isValidGridPos())
                {
                    updateGrid((int)transform.position.x, (int)transform.position.z);
                }
                else
                {
                    transform.position -= moveVec3("LeftArrow");

                    // Move Right
                    transform.position += moveVec3("RightArrow");
                    if (isValidGridPos())
                    {
                        updateGrid((int)transform.position.x, (int)transform.position.z);
                    }
                    else
                    {
                        transform.position -= moveVec3("RightArrow");

                        // Move left
                        transform.position += moveVec3("LeftArrow");
                        transform.position += moveVec3("LeftArrow");
                        if (isValidGridPos())
                        {
                            updateGrid((int)transform.position.x, (int)transform.position.z);
                        }
                        else
                        {
                            transform.position -= moveVec3("LeftArrow");
                            transform.position -= moveVec3("LeftArrow");

                            // Move Right
                            transform.position += moveVec3("RightArrow");
                            transform.position += moveVec3("RightArrow");
                            if (isValidGridPos())
                            {
                                updateGrid((int)transform.position.x, (int)transform.position.z);
                            }
                            else
                            {
                                // It's not valid. revert.
                                transform.position -= moveVec3("RightArrow");
                                transform.position -= moveVec3("RightArrow");

                                if (Input.GetKeyDown(KeyCode.A))
                                {
                                    transform.Rotate(0, 0, -90);
                                }
                                else
                                {
                                    transform.Rotate(0, 0, 90);
                                }
                            }
                        }
                    }
                }
            }

            GameObject.FindGameObjectWithTag("TouchManager").GetComponent <touchManage> ().reset();
        }
        // Move Downwards and Fall
        else if (Input.GetKeyDown(KeyCode.DownArrow) || Input.GetKeyDown(KeyCode.UpArrow) ||
                 FallManager.fallblock() == true || (touchManage.swipeD == true))
        {
            if (Input.GetKeyDown(KeyCode.UpArrow))
            {
                down_count = Grid.h;
            }
            else
            {
                down_count = 1;
            }

            for (int i = 0; i < down_count; i++)
            {
                // Modify position
                transform.position += new Vector3(0, -1, 0);

                // See if valid
                if (isValidGridPos())
                {
                    // It's valid. Update grid.
                    updateGrid((int)transform.position.x, (int)transform.position.z);

                    GameObject.FindGameObjectWithTag("TouchManager").GetComponent <touchManage> ().reset();
                }
                else
                {
                    // It's not valid. revert.
                    transform.position += new Vector3(0, 1, 0);

                    fall_cnt++;

                    if (fall_cnt == 2)
                    {
                        sound.PlayOneShot(sound.clip);

                        // Clear filled horizontal lines
                        Grid.deleteFullRows();

                        count++;
                        if (count == 7)
                        {
                            MainCamera.Rotate();
                            count = 0;
                        }

                        // Spawn next Group
                        GameObject.FindGameObjectWithTag("Spawner").GetComponent <Spawner> ().spawnNext(NextBlock.nextGroupIdx);
                        //GameObject.FindGameObjectWithTag ("Spawner").GetComponent<Spawner> ().spawnNext (0);
                        GameObject.FindGameObjectWithTag("NextBlock").GetComponent <NextBlock> ().changeNextBlock();

                        Grid.deleteFullRows();                          //回転後に消えていたら消す

                        GameObject.FindGameObjectWithTag("TouchManager").GetComponent <touchManage> ().reset();

                        fall_cnt = 0;

                        // Disable script
                        enabled = false;

                        break;
                    }
                    else
                    {
                        //無処理
                    }
                }

                FallManager.setLastfall();
            }
        }
    }