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(); } }
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(); }
// 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(); } } }