void Update() { if (bodyIsBeingAttracted && lerpPct < 1 && isActive) { // interpolate the body from start to end. AttractedBody.transform.position = Vector3.Lerp(startPosition, end.position, lerpPct); AttractedBody.transform.rotation = Quaternion.Lerp(startRotation, end.rotation, lerpPct); // updating the position using a time scale. lerpPct += Time.deltaTime / transitionTime; } else { // enabling custom gravity once again. if (lerpPct >= 1 && AttractedBodyGravityScript) { AttractedBodyGravityScript.EnableVelocity(true); AttractedBodyGravityScript = null; } // reseting default values. lerpPct = 0; bodyIsBeingAttracted = false; } }
void OnTriggerEnter(Collider other) { if (!isActive) { return; } AttractedBody = other.gameObject; // computing the point nearest to the player. float nearA = (AttractedBody.transform.position - pointA.position).sqrMagnitude; float nearB = (AttractedBody.transform.position - pointB.position).sqrMagnitude; // the player will be teleported to the nearest point. // for the start pos we do not use a transform because if the player // transform is copied then the start point updates with the player position. startPosition = AttractedBody.transform.position; startRotation = AttractedBody.transform.rotation; end = nearA > nearB ? pointA : pointB; // start lerping the player toward the other point. bodyIsBeingAttracted = true; // deactivate gravity script for the player. NPlayerController PlayerGravityScript = AttractedBody.GetComponent <NPlayerController>(); if (PlayerGravityScript) { AttractedBodyGravityScript = PlayerGravityScript; AttractedBodyGravityScript.EnableVelocity(false); } }
void OnCollisionEnter2D(Collision2D collision) { NPlayerController np = collision.collider.gameObject.GetComponent <NPlayerController>(); NWeapon w = collision.collider.gameObject.GetComponent <NWeapon>(); if (np != null) { if (!np.GetMovementBool("pushed")) { np.HitByAir(-collision.contacts[0].normal); } if (!collided) { IEnumerator coroutine = Explosion(false); StartCoroutine(coroutine); } } if (w != null) { w.HitByAir(-collision.contacts[0].normal, wielder); if (!collided) { IEnumerator coroutine = Explosion(false); StartCoroutine(coroutine); } } else if (collision.collider.gameObject.layer.Equals(LayerMask.NameToLayer("Platforms"))) { if (!collided) { IEnumerator coroutine = Explosion(true); StartCoroutine(coroutine); } } }
public override void SetWielder(NPlayerController n, Player j) { // Set wielder base.SetWielder(n, j); // Set state variables held = true; decelerating = false; falling = false; activeWeapon = true; animator.SetBool("gathering", true); animator.SetBool("collided", false); _activeTime = activeTime; // Set reference variables rb.simulated = true; rb.gravityScale = 0f; cc.enabled = true; cc.isTrigger = true; // Move to character Vector3 pct = wielder.transform.position; transform.position = new Vector3(pct.x + 0.5f, pct.y + 0.5f, pct.z); orbit = transform.position; }
public override void HitByAir(Vector2 normal, NPlayerController wielder) { base.HitByAir(normal, wielder); Physics2D.IgnoreCollision(cc, this.wielder.GetCollider(), false); Physics2D.IgnoreCollision(cc, wielder.GetCollider(), true); this.wielder = wielder; rb.velocity = normal * speed; }
private void Awake() { if (instance != null) { Debug.Log("Multiple NPlayerController. Something went wrong"); } instance = this; }
void OnTriggerEnter2D(Collider2D collider) { NPlayerController player = collider.gameObject.GetComponent <NPlayerController>(); if (player != null && player.GetLivingStatus()) { player.DeathBySpikes(horizontal); } }
void OnTriggerEnter2D(Collider2D collider) { NPlayerController player = collider.gameObject.GetComponent <NPlayerController>(); if (player != null) { player.DeathByFalling(); } }
void OnCollisionEnter2D(Collision2D col) { NPlayerController otherPlayer = col.gameObject.GetComponent <NPlayerController>(); if (otherPlayer != null && onFire != null) { otherPlayer.HitByFire(); } }
public NStateInfo(NPlayerController p, Rigidbody2D r, BoxCollider2D b, Player j, Animator ac, SpriteRenderer sr, NStateSO bd) { this.p = p; this.r = r; this.b = b; this.j = j; this.ac = ac; this.sr = sr; this.bd = bd; }
protected virtual void OnTriggerExit2D(Collider2D collider) { NPlayerController np = collider.gameObject.GetComponent <NPlayerController>(); if (np != null) { playersInRange.Remove(collider.gameObject); np.RemoveTotem(); } }
public void RPC_CreateAuctionDialog(PhotonPlayer caller, int propertyID, int viewID) { NPlayer callingPlayer = NPlayerController.FindGamePlayer(caller); NProperty property = NBoardManager.instance.FindProperty(propertyID); GameObject dialog = Instantiate(auctionDialogPrefab); dialog.GetComponent <PhotonView>().viewID = viewID; dialog.GetComponent <NAuctionDialog>().Initialize(callingPlayer, property); }
protected virtual void OnTriggerStay2D(Collider2D collider) { NPlayerController np = collider.gameObject.GetComponent <NPlayerController>(); if (np != null) { playersInRange[collider.gameObject] = np; np.TryAddTotem(this, (np.transform.position - collider.transform.position).magnitude); } }
void OnTriggerEnter2D(Collider2D collider) { NPlayerController player = collider.gameObject.GetComponent <NPlayerController>(); if (player != null) { animator.SetTrigger("activated"); player.Bounce(); } }
protected bool TransitionChecks() { if (GetBool("succed")) { return(player.StateTransition(EState.succ)); } else if (GetBool("ashed")) { return(player.StateTransition(EState.ashes)); } else if (GetBool("spiked")) { return(player.StateTransition(EState.spiked)); } else if (GetBool("pushed")) { return(player.StateTransition(EState.pushed)); } else if (GetBool("bounced")) { return(player.StateTransition(EState.bounced)); } BottomCheck(); NPlayerController otherPlayer = HeadCheck(); if (otherPlayer != null && otherPlayer.GetLivingStatus()) { otherPlayer.DeathBySpikes(false); SetBool("doubled", false); player.TrySpawnAir(); return(player.StateTransition(EState.boinked)); } else if (GroundCheck()) { if (GroundCheck()) { if (IceCheck()) { return(player.StateTransition(EState.slipped)); } return(player.StateTransition(EState.normal)); } } else if (jumpLockoutFrames <= 0 && !slamButton) { return(player.StateTransition(EState.airborne)); } return(false); }
void OnTriggerEnter2D(Collider2D collider) { NPlayerController np = collider.gameObject.GetComponent <NPlayerController>(); NWeapon w = collider.gameObject.GetComponent <NWeapon>(); if (np != null && np != wielder) { np.HitByFire(); } else if (w != null) { w.HitByFire(); } }
protected NPlayerController HeadCheck() { foreach (RaycastHit2D hit in hits) { if (hit.collider != null) { NPlayerController otherPlayer = hit.collider.gameObject.GetComponent <NPlayerController>(); if (otherPlayer != null && otherPlayer != player && otherPlayer.GetLivingStatus()) { return(otherPlayer); } } } return(null); }
// mode: 0.Trader 1.Tradee 2.Others public void Initialize(PhotonPlayer trader, PhotonPlayer tradee, int mode) { if (mode == 0) { offerButton.gameObject.SetActive(true); cancelButton.gameObject.SetActive(true); moneySliderA.interactable = true; moneyTextA.interactable = true; moneySliderB.interactable = true; moneyTextB.interactable = true; } else if (mode == 1) { offerButton.gameObject.SetActive(false); cancelButton.gameObject.SetActive(false); acceptButton.gameObject.SetActive(true); declineButton.gameObject.SetActive(true); } playerA = NPlayerController.FindGamePlayer(trader); playerB = NPlayerController.FindGamePlayer(tradee); // set name texts playerNameA.text = trader.NickName; playerNameB.text = tradee.NickName; // set money sliders moneySliderA.maxValue = playerA.CurrentMoney; moneySliderB.maxValue = playerB.CurrentMoney; // set property list panels for (int i = 0; i < playerA.Properties.Count; i++) { GameObject propertyMiniCard = Instantiate(propertyMiniCardPrefab); propertyMiniCard.transform.SetParent(propertyListA, false); propertyMiniCardsA.Add(propertyMiniCard.GetComponent <NPropertyMiniCard>()); propertyMiniCard.GetComponent <NPropertyMiniCard>().Initialize(playerA.Properties[i], 0, i, (mode == 0)); } for (int i = 0; i < playerB.Properties.Count; i++) { GameObject propertyMiniCard = Instantiate(propertyMiniCardPrefab); propertyMiniCard.transform.SetParent(propertyListB, false); propertyMiniCardsB.Add(propertyMiniCard.GetComponent <NPropertyMiniCard>()); propertyMiniCard.GetComponent <NPropertyMiniCard>().Initialize(playerB.Properties[i], 1, i, (mode == 0)); } }
void OnCollisionEnter2D(Collision2D collision) { NPlayerController np = collision.collider.gameObject.GetComponent <NPlayerController>(); NWeapon w = collision.collider.gameObject.GetComponent <NWeapon>(); if (np != null) { np.HitByWater(); StartCoroutine("Explosion"); } else if (collision.collider.gameObject.layer.Equals(LayerMask.NameToLayer("Platforms"))) { StartCoroutine("Explosion"); } else if (w != null) { w.HitByWater(); } }
public NState(NStateInfo info, EState state) { this.state = state; player = info.p; rb = info.r; bc = info.b; bd = info.bd; ac = info.ac; sr = info.sr; joystick = info.j; freshJumpButton = false; heldJumpButton = false; globalGravityPerFrame = info.bd.globalGravityPerFrame; frozenSlideSpeed = info.bd.frozenSlideSpeed; frozenGravityPerFrame = info.bd.frozenGravityPerFrame; platformsLayer = LayerMask.NameToLayer("Platforms"); }
void OnCollisionEnter2D(Collision2D collision) { NPlayerController np = collision.collider.gameObject.GetComponent <NPlayerController>(); NWeapon w = collision.collider.gameObject.GetComponent <NWeapon>(); if (np != null) { np.HitByFire(); IEnumerator explosion = Explosion(Vector2.Reflect(rb.velocity, collision.contacts[0].normal)); StartCoroutine(explosion); } else if (collision.collider.gameObject.layer.Equals(LayerMask.NameToLayer("Platforms"))) { IEnumerator explosion = Explosion(Vector2.Reflect(lastFrameVelocity, collision.contacts[0].normal)); StartCoroutine(explosion); } else if (w != null) { w.HitByFire(); } }
void OnCollisionEnter2D(Collision2D collision) { NPlayerController np = collision.collider.gameObject.GetComponent <NPlayerController>(); NWeapon w = collision.collider.gameObject.GetComponent <NWeapon>(); if (np != null && np.GetLivingStatus() && np != wielder) { np.HitByEarth(-collision.contacts[0].normal); } if (w != null) { w.HitByEarth(); } else if (collision.collider.gameObject.layer.Equals(LayerMask.NameToLayer("Platforms")) && (wielder != null)) { wielder = null; decelerating = true; falling = true; rb.gravityScale = gravityScale; } }
private IEnumerator CamToPosition(Vector3 dest, float size, NPlayerController player) { if (player != null) { player.Vibrate(1, 0.5f, 0.5f); } while (Vector2.Distance(cam.transform.position, dest) > 0.05f) { cam.transform.position += (dest - cam.transform.position) * 0.125f; if (Mathf.Abs(cam.orthographicSize - size) > 0.05f) { cam.orthographicSize += (size - cam.orthographicSize) * 0.75f; } else { cam.orthographicSize = size; } yield return(new WaitForEndOfFrame()); } cam.transform.position = dest; yield return(new WaitForSeconds(0.6f)); if (cameraQueue.Count > 1) { cameraCoroutine = cameraQueue.Dequeue(); StartCoroutine(cameraCoroutine); } else if (cameraQueue.Count == 1) { cameraCoroutine = cameraQueue.Dequeue(); StartCoroutine(cameraCoroutine); } else { BeginMatch(); } }
void OnCollisionEnter2D(Collision2D collision) { NPlayerController np = collision.collider.gameObject.GetComponent <NPlayerController>(); NWeapon w = collision.collider.gameObject.GetComponent <NWeapon>(); if (np != null && gracePeriod <= 0) { np.HitByPlasma(transform.position); IEnumerator explosion = Explosion(1f, 0.25f); StartCoroutine(explosion); } else if (collision.collider.gameObject.layer.Equals(LayerMask.NameToLayer("Platforms")) && !collided) { IEnumerator explosion = Explosion(1f, 0.25f); StartCoroutine(explosion); } else if (w != null) { NWeaponPlasma wp = collision.collider.gameObject.GetComponent <NWeaponPlasma>(); if (wp != null) { if (transform.localScale.x > wp.transform.localScale.x) { wp.HitByPlasma(transform.position); IEnumerator explosion = Explosion(2f, 0.5f); StartCoroutine(explosion); } } else { w.HitByPlasma(transform.position); IEnumerator explosion = Explosion(0.25f, 0.1f); StartCoroutine(explosion); } } }
public virtual void HitByAir(Vector2 normal, NPlayerController wielder) { }
public override void HitByAir(Vector2 normal, NPlayerController wielder) { base.HitByAir(normal, wielder); }
public virtual void SetWielder(NPlayerController n, Player j) { wielder = n; joystick = j; }