private void Update() { PlayerValues player1 = PlayerValues.GetPlayer(0); if (player1 != null) { float x = player1.transform.position.x; float y = player1.transform.position.y; if (x > MaxX || x < MinX || y > MaxY || y < MinY) { player1.Die(); } } PlayerValues player2 = PlayerValues.GetPlayer(1); if (player2 != null) { float x = player2.transform.position.x; float y = player2.transform.position.y; if (x > MaxX || x < MinX || y > MaxY || y < MinY) { player2.Die(); } } }
void Start() { // If AI is dodged constantly it will "time out" and die after 15 seconds. Destroy(this.gameObject, 15f); StartCoroutine(TimeOut(10)); player = GameObject.FindGameObjectWithTag("Player"); player2 = GameObject.FindGameObjectWithTag("Player2"); PickupManager manager = FindObjectOfType <PickupManager>(); int currentPickupOwner = manager.GetCurrentPickupOwner(); if (currentPickupOwner == 0) { target = PlayerValues.GetPlayer(1)?.transform; } else { target = PlayerValues.GetPlayer(0)?.transform; } animator.SetBool("Targeted", true); target.GetComponent <PlayerValues>()?.SetTargeted(true); //if (Player1PickedUpTheThing == true) //{ //target = GameObject.FindGameObjectWithTag("Player").GetComponent<Transform>(); }
private void Start() { GameManager.OnLivesChanged += UpdatePlayerLives; UpdatePlayerLives(); _killPlayer1Button?.onClick.AddListener(() => PlayerValues.GetPlayer(0)?.Die()); _killPlayer2Button?.onClick.AddListener(() => PlayerValues.GetPlayer(1)?.Die()); _resetLivesButton?.onClick.AddListener(GameManager.ResetLives); }
public void AnimationEvent() { Destroy(transform.root.gameObject); if (Overlap && PlayerValues.GetPlayer(0) != null) { PlayerValues.GetPlayer(0).GetComponent <PlayerMovement>().enabled = true; } if (Overlap2 && PlayerValues.GetPlayer(1) != null) { PlayerValues.GetPlayer(1).GetComponent <PlayerMovement>().enabled = true; } }
public void Fire() { int ownerID = pickUpManagerReference.GetCurrentPickupOwner(); PlayerValues Target = PlayerValues.GetPlayer(ownerID == 0 ? 1 : 0); if (Target == null) { return; } for (int i = 0; i < missileCount; ++i) { GameObject instance = Instantiate(missilePrefab, PlayerValues.GetPlayer(ownerID).transform.position, Quaternion.identity); Vector2 startVelocity = Quaternion.Euler(0, 0, Random.Range(0, 360)) * (Vector2.up * missileSpeed); activeMissiles.Add(new Missile { MissileObj = instance, OwnerID = ownerID, TargetID = Target.Id, Velocity = startVelocity, Collider = instance.GetComponent <CircleCollider2D>(), SpawningID = SpawnCounter }); } SpawnCounter++; }
void Update() { for (int i = 0; i < activeMissiles.Count; ++i) { activeMissiles[i].LifeTimeConter += Time.deltaTime; if (activeMissiles[i].LifeTimeConter > MissileLifeTime) { missileIdToDestroy.Add(activeMissiles[i].SpawningID); } Transform targetTransform = PlayerValues.GetPlayer(activeMissiles[i].TargetID)?.transform; if (targetTransform != null) { Vector2 targetDir = targetTransform.position - activeMissiles[i].MissileObj.transform.position; Vector2 velocityDelta = Vector2.zero; activeMissiles[i].Velocity = Vector2.SmoothDamp(activeMissiles[i].Velocity, (targetDir).normalized * missileSpeed, ref velocityDelta, velocitySmoothTime); } activeMissiles[i].MissileObj.transform.position += (Vector3)activeMissiles[i].Velocity * Time.deltaTime; RaycastHit2D hit = Physics2D.CircleCast(activeMissiles[i].MissileObj.transform.position, activeMissiles[i].Collider.radius, activeMissiles[i].Velocity.normalized, activeMissiles[i].Velocity.magnitude * Time.deltaTime, collisionLayers); if (hit.collider != null) { PlayerValues Player = hit.collider.GetComponent <PlayerValues>(); if (Player != null && Player.Id != activeMissiles[i].OwnerID) { Player.Die(); missileIdToDestroy.Add(activeMissiles[i].SpawningID); } } } for (int i = activeMissiles.Count - 1; i >= 0; i--) { if (missileIdToDestroy.Contains(activeMissiles[i].SpawningID)) { Destroy(activeMissiles[i].MissileObj); activeMissiles.RemoveAt(i); } } missileIdToDestroy.Clear(); }
void PopBubble(bool killPlayer) { if (popped) { return; } popped = true; if (killPlayer) { if (Overlap) { PlayerValues.GetPlayer(0)?.Die(); } if (Overlap2) { PlayerValues.GetPlayer(1)?.Die(); } } else { if (Overlap && PlayerValues.GetPlayer(0) != null) { PlayerValues.GetPlayer(0).GetComponent <PlayerMovement>().enabled = true; } if (Overlap2 && PlayerValues.GetPlayer(1) != null) { PlayerValues.GetPlayer(1).GetComponent <PlayerMovement>().enabled = true; } } if (animatorbubble != null) { animatorbubble.SetBool("Destroyed", true); } //Destroy(this); //Destroy(transform.root.gameObject, 5f); }
void Update() { //Movement parent.transform.Translate(0, moveSpeed * Time.deltaTime, 0); //Wiggle Vector3 position = parent.transform.position; position.x = xOrigin + maxXDelta * Mathf.Sin((timeAlive += Time.deltaTime * xSpeed)); parent.transform.position = position; if (Overlap && PlayerValues.GetPlayer(0) == null) { return; } if (Overlap2 && PlayerValues.GetPlayer(1) == null) { return; } if (Overlap) { //PlayerValues.GetPlayer(0).transform.position = gameObject.transform.position; Vector3 positionDelta = Vector3.zero; PlayerValues.GetPlayer(0).transform.position = Vector3.Lerp(PlayerValues.GetPlayer(0).transform.position, transform.position, 30 * Time.deltaTime);//Vector3.SmoothDamp(PlayerValues.GetPlayer(0).transform.position, transform.position, ref positionDelta, PlayerPositionSmoothingTime, float.MaxValue, Time.deltaTime); if (PlayerValues.GetPlayer(0).transform.position.y > KillY) { PopBubble(true); return; } } if (Overlap2) { //PlayerValues.GetPlayer(1).transform.position = gameObject.transform.position; Vector3 positionDelta = Vector3.zero; PlayerValues.GetPlayer(1).transform.position = Vector3.Lerp(PlayerValues.GetPlayer(1).transform.position, transform.position, 30 * Time.deltaTime);//Vector3.SmoothDamp(PlayerValues.GetPlayer(1).transform.position, transform.position, ref positionDelta, PlayerPositionSmoothingTime, float.MaxValue, Time.deltaTime); if (PlayerValues.GetPlayer(1).transform.position.y > KillY) { PopBubble(true); return; } } //Breaking bubble if (Overlap) { if ((ReInput.players.GetPlayer(0).GetButtonDown("Struggle1") || ReInput.players.GetPlayer(0).GetButtonDown("Struggle2") || ReInput.players.GetPlayer(0).GetButtonDown("Struggle3") || ReInput.players.GetPlayer(0).GetButtonDown("Struggle4"))) { Meter = Meter + 1; PlayerValues.GetPlayer(0).transform.position += (Vector3)Random.insideUnitCircle * maxWiggle; } } if (Overlap2) { if ((ReInput.players.GetPlayer(1).GetButtonDown("Struggle1") || ReInput.players.GetPlayer(1).GetButtonDown("Struggle2") || ReInput.players.GetPlayer(1).GetButtonDown("Struggle3") || ReInput.players.GetPlayer(1).GetButtonDown("Struggle4"))) { Meter2 = Meter2 + 1; PlayerValues.GetPlayer(1).transform.position += (Vector3)Random.insideUnitCircle * maxWiggle; } } if (Meter >= 5) { animatorbubble.SetBool("BubbleHurt", true); } if (Meter >= 10) { animatorbubble.SetBool("BubbleHurt", false); animatorbubble.SetBool("BubbleBreaking", true); } if (Meter >= 15) { animatorbubble.SetBool("BubbleBreaking", false); animatorbubble.SetBool("BubbleBroken", true); } if (Meter2 >= 5) { animatorbubble.SetBool("BubbleHurt", true); } if (Meter2 >= 10) { animatorbubble.SetBool("BubbleHurt", false); animatorbubble.SetBool("BubbleBreaking", true); } if (Meter2 >= 15) { animatorbubble.SetBool("BubbleBreaking", false); animatorbubble.SetBool("BubbleBroken", true); } if (Meter >= 20) { AudioManager.PlaySound("Pop"); animatorbubble.SetBool("Destroyed", true); //PopBubble(false); Meter = 0; print("You broke free"); } if (Meter2 >= 20) { AudioManager.PlaySound("Pop"); animatorbubble.SetBool("Destroyed", true); //PopBubble(false); Meter2 = 0; print("You broke free"); } }