private void OnTriggerExit2D(Collider2D collision) { if (collision.tag.Equals("Item")) { Item item = MyGameManager.Instance.getItem(collision.gameObject); if (capsuleCollider2D.IsTouching(collision)) { return; } if (item != null) { curItems.Remove(item); } updateHighlighted(); } if (collision.tag.Equals("Task")) { Task task = MyGameManager.Instance.getTask(collision.gameObject); if (capsuleCollider2D.IsTouching(collision)) { return; } if (task != null) { curTasks.Remove(task); } updateHighlighted(); } }
public void StrikeCurrentTarget(float damage) { if (player && enemyCapsuleCollider2D.IsTouching(player.GetComponent <CapsuleCollider2D>())) { player.GetComponent <PlayerHealth>().TakeDamage(damage); } }
// Update is called once per frame void Update() { uninfected = 0; foreach (GameObject player in Players) { if (!player.GetComponent <TaggingManager>().tagged) { uninfected++; } } if (uninfected == 1 || ((timer.time / 60) <= 1 && (timer.time % 60) <= 30)) { this.GetComponent <SpriteRenderer>().sprite = RedButton; for (int i = 0; i < Players.Length; i++) { if (!Players[i].GetComponent <TaggingManager>().tagged) { capsul2D = playerColliders[i]; } } if (capsul2D.IsTouching(GetComponent <CircleCollider2D>())) { winState.playerWinFlag = true; timer.stopTimer = true; timerText.text = "Players Win!"; StartCoroutine(LoadScene()); } } }
// Update is called once per frame void Update() { if (playerCollider.IsTouching(transitionerCollider)) { changer.FadeToNextLevel(); } }
// Update is called once per frame void Update() { if (coin.IsTouching(player)) { GetCoin(); } }
private void OnTriggerEnter2D(Collider2D collision) { if (playerCollider.IsTouching(collision) && collision.tag == "Coins") { Destroy(collision.gameObject); FindObjectOfType <GameController>().CoinCollection(); } }
// Update is called once per frame void Update() { if (player.IsTouching(dog)) { new_Controller.health += -1; Debug.Log(new_Controller.health); } }
private void OnCollisionStay2D(Collision2D collision) { if (hurtingCollider.IsTouching(playerCollider) && playerCollider.GetComponent <PlayerController>().wasHurt == false) { playerCollider.GetComponent <PlayerController>().HurtPlayer(); playerCollider.GetComponent <Rigidbody2D>().MovePosition((Vector2)playerCollider.transform.position + forceToAdd); playerCollider.GetComponent <Rigidbody2D>().velocity = Vector2.zero; } }
internal void OnTriggerStay2D(Collider2D collision) { // Sees Player if (detectionRange.IsTouching(collision)) { if (collision.gameObject.CompareTag("Player")) { seesPlayer = true; } } }
// Update is called once per frame void Update() { for (int i = 0; i < otherPlayers.Length; i++) { if (capsule2D.IsTouching(otherPlayers[i].GetComponent <CapsuleCollider2D>()) && otherPlayers[i].GetComponent <TaggingManager>().tagged) { this.tagged = true; GetComponent <SpriteRenderer>().color = Color.red; } } }
void checkIfAttack(CapsuleCollider2D capsule) { if (capsule.IsTouching(player.GetComponent <CircleCollider2D>())) { if (!isAttacking) { isAttacking = true; animation.SetTrigger("IsAttacking"); Attack(); } } }
private void OnTriggerEnter2D(Collider2D collision) { if (vulnerability) { if (myBodyCollider.IsTouchingLayers(LayerMask.GetMask("Enemy")) && !(GameObject.Find("Player").transform.position.y >= collision.transform.position.y)) { PlayerInjured(); } else if (myBodyCollider.IsTouchingLayers(LayerMask.GetMask("Enemy")) && GameObject.Find("Player").transform.position.y >= collision.transform.position.y) { FindObjectOfType <EnemyMovement>().killEnemy(collision.gameObject); } else if (myBodyCollider.IsTouchingLayers(LayerMask.GetMask("Slippery Enemy"))) { PlayerInjured(); } // Box Boss Damage if (GameObject.Find("BoxBoss") != null) { if (myBodyCollider.IsTouching(FindObjectOfType <BoxBoss>().receiveDamageCollider)) { FindObjectOfType <BoxBoss>().TakeDamage(5); Debug.Log("Cause Damage 5"); } else if (myBodyCollider.IsTouching(FindObjectOfType <BoxBoss>().causeDamageCollider)) { PlayerInjured(); Debug.Log("Take Damage"); } } } else if (vulnerability == false) { if (myBodyCollider.IsTouchingLayers(LayerMask.GetMask("Enemy")) && collision.gameObject.CompareTag("Enemy")) { FindObjectOfType <EnemyMovement>().killEnemy(collision.gameObject); } } }
public void OnCrateCollision() { int size = crateArray.Length; for (int i = 0; i < size; i++) { if (playerCollider.IsTouching(crateArray[i])) { isGrabbing = true; grabbedCrate = crateArray[i]; } } }
private void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject == cc2d.IsTouching(collision.collider)) { jump = false; jumpchance = false; isGround = true; animator.SetBool("Player_Down", false); } if (collision.gameObject.layer == 11 || collision.gameObject.layer == 13) //Layer No.11 is Monster, No.13 PassBottomMonster { GameOver(); } }
private void BasicAttack() { basicAttack.SetActive(true); basicAttackTimer = basicAttackTimerReset; foreach (string s in damagable) { foreach (GameObject g in GameObject.FindGameObjectsWithTag(s)) { if (g.PrimaryCollider().enabled&& basicAttackRange.IsTouching(g.PrimaryCollider())) { g.PrimaryController().Damage(2); } } } }
void Update() { if (player_collider.IsTouching(object_collider)) { if (!button.activeSelf) { button.SetActive(true); } } else { if (button.activeSelf) { button.SetActive(false); } } }
// Removes bogies, that have gone stale i.e the last contact is longer ago than timeout parameter private void TimeOutBogies() { int removed = 0; // Debug.Log("Bogies before: " + radarBogies.Count); ContactFilter2D filter = new ContactFilter2D(); switch (teamSide) { case TeamManager.TeamSide.green: filter.SetLayerMask(redLayerMask); break; case TeamManager.TeamSide.red: filter.SetLayerMask(greenLayerMask); break; } if (radarState == RadarState.wide || radarState == RadarState.narrow) { for (int i = 0; i < radarBogies.Count; i++) { bool touchingRadar = false; if (radarBogies[i].bogieObject != null) { touchingRadar = radarCollider.IsTouching(radarBogies[i].bogieObject.GetComponent <PolygonCollider2D>()); if (!touchingRadar) { removed++; radarBogies.RemoveAt(i); } } } } else { radarBogies.Clear(); } // Debug.Log("removed: " + removed + " nrOfBogies: " + radarBogies.Count); }
IEnumerator ActivateShield() { shieldIsActive = true; shield.enabled = true; canActivateShield = false; yield return(new WaitForSecondsRealtime(shieldOnTime)); shield.enabled = false; shieldIsActive = false; foreach (var enemy in GameObject.FindGameObjectsWithTag("enemy")) { if (ginaCollider.IsTouching(enemy.GetComponent <BoxCollider2D>())) { playerDeath(); } } yield return(new WaitForSecondsRealtime(shieldCoolDown)); canActivateShield = true; }
void Update() { if (player.isPaused == false) { if (player_collider.IsTouching(object_collider)) { if (!button.activeSelf) { quest_marker.SetActive(false); button.SetActive(true); } } else { if (button.activeSelf) { quest_marker.SetActive(true); button.SetActive(false); } } } }
private void OnTriggerEnter2D(Collider2D collision) { GameObject dog = collision.gameObject; if (collision.gameObject.tag == "Dog" && bc.IsTouching(dog.GetComponent <BoxCollider2D>())) { Dog ricky = dog.GetComponent <Dog>(); ricky.FinishAttack(); Destroy(gameObject); } else if (collision.gameObject.tag == "Player") { GameObject player = GameObject.FindGameObjectWithTag("Player"); Vector2 vecToPlayer = new Vector2(); vecToPlayer.x = rb.position.x - player.transform.position.x; vecToPlayer.y = rb.position.y - player.transform.position.y; float collisionAngle = Vector2.Angle(transform.up, vecToPlayer); player.GetComponent <PlayerPlatformerController>().TossPlayer(vecToPlayer); player.GetComponent <PlayerPlatformerController>().LoseLife(); } }
private IEnumerator Charge(float distance, float chargeSpeed = 0.25f) { charging = true; dealtDamage = false; yield return(new WaitForSeconds(0.4f)); //0.4 sec delay Vector2 direction = (Global.player.transform.position - transform.position).normalized; Vector2 chargeEnd = (Vector2)transform.position + direction * distance; yield return(new WaitForSeconds(0.3f)); //0.3 sec to dodge after aiming RaycastHit2D[] hits; while (Vector2.Distance(transform.position, chargeEnd) > Mathf.Epsilon) { int divide = 20; //divide the distance into n parts to prevent passing through walls for (int i = 0; i < divide; i++) { hits = Physics2D.CapsuleCastAll((Vector2)transform.position + col.offset, col.bounds.size, col.direction, 0.0f, direction, chargeSpeed / divide); if (hits.Any(hit => hit.collider.gameObject.tag == "Wall")) //collided with a wall { charging = false; yield break; } transform.position = Vector2.MoveTowards(transform.position, chargeEnd, chargeSpeed / divide); if (!dealtDamage && col.IsTouching(Global.player.GetComponent <CapsuleCollider2D>())) { //if this charge hits the player, deal damage to player dealtDamage = true; Global.player.GetComponent <PlayerStats>().DealDamage(GetComponent <EnemyStats>().damage); } } transform.position = new Vector3(transform.position.x, transform.position.y, transform.position.y); yield return(null); } charging = false; }
// Update is called once per frame void Update() { if (armCol.IsTouching(playerCap)) { Physics2D.IgnoreCollision(armCol, playerCap); } // Arm Rotate if (playMove.isKeyboard) { if (Input.GetKey(KeyCode.I)) { transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.Euler(0, 0, rightAngleMax * Mathf.Sin(Time.deltaTime * rotateSpeed)), rotateSpeed * Time.deltaTime); armObj.GetComponent <SpriteRenderer>().color = Color.green; } else if (Input.GetKey(KeyCode.P)) { transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.Euler(0, 0, leftAngleMax * Mathf.Sin(Time.deltaTime * rotateSpeed)), rotateSpeed * Time.deltaTime); armObj.GetComponent <SpriteRenderer>().color = Color.green; } else { armObj.GetComponent <SpriteRenderer>().color = Color.white; } } // Ball // Hold if (Input.GetKey(KeyCode.Space) && ballCS.isTouchingHand) { ballRig.GetComponent <Rigidbody2D>().simulated = false; grabed = true; ballCS.gameObject.transform.position = new Vector2(handObj.transform.position.x + 0.5f, handObj.transform.position.y + 0.5f); ballCS.gameObject.transform.parent = handObj.transform; } if (Input.GetKeyUp(KeyCode.Space)) // throw { throwBall = true; ballCS.gameObject.transform.parent = null; ballRig.GetComponent <Rigidbody2D>().simulated = true; } if (ballCS.isTouchingHand) { if (grabed) { if (throwBall) { print("Throw New"); ballRig.AddForce(new Vector2(125, 75)); //ballRig.GetComponent<Rigidbody2D>().AddForce(new Vector2(75f, 10)); throwBall = false; grabed = false; } } } }
// Update is called once per frame void Update() { if (isDead) { return; } if (!_collider.IsTouching(bubbleCollider)) { currentAir -= airDrainRate * Time.deltaTime; if (currentAir <= 0) { StartCoroutine(Die()); } else { airMeter.value = currentAir; } } else { currentAir += airDrainRate * 50 * Time.deltaTime; if (currentAir >= maxAir) { currentAir = maxAir; } airMeter.value = currentAir; } if (canMove) { horizontalInput = Input.GetAxis("Horizontal"); verticalInput = Input.GetAxis("Vertical"); /*if (canMoveVertically) * { * verticalInput = Input.GetAxis("Vertical"); * * }*/ } else { horizontalInput = 0; verticalInput = 0; } if (horizontalInput != 0) { transform.localScale = new Vector3(Mathf.Sign(horizontalInput), 1, 1); } _rigidbody.velocity = new Vector2(horizontalInput * movementSpeed, verticalInput * movementSpeed); if (hasObjectInHands) { CarryObject(); } /*else if (Input.GetKey(KeyCode.Space) && !hasObjectInHands) * { * TryPickUpItem(); * }*/ else if ((this.FocusedObject != null) && Input.GetKey(KeyCode.Space)) { if (this.FocusedObject.TryGetComponent <InteractableItem>(out InteractableItem interactable)) { if (interactable.canInteract) { interactable.Interact(); } } else if (this.FocusedObject.TryGetComponent <LiftableObject>(out LiftableObject liftable)) { this.TryPickUpItem(liftable); } else { Debug.LogError($"{name}: the focued object is rrelevant! ({FocusedObject})"); } this.SetFocusOn(null); /* #outline * this.SetFocuedOutline(false); */ } /* #scan * if(Input.GetKeyDown(KeyCode.Space) && !hasObjectInHands) * { * foreach (var button in interactableItemsInScene) * { * if (Vector2.Distance(transform.position, button.transform.position) < interactRadius || _collider.IsTouching(button.GetComponent<Collider2D>())) * { * currentButton = button; * currentButton.Interact(); // TODO: <this * break; * } * } * * currentButton = null; * } */ _animator.SetFloat("horizontalInput", Mathf.Abs(horizontalInput)); _animator.SetFloat("verticalInput", Mathf.Abs(verticalInput)); if ((Mathf.Abs(horizontalInput) > 0.1f || Mathf.Abs(verticalInput) > 0.1f) && !_particleSystem.isPlaying) { _particleSystem.Play(); } else if (_particleSystem.isPlaying && !((Mathf.Abs(horizontalInput) > 0.1f || Mathf.Abs(verticalInput) > 0.1f))) { _particleSystem.Stop(); } }
// Update is called once per frame void Update() { if (isDead) { return; } if (!_collider.IsTouching(bubbleCollider)) { currentAir -= airDrainRate * Time.deltaTime; if (currentAir <= 0) { StartCoroutine(Die()); } else { airMeter.value = currentAir; } } else { currentAir += airDrainRate * 50 * Time.deltaTime; if (currentAir >= maxAir) { currentAir = maxAir; } airMeter.value = currentAir; } if (canMove) { horizontalInput = Input.GetAxis("Horizontal"); verticalInput = Input.GetAxis("Vertical"); /*if (canMoveVertically) * { * verticalInput = Input.GetAxis("Vertical"); * * }*/ } else if (!levelFinished) { horizontalInput = 0; verticalInput = 0; } if (horizontalInput != 0) { transform.localScale = new Vector3(Mathf.Sign(horizontalInput), 1, 1); } _rigidbody.velocity = new Vector2(horizontalInput * movementSpeed, verticalInput * movementSpeed); if (hasObjectInHands) { CarryObject(); } /*else if (Input.GetKey(KeyCode.Space) && !hasObjectInHands) * { * TryPickUpItem(); * }*/ else if (this.FocusedObject != null) { if (this.FocusedObject.TryGetComponent <InteractableItem>(out InteractableItem interactable) && Input.GetKeyDown(KeyCode.Space)) { if (interactable.canInteract) { interactable.Interact(); this.SetFocusOn(null); } } else if (this.FocusedObject.TryGetComponent <LiftableObject>(out LiftableObject liftable) && Input.GetKey(KeyCode.Space)) { this.TryPickUpItem(liftable); this.SetFocusOn(null); } }
// Update is called once per frame void Update() { if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow) || joystick.Horizontal < -xDead) { direction = 'L'; transform.localScale = new Vector3(-1, 1, 1); rb.AddForce(new Vector2(-RunForce, 0)); animr.SetInteger("animState", 1); } else if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow) || joystick.Horizontal > xDead) { direction = 'R'; transform.localScale = new Vector3(1, 1, 1); rb.AddForce(new Vector2(RunForce, 0)); animr.SetInteger("animState", 1); } else { //direction = 'N'; animr.SetInteger("animState", 0); } if (Input.GetKeyDown(KeyCode.Space)) { Jump(); onGround = false; } if (Input.GetKeyDown(KeyCode.RightControl) || Input.GetKeyDown(KeyCode.LeftControl)) { FireWeapon(); } if (onRamp) { rb.AddForce(new Vector2(0, rampForce)); } if (cap.IsTouching(ground)) { onGround = true; } else { if (onPlatform == false) { onGround = false; } } if (onGround == false) { if (onRamp == false) { animr.SetInteger("animState", 0); } rb.velocity *= new Vector2(0.995f, 1.0f); } else { } }