// Update is called once per frame void Update() { groundBelow = DetectCollisions.DetectCollisionAtPosition(new Vector3 (transform.position.x, transform.position.y - control.gridSize /*- 0.05f*/, transform.position.z)); if (side == 1) { if (control.gamePhase != 1) { selected = false; } if (Input.GetKeyDown("1") && number == 1 && control.gamePhase == 1) { GameObject[] allside1Robots = GameObject.FindGameObjectsWithTag("Robo1"); foreach (GameObject ConnectorCube in allside1Robots) { ConnectorCube.GetComponent <CharacterAlpha>().selected = false; } selected = true; cameraFollow.transform.position = transform.position; } if (Input.GetKeyDown("2") && number == 2 && control.gamePhase == 1) { GameObject[] allside1Robots = GameObject.FindGameObjectsWithTag("Robo1"); foreach (GameObject ConnectorCube in allside1Robots) { ConnectorCube.GetComponent <CharacterAlpha>().selected = false; } selected = true; cameraFollow.transform.position = transform.position; } if (Input.GetKeyDown("3") && number == 3 && control.gamePhase == 1) { GameObject[] allside1Robots = GameObject.FindGameObjectsWithTag("Robo1"); foreach (GameObject ConnectorCube in allside1Robots) { ConnectorCube.GetComponent <CharacterAlpha>().selected = false; } selected = true; cameraFollow.transform.position = transform.position; } } if (side == 2) { if (control.gamePhase != 2) { selected = false; } if (Input.GetKeyDown("1") && number == 1 && control.gamePhase == 2) { GameObject[] allside2Robots = GameObject.FindGameObjectsWithTag("Robo2"); foreach (GameObject ConnectorCube in allside2Robots) { ConnectorCube.GetComponent <CharacterAlpha>().selected = false; } selected = true; cameraFollow.transform.position = transform.position; } if (Input.GetKeyDown("2") && number == 2 && control.gamePhase == 2) { GameObject[] allside2Robots = GameObject.FindGameObjectsWithTag("Robo2"); foreach (GameObject ConnectorCube in allside2Robots) { ConnectorCube.GetComponent <CharacterAlpha>().selected = false; } selected = true; cameraFollow.transform.position = transform.position; } if (Input.GetKeyDown("3") && number == 3 && control.gamePhase == 2) { GameObject[] allside2Robots = GameObject.FindGameObjectsWithTag("Robo2"); foreach (GameObject ConnectorCube in allside2Robots) { ConnectorCube.GetComponent <CharacterAlpha>().selected = false; } selected = true; cameraFollow.transform.position = transform.position; } } if (performAction) { if (action == 1) { if (setDestination) { startPos = transform.position; targetPos = new Vector2(transform.position.x + control.gridSize * transform.localScale.x, transform.position.y); setDestination = false; } MoveOneStep(speed, transform.localScale.x); } if (action == 2) { if (setDestination) { startPos = transform.position; targetPos = new Vector2(transform.position.x + control.gridSize * compX * 2 * transform.localScale.x, transform.position.y); jumpHighPoint = new Vector2(transform.position.x + control.gridSize * compX * transform.localScale.x, transform.position.y + control.gridSize * compY); setDestination = false; jumpPhase = 1; } Jump(speed, transform.localScale.x); } if (action == 3) { Turn180(); } } if (action == 0 && groundBelow == false && !performFallDown) { RaycastHit2D hit = Physics2D.Raycast(new Vector2(transform.position.x, transform.position.y - control.gridSize - 0.05f), -transform.up); if (hit.collider != null) { targetPos = (new Vector2(hit.collider.transform.position.x, hit.collider.transform.position.y + control.gridSize * 1.5f)); } else { targetPos = new Vector2(0, -1000f); } performFallDown = true; } if (action == 0 && groundBelow == true && !performFallDown && numberOfSteps > 0 && performAction) { action = 1; setDestination = true; performAction = true; } if (action == 4) { if (setDestination && shooting == 0) { startPos = transform.position; targetPos = new Vector2(transform.position.x + control.gridSize * shootingRange * transform.localScale.x, transform.position.y); setDestination = false; shooting = 1; } Shoot(speed, transform.localScale.x); } if (action == 5) { Crouch(); } if (performFallDown == true) { FallDown(speed * 3); } }
// Update is called once per frame void Update() { groundBelow = DetectCollisions.DetectCollisionAtPosition(new Vector3 (transform.position.x, transform.position.y - control.gridSize /*- 0.05f*/, transform.position.z)); if (performAction) { if (action == 1) { if (setDestination) { startPos = transform.position; targetPos = new Vector2(transform.position.x + control.gridSize * transform.localScale.x, transform.position.y); setDestination = false; } MoveOneStep(speed, transform.localScale.x); } if (action == 2) { if (setDestination) { startPos = transform.position; targetPos = new Vector2(transform.position.x + control.gridSize * compX * 2 * transform.localScale.x, transform.position.y); jumpHighPoint = new Vector2(transform.position.x + control.gridSize * compX * transform.localScale.x, transform.position.y + control.gridSize * compY); setDestination = false; jumpPhase = 1; } Jump(speed, transform.localScale.x); } if (action == 3) { Turn180(); } } if (action == 0 && groundBelow == false && !performFallDown) { RaycastHit2D hit = Physics2D.Raycast(new Vector2(transform.position.x, transform.position.y - control.gridSize - 0.05f), -transform.up); if (hit.collider != null) { targetPos = (new Vector2(hit.collider.transform.position.x, hit.collider.transform.position.y + control.gridSize * 1.5f)); } else { targetPos = new Vector2(0, -1000f); } performFallDown = true; } if (action == 4) { if (setDestination && shooting == 0) { startPos = transform.position; targetPos = new Vector2(transform.position.x + control.gridSize * shootingRange * transform.localScale.x, transform.position.y); setDestination = false; shooting = 1; } Shoot(speed, transform.localScale.x); } if (performFallDown == true) { FallDown(speed * 3); } }