// Update is called once per frame void Update() { if (state == RobotState.Idle) { //Check for action commands if (Input.GetButtonDown("Dodge" + robotNumber.ToString())) { state = RobotState.Dodging; lockTime = 1f; TriggerAnimation(); audioSource.PlayOneShot(dodgeSounds[Random.Range(0, dodgeSounds.Length)]); } else if (Input.GetButtonDown("Punch" + robotNumber.ToString())) { //Debug.Log("Punch" + robotNumber.ToString()); state = RobotState.Punching; lockTime = 1f; punchBox.SetActive(true); TriggerAnimation(); } else if (Input.GetButtonDown("Flair" + robotNumber.ToString())) { state = RobotState.Posing; lockTime = 1f; TriggerAnimation(); } else if (Input.GetButtonDown("Shoot" + robotNumber.ToString())) { state = RobotState.Shooting; lockTime = 1f; TriggerAnimation(); GameObject tempBullet = Instantiate(bullet, bulletSpawnPoint.position, new Quaternion()); tempBullet.GetComponent <Bullet>().SetOwner(robotNumber); } else if (Input.GetButtonDown("Reflect" + robotNumber.ToString())) { state = RobotState.Reflecting; lockTime = 1f; TriggerAnimation(); } else if (Input.GetButtonDown("Charge" + robotNumber.ToString())) { state = RobotState.Charging; TriggerAnimation(); } else { float deltaX = Input.GetAxis("Horizontal" + robotNumber.ToString()); if (deltaX != 0f) { xpos = pos.position.x; xpos += Input.GetAxis("Horizontal" + robotNumber.ToString()) * Time.deltaTime * speed; float enemyPos = opponent.GetPosition(); if (robotNumber == 1) { if (xpos + 4f > enemyPos) { xpos = enemyPos - 4f; } else if (xpos < -14f) { xpos = -14f; } } else { if (xpos - 4f < enemyPos) { xpos = enemyPos + 4f; } else if (xpos > 14f) { xpos = 14f; } } pos.position = new Vector3(xpos, pos.position.y, pos.position.z); if (deltaX > 0) { //Move one way } else { //Move the other way } } else { //Idle } } } else if (state == RobotState.Charging) { if (Input.GetButtonDown("Charge" + robotNumber.ToString())) { state = RobotState.Idle; TriggerAnimation(); } } else { lockTime -= Time.deltaTime; if (lockTime <= 0f) { state = RobotState.Idle; punchBox.SetActive(false); TriggerAnimation(); } } }