void Awake() { MoveTimerMax = 0.06f; MoveTimer = MoveTimerMax; state = shipStates.Live; }
// Update is called once per frame void FixedUpdate() { state = GamePad.GetState(playerIndexNum); if (this.gameObject.GetComponent<AudioSource>().pitch < (state.Triggers.Right)) { this.gameObject.GetComponent<AudioSource>().pitch += engineResponseSpeed; } else if (this.gameObject.GetComponent<AudioSource>().pitch > (state.Triggers.Right + engineResponseSpeed)) { this.gameObject.GetComponent<AudioSource>().pitch -= engineResponseSpeed; } if (this.gameObject.GetComponent<AudioSource>().pitch < 0.05f) this.gameObject.GetComponent<AudioSource>().pitch = 0.05f; if (shipState == shipStates.rocketMode) this.gameObject.GetComponent<AudioSource>().pitch = 1.25f; //float v = -Input.GetAxis("AccelTrigger"); float v = state.Triggers.Right; //float h = Input.GetAxis("Horizontal"); float h = state.ThumbSticks.Left.X; //bool rstrafe = Input.GetButton("StrafeR"); //bool lstrafe = Input.GetButton("StrafeL"); //Activate Hovering TerrainNormalHover(hoverSensors); if (h > 0.1f) { LFlap.GetComponent<Animator>().SetBool("flapOpen", true); } else { LFlap.GetComponent<Animator>().SetBool("flapOpen", false); } if (h < -0.1f) { RFlap.GetComponent<Animator>().SetBool("flapOpen", true); } else { RFlap.GetComponent<Animator>().SetBool("flapOpen", false); } if (shipState == shipStates.normalMode) { if (playerCamera.fieldOfView > normalFOV) { playerCamera.fieldOfView = playerCamera.fieldOfView - 1; } else if (playerCamera.fieldOfView < normalFOV) { playerCamera.fieldOfView = normalFOV; } if (playerCamera.gameObject.GetComponent<ThirdPersonCamera>().distance < 8f) { playerCamera.gameObject.GetComponent<ThirdPersonCamera>().distance += 1; } //ShipStabilizer(); //Forward Motion //Boost (); shipRigid.AddRelativeForce(Vector3.forward * v * shipVelocity, ForceMode.Force); //shipRigid.AddRelativeForce(0f, 0f, 5f * h * shipRigid.velocity.x, ForceMode.Force); shipRigid.AddRelativeTorque(0f, h * turnSpeed, 0f, ForceMode.Force); //Strafing //if (rstrafe) if (state.Buttons.RightShoulder == ButtonState.Pressed) shipRigid.AddRelativeForce(Vector3.right * 90, ForceMode.Force); //else if (lstrafe) if (state.Buttons.LeftShoulder == ButtonState.Pressed) shipRigid.AddRelativeForce(Vector3.left * 90, ForceMode.Force); //Boost (); //Leaning //shipRigid.AddRelativeTorque(-Vector3.forward * h * leanForce, ForceMode.Force); //Debug.Log(shipRigid.velocity.magnitude + ", " + curCharge.ToString()); Lance(); } else if (shipState == shipStates.rocketMode) { if (playerCamera.fieldOfView < rocketFOV) { playerCamera.fieldOfView = playerCamera.fieldOfView + 1; } else if (playerCamera.fieldOfView > rocketFOV) { playerCamera.fieldOfView = rocketFOV; } if (playerCamera.gameObject.GetComponent<ThirdPersonCamera>().distance > 6f) { playerCamera.gameObject.GetComponent<ThirdPersonCamera>().distance -= 0.1f; } playerCamera.gameObject.GetComponent<ThirdPersonCamera>().shakeIntensity = 0.05f * (Time.time - rocketEndTime); //ShipStabilizer(); //Forward Motion shipRigid.AddRelativeForce(Vector3.forward * rocketPower * shipVelocity, ForceMode.Force); //shipRigid.AddRelativeForce(0f, 0f, 5f * h * shipRigid.velocity.x, ForceMode.Force); shipRigid.AddRelativeTorque(0f, h * turnSpeed, 0f, ForceMode.Force); //Leaning //shipRigid.AddRelativeTorque(-Vector3.forward * h * leanForce, ForceMode.Force); Lance(); if (Time.time > rocketEndTime) { Debug.Log("Normal Mode"); shipState = shipStates.normalMode; playerCamera.gameObject.GetComponent<ThirdPersonCamera>().shake = false; RocketBeam.gameObject.SetActive(false); } } }
// Use this for initialization void Start() { playerCameraObj = Instantiate(playerCameraPrefab); playerCamera = playerCameraObj.GetComponent<Camera>(); playerCameraObj.GetComponent<ThirdPersonCamera>().poi = this.transform; playerCameraObj.GetComponent<ThirdPersonCamera>().camTarget = this.transform; playerCameraObj.GetComponent<ThirdPersonCamera>().playerIndexNum = playerIndexNum; if (playerIndexNum == XInputDotNetPure.PlayerIndex.One) { playerCameraObj.GetComponent<ThirdPersonCamera>().playerCamNumber = 1; } else if (playerIndexNum == XInputDotNetPure.PlayerIndex.Two) { playerCameraObj.GetComponent<ThirdPersonCamera>().playerCamNumber = 2; } else if (playerIndexNum == XInputDotNetPure.PlayerIndex.Three) { playerCameraObj.GetComponent<ThirdPersonCamera>().playerCamNumber = 3; } else if (playerIndexNum == XInputDotNetPure.PlayerIndex.Four) { playerCameraObj.GetComponent<ThirdPersonCamera>().playerCamNumber = 4; } shipRigid = this.gameObject.GetComponent<Rigidbody>(); hoverSensor1 = transform.Find("HoverSensor 1").transform; hoverSensor2 = transform.Find("HoverSensor 2").transform; hoverSensor3 = transform.Find("HoverSensor 3").transform; hoverSensor4 = transform.Find("HoverSensor 4").transform; hoverSensors = new Transform[4] { hoverSensor1, hoverSensor2, hoverSensor3, hoverSensor4 }; lancePoint = transform.Find("Lance").transform; shipState = shipStates.normalMode; }
void Update() { if (Input.GetKey(KeyCode.D) || (health <= 0)) dead = true; if (dead) die(); state = GamePad.GetState(playerIndexNum); //if ( Input.GetButtonDown ("Fire3" )) { if ((state.Buttons.X == ButtonState.Pressed) && (shipState != shipStates.rocketMode)) { shipState = shipStates.rocketMode; rocketEndTime = Time.time + rocketBoostDuration; Debug.Log("ROCKET MODE"); playerCamera.gameObject.GetComponent<ThirdPersonCamera>().shake = true; RocketBeam.gameObject.SetActive(true); RocketBeam.GetComponent<GeroBeam>().NowLength = 0; blast1.Play(); GamePad.SetVibration(playerIndexNum, 0.5f, 0.2f * state.Triggers.Right); } //if (Input.GetAxis ("AccelTrigger") < -0.1) { //Debug.Log(state.Triggers.Right); if (state.Triggers.Right > 0.1f) { //Debug.Log (Input.GetAxis ("AccelTrigger")); EngineBeam.gameObject.SetActive(true); //EngineBeam.GetComponent<GeroBeam> ().NowLength = 0; /*if (this.gameObject.GetComponent<AudioSource> ().pitch < state.Triggers.Right) { this.gameObject.GetComponent<AudioSource> ().pitch += engineResponseSpeed * Time.deltaTime; } else if (this.gameObject.GetComponent<AudioSource> ().pitch > state.Triggers.Right) { this.gameObject.GetComponent<AudioSource> ().pitch -= engineResponseSpeed * Time.deltaTime; }*/ if (shipState == shipStates.normalMode) { if (engineLight.intensity > engineLightIntensityNormal) { engineLight.intensity -= 1f; } else if (engineLight.intensity < engineLightIntensityNormal) { engineLight.intensity += 1f; } GamePad.SetVibration(playerIndexNum, 0f, 0.2f * state.Triggers.Right); } else { if (engineLight.intensity > engineLightIntensityBoost) { engineLight.intensity -= 1f; } else if (engineLight.intensity < engineLightIntensityBoost) { engineLight.intensity += 1f; } GamePad.SetVibration(playerIndexNum, 0.5f, 0.2f * state.Triggers.Right); } } else { EngineBeam.GetComponent<GeroBeam>().NowLength = 0; EngineBeam.gameObject.SetActive(false); /*if (this.gameObject.GetComponent<AudioSource> ().pitch > 0.1f) { this.gameObject.GetComponent<AudioSource> ().pitch -= engineResponseSpeed * Time.deltaTime; } else { this.gameObject.GetComponent<AudioSource> ().pitch = 0.05f; }*/ if (shipState == shipStates.normalMode) { if (engineLight.intensity > 2f) { engineLight.intensity -= 1f; } else if (engineLight.intensity < 2f) { engineLight.intensity += 1f; } GamePad.SetVibration(playerIndexNum, 0f, 0f); } else { if (engineLight.intensity > engineLightIntensityBoost) { engineLight.intensity -= 1f; } else if (engineLight.intensity < engineLightIntensityBoost) { engineLight.intensity += 1f; } } } }