protected override void Awake() { base.Awake(); _gravityHandler = gameObject.GetComponent <GravityHandler>(); _rigidBody = GetComponent <Rigidbody>(); }
/// <summary> /// Get all neceassry components and activate all states /// </summary> private void Awake() { gravityController = GetComponent <GravityHandler>(); rigidbody = GetComponent <Rigidbody>(); State = PlayerState.Initialized; EnableState(PlayerState.Movable); EnableState(PlayerState.Turnable); }
protected override void Awake() { base.Awake(); _gravityHandler = gameObject.GetComponent <GravityHandler>(); _gravityHandler.OnGravityChanged += OnGravitySwitched; _controller = gameObject.GetComponentInChildren <MinibotController>(); }
public void SimulatePath(Vector2 shipPosition, Vector2 shipVelocity, int length, int renderPoints) { StopCoroutine("FadeOut"); sightLine = GetComponent <LineRenderer>(); segmentCount = length; Vector2[] segments = new Vector2[segmentCount]; Material lineMat = (Material)Resources.Load(materialName, typeof(Material)); Color startColor = lineColor; Color endColor = startColor; startColor.a = 1; endColor.a = 0; sightLine.startColor = startColor; sightLine.endColor = endColor; sightLine.material = lineMat; segments[0] = shipPosition; // The initial velocity Vector2 segVelocity = shipVelocity; for (int i = 1; i < segmentCount; i++) { float segTime = (segVelocity.sqrMagnitude != 0) ? segmentScale / segVelocity.magnitude : 0; //essetially segment distance over segment time = ship velocity //float segTime = Time.fixedDeltaTime * segmentScale; segVelocity += GravityHandler.SumFieldStrength(segments[i - 1]) * segTime; RaycastHit2D hit = Physics2D.Raycast(segments[i - 1], segVelocity, segmentScale, tMask); if (hit) { segments[i] = segments[i - 1] + segVelocity.normalized * hit.distance; segVelocity = segVelocity - GravityHandler.SumFieldStrength(segments[i - 1]) * (segmentScale - hit.distance) / segVelocity.magnitude; segVelocity = Vector2.zero; } else { segments[i] = segments[i - 1] + segVelocity * segTime; } //print(i + " " + segments.Length); } sightLine.positionCount = segmentCount / renderPoints; for (int i = 0; i < sightLine.positionCount; i++) { sightLine.SetPosition(i, segments[i * renderPoints]); } StartCoroutine("FadeOut"); }
void OnTriggerEnter(Collider c) { if (!c.gameObject.GetComponent <Player>().justPorted) { ChangeGravityField.reset = true; GravityHandler.changeGravity(destination.GetComponent <Portal>().gravityAxis, destination.GetComponent <Portal>().gravityBool); StartCoroutine(c.gameObject.GetComponent <Player>().portedPlayer()); c.gameObject.transform.position = destination.transform.position; } }
/// <summary> /// Tries to set the rigidbody and gravity component if they are not set /// For more information about the functionality of reset take a look at http://docs.unity3d.com/ScriptReference/MonoBehaviour.Reset.html /// </summary> private void Reset() { if (rigidbody == null) { rigidbody = GetComponent<Rigidbody>(); } if (gravityComponent == null) { gravityComponent = GetComponent<GravityHandler>(); } }
public void OnTransition(State previousState, DaleStateHandler daleStateHandler) { Animator animator = daleStateHandler.animator; ThirdPersonMovement thirdPersonMovement = daleStateHandler.thirdPersonMovement; GravityHandler gravityHandler = daleStateHandler.gravityHandler; gravityHandler.Jump(); Debug.Log("jumping transition"); animator.SetBool("jump", true); animator.SetBool("run", false); animator.SetBool("movingBackward", false); thirdPersonMovement.enabled = false; }
public override void OnInspectorGUI() { DrawDefaultInspector(); gravityHandler = (GravityHandler)target; if (GUILayout.Button("Add Handle")) { GameObject newHandle = CreateNewGravityHandle(); GravityHandle gravityHandle = newHandle.GetComponent <GravityHandle>(); gravityHandle.Parent = gravityHandler; gravityHandler.handles.Add(gravityHandle); EditorUtility.SetDirty(gravityHandler); EditorUtility.SetDirty(newHandle); //Jump to the newly created object in the editor, this way it can be edited right away Selection.activeGameObject = newHandle; } }
public override void Use() { Registry.sfxManager.PlaySFX(Registry.sfxManager.SFXGravitySwitch); foreach (LevelObject levelObject in _linkedObjects) { if (levelObject == null) { continue; } Debug.Log("GOING THROUGH LINKEDOBJECTS"); GravityHandler gravityHandler = levelObject.GetComponent <GravityHandler>(); if (gravityHandler == null) { continue; } Debug.Log("GOING THROUGH GRAVITYHANDLER"); gravityHandler.InvertGravity(); } }
void FixedUpdate() { position = this.transform.position; spaceRock.AddForce(GravityHandler.SumFieldStrength(position) * spaceRock.mass); //rotation velocity = spaceRock.velocity; if (spaceRock.velocity.x > 0) { facing = (Mathf.Atan(spaceRock.velocity.y / spaceRock.velocity.x)) * Mathf.Rad2Deg - 90f; transform.eulerAngles = new Vector3(0, 0, facing); } else if (spaceRock.velocity.x < 0) { facing = (Mathf.Atan(spaceRock.velocity.y / spaceRock.velocity.x)) * Mathf.Rad2Deg + 90f; transform.eulerAngles = new Vector3(0, 0, facing); } else { facing = 0; } }
// Update is called once per frame void Update() { position = this.transform.position; hotBod.AddForce(GravityHandler.SumFieldStrength(position) * hotBod.mass); if (planetType.ToLower() == "earth") { //Earth stuff } else if (planetType.ToLower() == "mars") { //Mars stuff } else if (planetType.ToLower() == "jupiter") { //jupiter stuff } else { //generic planet stuff } }
void OnTriggerEnter(Collider c) { if (!c.gameObject.GetComponent <Player>().justPorted&&change) { otherCGF.change = false; if (GravityHandler.currentGravityBool == gravityBool1 && GravityHandler.currentGravityAxis.Equals(gravityAxis1)) { GravityHandler.changeGravity(gravityAxis2, gravityBool2); StartCoroutine(c.gameObject.GetComponent <Player>().portedPlayer()); } else { GravityHandler.changeGravity(gravityAxis1, gravityBool1); StartCoroutine(c.gameObject.GetComponent <Player>().portedPlayer()); } } else if (!c.gameObject.GetComponent <Player>().justPorted&& !change) { otherCGF.change = true; change = true; } }
// ************************************************************************************ // MAIN // ************************************************************************************ void Awake() { rigidbody.freezeRotation = true; rigidbody.useGravity = false; _gravityHandler = GetComponent <GravityHandler>(); if (_gravityHandler == null) { Debug.LogError("gravityHandler was not found!"); } _capsuleCollider = GetComponent <CapsuleCollider>(); if (_capsuleCollider == null) { Debug.LogError("capsule collider was not found!"); } _playerScript = GetComponent <Minibot>(); if (_playerScript == null) { Debug.LogError("player not found!"); } }
// Update is called once per frame protected virtual void FixedUpdate() { position = transform.position; rb.AddForce(GravityHandler.SumFieldStrength(position) * rb.mass); }
void Start() { animator = FindObjectOfType <Animator>(); characterController = FindObjectOfType <CharacterController>(); gravityHandler = FindObjectOfType <GravityHandler>(); }
private void Awake() { AvatarGravity = GetComponent <GravityHandler>(); wayPointSystem = GetComponent <WayPointSystem>(); }
void FixedUpdate() { //stun and hit manager if (beingHit == true) { timeSinceHit = 0; stunned = true; } else if (beingHit == false && timeSinceHit < stunTime) { stunned = true; timeSinceHit++; } else { stunned = false; } //turret cooldown if (firing) { timeSinceFiring = 0; cooling = true; } else if (!firing && timeSinceFiring < coolTime) { cooling = true; timeSinceFiring++; } else { cooling = false; } //Pause menu (give to game manager) if (Input.GetButtonDown("Pause")) { if (!MenuScreen.activeSelf) { MenuScreen.SetActive(true); MenuScreen.GetComponent <ExtranousMenu>().PauseMenu(); Time.timeScale = Mathf.Epsilon; mainC.GetComponent <AudioReverbFilter>().enabled = true; mainC.GetComponent <AudioLowPassFilter>().enabled = true; } else { Time.timeScale = 1; mainC.GetComponent <AudioReverbFilter>().enabled = false; mainC.GetComponent <AudioLowPassFilter>().enabled = false; MenuScreen.SetActive(false); } } //Primary fire if (stunned == false && cooling == false) { disabled = false; } else { disabled = true; } //hit = beam.BeamFire(PrimaryFire(usingGamepad), !disabled, pew); //Player Acceleration Input inputAxis = AccelAxis(); position = transform.position; shipBod.AddForce(GravityHandler.SumFieldStrength(position) * shipBod.mass); direction = velocity.normalized; accelMagnitude = accelRate * inputAxis; acceleration = accelMagnitude * direction; shipBod.AddForce(acceleration * shipBod.mass); //rotation velocity = shipBod.velocity; if (shipBod.velocity.x > 0) { facing = (Mathf.Atan(shipBod.velocity.y / shipBod.velocity.x)) * Mathf.Rad2Deg - 90f; transform.eulerAngles = new Vector3(0, 0, facing); } else if (shipBod.velocity.x < 0) { facing = (Mathf.Atan(shipBod.velocity.y / shipBod.velocity.x)) * Mathf.Rad2Deg + 90f; transform.eulerAngles = new Vector3(0, 0, facing); } else { facing = 0; } //ship trajectory prediction var lineDraw = GetComponent <TrajectoryPredict>(); lineDraw.SimulatePath(position, velocity, 200, 2); //turret rotation and aim turret.transform.up = Quaternion.Euler(new Vector3(0, 0, TurretFacing())) * Vector2.up; //turret firing var turretBehaviorScript = turret.GetComponent <TurretBehavior>(); if (!disabled) { if (SecondaryFire()) { turretBehaviorScript.ProjectileTrajectory(); triggerPressed = true; } else if (!SecondaryFire() && triggerPressed == true) { turretBehaviorScript.ProjectileFire(); triggerPressed = false; firing = true; } } else { firing = false; } //Health and damage if (health <= 0 || transform.position.magnitude >= deathField) { StartCoroutine(deathSequence()); } //Animation if (inputAxis > 0) { if (!thrusterBaseAudio.isPlaying) { thrusterBaseAudio.Play(); } justAccelerated = true; for (int i = 0; i < thrustersBackLeft.Length; i++) { thrustersBackLeft[i].SetBool("accelerating", true); thrustersBackRight[i].SetBool("accelerating", true); } for (int i = 0; i < thrustersFrontLeft.Length; i++) { thrustersFrontLeft[i].SetBool("accelerating", false); thrustersFrontRight[i].SetBool("accelerating", false); } } else if (inputAxis < 0) { if (!thrusterBaseAudio.isPlaying) { thrusterBaseAudio.Play(); } justAccelerated = true; for (int i = 0; i < thrustersBackLeft.Length; i++) { thrustersBackLeft[i].SetBool("accelerating", false); thrustersBackRight[i].SetBool("accelerating", false); } for (int i = 0; i < thrustersFrontLeft.Length; i++) { thrustersFrontLeft[i].SetBool("accelerating", true); thrustersFrontRight[i].SetBool("accelerating", true); } } else { if (justAccelerated == true) { thrusterBase.AddComponent <AudioFade>().fullVolume = 0.5f; } justAccelerated = false; for (int i = 0; i < thrustersBackLeft.Length; i++) { thrustersBackLeft[i].SetBool("accelerating", false); thrustersBackRight[i].SetBool("accelerating", false); } for (int i = 0; i < thrustersFrontLeft.Length; i++) { thrustersFrontLeft[i].SetBool("accelerating", false); thrustersFrontRight[i].SetBool("accelerating", false); } } }
void Start() { animator = FindObjectOfType <Animator>(); gravityHandler = FindObjectOfType <GravityHandler>(); }
private void Start() { instance = this; attractors = FindObjectsOfType <Attractor>(); }
void Start() { g = GameObject.FindGameObjectsWithTag("GH")[0].GetComponent <GravityHandler>(); }