void Update() { if (!hole) { hole = transform.parent.GetComponent <HoleController>(); } }
HoleController getNextCol(HoleController current) { if (current.col < holes[current.row].Length - 1) { if (current.col == 4) { if (current.row == 0 || current.row == 6) { return(null); } } if (current.col == 5) { if (current.row == 1 || current.row == 5) { return(null); } } return(holes[current.row][current.col + 1]); } else { return(null); } }
// состояние защиты protected override IEnumerator Safety() { HoleController hc = ai.areaCenter.GetComponentInChildren <HoleController>(); float delay = 3.5f; //Debug.Log("override Safety() started | this is inherited method from AnimalMotor"); transform.localScale = Vector3.zero; hc.mousesInHole.Add(gameObject); box.enabled = false; yield return(new WaitForSeconds(delay)); while (true) { if (fow.visibleTargets.Count > 0) { yield return(new WaitForSeconds(delay)); } else { break; } } transform.localScale = Vector3.one * 0.5f; hc.mousesInHole.Remove(gameObject); box.enabled = true; ChangeCondition(Condition.Secure, "Safety", "Secure"); }
HoleController getNextRow(HoleController current) { if (current.row < holes.Length - 1) { if (current.row == 4) { if (current.col == 0 || current.col == 6) { return(null); } } if (current.row == 5) { if (current.col == 1 || current.col == 5) { return(null); } } return(holes[current.row + 1][current.col]); } else { return(null); } }
HoleController getPrevCol(HoleController current) { if (current.col > 0) { if (current.col == 1) { if (current.row == 1 || current.row == 5) { return(null); } } if (current.col == 2) { if (current.row == 0 || current.row == 6) { return(null); } } return(holes[current.row][current.col - 1]); } else { return(null); } }
private void CheckClose() { Ray ray = new Ray(playerCamera.transform.position, playerCamera.transform.forward); RaycastHit hit; if (Physics.Raycast(playerCamera.transform.position, playerCamera.transform.forward, out hit, 2)) { if (hit.transform.tag == "Hole") { HoleController hole = hit.transform.gameObject.GetComponent <HoleController>(); if (hole.GetOpen() == true) { hole.Close(); } } else if (hit.transform.tag == "Empolyee") { EmpolyeeController empolyee = hit.transform.gameObject.GetComponent <EmpolyeeController>(); if (empolyee.GetHanging() == true) { empolyee.Climb(); } } } }
//added for peg game void OnTriggerEnter(Collider other) { currentHole = other.GetComponent <HoleController>(); // check if we are in a valid position if (Application.loadedLevelName == "Main Game") { validNeighbor = ValidMove(); } else if (Application.loadedLevelName == "Main Game Square") { validNeighbor = ValidMoveSquare(); } else if (Application.loadedLevelName == "Main Game European") { validNeighbor = ValidMoveEuro(); } if (currentHole.currentPeg || !validNeighbor) { if (currentHole.currentPeg == gameObject) { myRenderer.material = ogMaterial; } else { myRenderer.material = occupiedMaterial; } } else { myRenderer.material = openMaterial; } }
GameObject ValidMove() { char magnitude1 = (char)(originalHole.row + originalHole.col); char magnitude2 = (char)(currentHole.row + currentHole.col); BoardManager board = gameManager.GetComponent <BoardManager>(); if (magnitude1 == magnitude2) { // the positions are at the same level if (originalHole.position - currentHole.position == 2) { //moved 2 slots away HoleController neighbor = board.GetHole(originalHole.row + 1, originalHole.col - 1); return(neighbor.currentPeg); } if (originalHole.position - currentHole.position == -2) { //moved 2 slots away HoleController neighbor = board.GetHole(originalHole.row - 1, originalHole.col + 1); return(neighbor.currentPeg); } } else if (originalHole.row == currentHole.row) { // diagonal NW<>SE if (originalHole.col - currentHole.col == 2) { // moved 2 slots away HoleController neighbor = board.GetHole(originalHole.row, originalHole.col - 1); return(neighbor.currentPeg); } if (originalHole.col - currentHole.col == -2) { // moved 2 slots away HoleController neighbor = board.GetHole(originalHole.row, originalHole.col + 1); return(neighbor.currentPeg); } } else if (originalHole.col == currentHole.col) { // diagonal SW<>NE if (originalHole.row - currentHole.row == 2) { // moved 2 slots away HoleController neighbor = board.GetHole(originalHole.row - 1, originalHole.col); return(neighbor.currentPeg); } if (originalHole.row - currentHole.row == -2) { // moved 2 slots away HoleController neighbor = board.GetHole(originalHole.row + 1, originalHole.col); return(neighbor.currentPeg); } } return(null); }
public void Initialize() { for (int id = 0; id < _maxControllerIndex; id++) { HoleController controller = Instantiate(holeControllerPrefab) as HoleController; controller.transform.SetParent(this.transform); controller.Initialize(id); controllerGroup[id] = controller; } SetFaceBlock(); }
HoleController getNextCol(HoleController current) { if (current.col < holes[current.row].Length - 1) { return(holes[current.row][current.col + 1]); } else { return(null); } }
HoleController getPrevCol(HoleController current) { if (current.col > 0) { return(holes[current.row][current.col - 1]); } else { return(null); } }
HoleController getNextRow(HoleController current) { if (current.row < holes.Length - 1 && current.col < holes[current.row + 1].Length) { return(holes[current.row + 1][current.col]); } else { return(null); } }
HoleController getPrevRow(HoleController current) { if (current.row > 0) { return(holes[current.row - 1][current.col]); } else { return(null); } }
HoleController getLeft(HoleController current) { if (current.row <= holes.Length && current.col > 0) { return(holes[current.row + 1][current.col - 1]); } else { return(null); } }
HoleController getRight(HoleController current) { if (current.row > 0) { return(holes[current.row - 1][current.col + 1]); } else { return(null); } }
// Use this for initialization void Start() { //HoleController holeController = (HoleController)GetComponent ("HoleController"); holeController = GameObject.Find("Holes").GetComponent <HoleController>(); //bola = new Bola (numero, color); MeshRenderer rend = bolaColorModel.GetComponent <MeshRenderer>(); //Set the main Color of the Material to green rend.material.shader = Shader.Find("_Color"); rend.material.SetColor("_Color", color); //Find the Specular shader and change its Color to red rend.material.shader = Shader.Find("Specular"); rend.material.SetColor("_SpecColor", Color.white); }
// Use this for initialization void Start() { holes = new HoleController[5][]; for (int i = 0; i < holes.Length; i++) { holes[i] = new HoleController[5 - i]; } // get references to all of the holes List <HoleController> tempHoles = new List <HoleController> (GameObject.FindObjectsOfType <HoleController>()); foreach (HoleController hole in tempHoles) { holes[hole.row][hole.col] = hole; } DestroyImmediate(pegs[Random.Range(0, 15)]); }
bool CheckValidMoves(GameObject peg) { PegController pegCont = peg.GetComponent <PegController>(); HoleController hole = pegCont.originalHole; HoleController nextRow = getNextRow(hole); HoleController prevRow = getPrevRow(hole); HoleController nextCol = getNextCol(hole); HoleController prevCol = getPrevCol(hole); if (nextRow && nextRow.currentPeg) { HoleController nextNextRow = getNextRow(nextRow); if (nextNextRow && !nextNextRow.currentPeg) { return(true); } } if (prevRow && prevRow.currentPeg) { HoleController prevPrevRow = getPrevRow(prevRow); if (prevPrevRow && !prevPrevRow.currentPeg) { return(true); } } if (nextCol && nextCol.currentPeg) { HoleController nextNextCol = getNextCol(nextCol); if (nextNextCol && !nextNextCol.currentPeg) { return(true); } } if (prevCol && prevCol.currentPeg) { HoleController prevPrevCol = getPrevCol(prevCol); if (prevPrevCol && !prevPrevCol.currentPeg) { return(true); } } return(false); }
HoleController getPrevRow(HoleController current) { if (current.row > 0) { if (current.row == 2) { if (current.col == 0 || current.col == 1 || current.col == 5 || current.col == 6) { return(null); } } return(holes[current.row - 1][current.col]); } else { return(null); } }
public void OpenHole() { int tries = 0; while (tries < 4) { int randomNum = Random.Range(0, holes.Length); if (holes.Length != 0) { HoleController compCon = holes[randomNum].GetComponent <HoleController>(); if (compCon.GetOpen() == false) { compCon.Open(); tries = 4; } } tries++; } }
GameObject ValidMoveEuro() { BoardManagerEuropean board = gameManager.GetComponent <BoardManagerEuropean>(); if (originalHole.row == currentHole.row) { // diagonal NW<>SE if (originalHole.col - currentHole.col == 2) { // moved 2 slots away HoleController neighbor = board.GetHole(originalHole.row, originalHole.col - 1); return(neighbor.currentPeg); } if (originalHole.col - currentHole.col == -2) { // moved 2 slots away HoleController neighbor = board.GetHole(originalHole.row, originalHole.col + 1); return(neighbor.currentPeg); } } else if (originalHole.col == currentHole.col) { // diagonal SW<>NE if (originalHole.row - currentHole.row == 2) { // moved 2 slots away HoleController neighbor = board.GetHole(originalHole.row - 1, originalHole.col); return(neighbor.currentPeg); } if (originalHole.row - currentHole.row == -2) { // moved 2 slots away HoleController neighbor = board.GetHole(originalHole.row + 1, originalHole.col); return(neighbor.currentPeg); } } return(null); }
// Update is called once per frame void Update() { //Basic Player movement via Arrow Keys if (Input.GetKeyDown(KeyCode.UpArrow) && CurrentHole.Up) { transform.position = CurrentHole.Up.position; CurrentHole = CurrentHole.Up.gameObject.GetComponent <HoleController>(); } if (Input.GetKeyDown(KeyCode.DownArrow) && CurrentHole.Down) { transform.position = CurrentHole.Down.position; CurrentHole = CurrentHole.Down.gameObject.GetComponent <HoleController>(); } if (Input.GetKeyDown(KeyCode.LeftArrow) && CurrentHole.Left) { transform.position = CurrentHole.Left.position; CurrentHole = CurrentHole.Left.gameObject.GetComponent <HoleController>(); } if (Input.GetKeyDown(KeyCode.RightArrow) && CurrentHole.Right) { transform.position = CurrentHole.Right.position; CurrentHole = CurrentHole.Right.gameObject.GetComponent <HoleController>(); } }
private void Start() { GameStatusEnum = GameStatus.START; part1Obstacles = GameObject.Find("Part1").transform; part2Obstacles = GameObject.Find("Part2").transform; transitionObstacles = GameObject.Find("TransitionObstacles").transform; door = GameObject.Find("Door").transform; plane2Obj = GameObject.Find("Plane2").transform; plane1Obj = GameObject.Find("Plane1").transform; pointer = GameObject.Find("Pointer").transform; pointCont = pointer.GetComponent <PointerController>(); hole = GameObject.Find("HoleObj").transform; holeCont = hole.GetComponent <HoleController>(); holeCont.DoorOpenValue = 1; obstacleCounterStart = part1Obstacles.childCount + part2Obstacles.childCount + transitionObstacles.childCount; successBar = GameObject.Find("Inner").transform.GetComponent <Image>(); }
public HoleController GetHole(int row, int col) { HoleController temp = holes[row][col]; return(temp); }
private void Awake() { collider = GetComponent <Collider>(); holeController = GetComponent <HoleController>(); holeMagnet = GetComponentInChildren <HoleMagnet>(); }
void OnTriggerExit(Collider other) { newHoleController = null; }
//added for peg game void OnTriggerEnter(Collider other) { newHoleController = other.GetComponent <HoleController>(); }
private void Start() { holeController = transform.parent.GetComponent <HoleController>(); }
void OnTriggerExit(Collider other) { currentHole = null; myRenderer.material = ogMaterial; }
public void ColliderTypeEvent(string type, GameObject TriggerObj) { switch (type) { case "Task": break; case "LittleBoss": if (Input.GetMouseButtonDown(0)) { AttackerSoilder(TriggerObj); } break; case "Soilder": //FrontSightClick(); //防禦用 //好像又不用... break; case "Player": { if (Input.GetMouseButtonDown(0)) { OpenBackageUI(); } } break; case "Factory": { FactoryViewer viwer = TriggerObj.GetComponent <FactoryViewer>(); if (Input.GetMouseButtonDown(0)) { viwer.ShowFactoryUi(); } } break; case "Energy": { if (Input.GetMouseButtonDown(0)) { SoilderCarryThing(TriggerObj); //AttackerSoilder(TriggerObj); } } break; case "TheHole": { //Debug.Log("HitTheHole"); HoleController holeController = TriggerObj.GetComponent <HoleController>(); if (Input.GetMouseButtonDown(0) && holeController.TakeBreak == false && holeController.IsWorking == false) { SoilderAutoCreat(TriggerObj); //AttackerSoilder(TriggerObj); } } break; default: break; } }