void MoveAimer() { if (m_bBounce) { m_fReAim += DynamicUpdateManager.GetDeltaTime(); } if (m_bBounce && m_fReAim < 1f) { //transform.position += (v3BounceDir * ((m_fAimRate) * DynamicUpdateManager.GetDeltaTime())); } else if (m_bRollLeft || m_bRollRight) { if (m_bRollLeft) { v3Velocity.x += -3; } if (m_bRollRight) { v3Velocity.x += 3; } CheckBounds(); transform.localPosition += v3Velocity * (m_fAimRate * DynamicUpdateManager.GetDeltaTime()); } else { CheckBounds(); transform.localPosition += v3Velocity * (m_fAimRate * DynamicUpdateManager.GetDeltaTime()); } if (m_fReAim > 0.2f) { m_bBounce = false; } }
public Vector3 Lerp(float min, float max, float optimal, Vector2 pos1, Vector2 pos2) { float dist = Vector2.Distance(pos1, pos2); if (dist > 0.01f) { //Lerp camera to player //greater distance faster camera //less distance slower camera float MaxSpeed = max; float MinSpeed = min; float t = dist / optimal; t = Mathf.Clamp(t, 0f, 1f); float Speed = (MinSpeed + (MaxSpeed - MinSpeed) * t); Vector2 dir = pos1 - pos2; dir = dir.normalized; return(new Vector2(dir.x, dir.y) * (-Speed * DynamicUpdateManager.GetDeltaTime())); } return(new Vector2(0, 0)); }
// Update is called once per frame void Update() { transform.position = (transform.position + (transform.forward * m_fSpeed * DynamicUpdateManager.GetDeltaTime())); m_TTSelfDestruct.Update(); if (m_TTSelfDestruct.TimeUp()) { DestroyImmediate(gameObject); } }
private void CheckBounds() { Vector3 newPos = transform.localPosition + (v3Velocity * (m_fAimRate * DynamicUpdateManager.GetDeltaTime())); if (newPos.x < m_v3MinBounds.x || newPos.x > m_v3MaxBounds.x) { v3Velocity.x = 0; } if (newPos.y < m_v3MinBounds.y || newPos.y > m_v3MaxBounds.y) { v3Velocity.y = 0; } v3Velocity.z = 0; }
void UpdateVisualAimer() { //AIMER //Player Vector3 line = transform.position - Player.transform.position; line.Normalize(); Vector3 VisAimerPoint = line * -100; VisAimerPoint = VisAimerPoint + transform.position; VisAimer.transform.position = Vector3.Lerp(VisAimer.transform.position, VisAimerPoint, DynamicUpdateManager.GetDeltaTime() * 100); }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // * New Method: Get Delta Time //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private float GetDeltaTime() { return((GameHandler.IsGamePaused() && m_bUpdateWhenPaused) ? DynamicUpdateManager.GetDeltaTime() : Time.deltaTime); }
/// <summary> /// Moves the player based on where the aimer is. /// Rotates the ship to face the aimer and adjusts x and y locations. /// </summary> public void MovePlayer() { float dist = Vector2.Distance(new Vector2(targetAim.transform.localPosition.x, targetAim.transform.localPosition.y), new Vector2(transform.localPosition.x, transform.localPosition.y)); if (isRolling()) { m_fSpeed = m_fRollSpeed; } //rotates the ship to look at the aimer Quaternion rotation = Quaternion.LookRotation(new Vector3(targetAim.transform.position.x, targetAim.transform.position.y, targetAim.transform.position.z) - transform.position); Vector3 tempAngles = new Vector3(rotation.eulerAngles.x, rotation.eulerAngles.y, m_v3PrevRot.z); float TiltMod = targetAim.GetTiltMod(); if (tempAngles.z > -30 && tempAngles.z < 30 || tempAngles.z > 330) { tempAngles.z = 15 * TiltMod; } if (TiltMod == 0) { tempAngles.z = 0; } rotation.eulerAngles = tempAngles; transform.rotation = Quaternion.Slerp(transform.rotation, rotation, DynamicUpdateManager.GetDeltaTime() * 6.0f); m_v3PrevRot = transform.localRotation.eulerAngles; //transform.localRotation = modifiedRot; //grab targets rotation //add it to player rotation targetAim.MoveAdjust = m_fMoveMultipier; targetAim.StrafeSpeed = m_fStrafeSpeed; targetAim.AltSpeed = m_fAltSpeed; Vector3 targetPos = targetAim.transform.localPosition; targetPos.z -= targetAim.m_PlayerOffset; m_Velocity = targetPos - transform.localPosition; m_Velocity.z = 0; m_Velocity.Normalize(); Vector3 PositionCheck = transform.localPosition + m_Velocity * (m_fSpeed * DynamicUpdateManager.GetDeltaTime()); if (PositionCheck.x > m_v2MaxBounds.x || PositionCheck.x < m_v2MinBounds.x) { m_Velocity.x = 0; } if (PositionCheck.y > m_v2MaxBounds.y || PositionCheck.y < m_v2MinBounds.y) { m_Velocity.y = 0; } if (dist > m_fStopDistance) // * targetAim.GetMoveValue()) { transform.localPosition += m_Velocity * (m_fSpeed * DynamicUpdateManager.GetDeltaTime()); } }
// Update is called once per frame void Update() { m_Velocity = new Vector3(0, 0, 0); MovePlayer(); GetInput(); RollShip(); //CameraFollow(); if (m_bIsShot) { m_fHitTimer += DynamicUpdateManager.GetDeltaTime(); } if (m_fHitTimer > m_fHitReset) { m_bIsShot = false; gameObject.GetComponent <Animator>().SetBool("PlayerHit", m_bIsShot); m_fHitTimer = 0; } if (m_bDead) { deathTimer += DynamicUpdateManager.GetDeltaTime(); } if (m_bBrainBugged) { m_fBBTimer += DynamicUpdateManager.GetDeltaTime(); if (m_fBBTimer > m_fBBResetTime) { SetBugged(false); } } if (Input.GetKey(KeyCode.Escape)) { GameHandler.Quit(); } if (m_fCollTimer > m_fCollReset) { gameObject.GetComponent <Collider>().enabled = true; } ///////////////////////////////////////////////////// //Controls the state of the rolling ship if (m_bRollingLeft || m_bRollingRight) { m_fRollTimer += DynamicUpdateManager.GetDeltaTime(); } if (m_fRollTimer > 0.5) { m_bRollingLeft = false; targetAim.m_bRollLeft = false; gameObject.GetComponent <Animator>().SetBool("RollingLeft", m_bRollingLeft); m_bRollingRight = false; targetAim.m_bRollRight = false; gameObject.GetComponent <Animator>().SetBool("RollingRight", m_bRollingRight); m_fRollTimer = 0f; m_fMoveMultipier = 0f; } //Rolls the ship left or right based on input if (Input.GetKey(KeyCode.Q)) { RollShipLeft(); } else if (Input.GetKey(KeyCode.E)) { RollShipRight(); } ////////////////////////////////////////////////////////////////////////// //Read the buttons used to pick up shooting a bullet or missile //Only shoots as fast as you can press ////////////////////////////////////////////////////////////////////////// if (Input.GetKeyDown(KeyCode.Space) || XboxInputHandler.KeyTriggered(m_aFireTriggerAxis)) { ShootBullet(); } }