// Use this for initialization void Start() { if (movement == null) { movement = GetComponent <CharacterMovement>(); } if (elementBending == null) { elementBending = GetComponent <ElementBending>(); } }
void ResolveInteraction(ElementBending other, EResult result) { if (result == EResult.B_Damage) { other.GetComponent <PlayerData>().Die(parent); other.ResetStates(); } else if (result == EResult.B_Buff) { //Debug.Log("buff"); other.PlayerIsBuffed = true; other.ChangeAura(); } else { AudioManager.Instance.PlaySound("Miss"); other.ResetStates(); } }
private void OnTriggerEnter(Collider other) { if (hit) { return; } if (other.CompareTag("Player")) { ElementBending otherPlayerElement = other.GetComponent <ElementBending>(); //Debug.Log(type + " x " + otherPlayerElement.ElementType); ResolveInteraction(otherPlayerElement, Conflic.GetProjectileResult(type, otherPlayerElement.ElementType, buffed, otherPlayerElement.PlayerIsBuffed)); Spawner._count -= 1; Destroy(this.gameObject); } else { Signals.Get <HitWall>().Dispatch(this); hit = true; } }
void PickElement(ElementBending bend) { if (bend.ElementType != EType.Neutral) { return; } int gix = GetTileX(bend.transform.position.x); int giy = GetTileY(bend.transform.position.z); TileCell tileCell = _map[gix, giy].GetComponent <TileCell>(); EType ele = tileCell._elementType; tileCell._elementType = EType.Neutral; bend.ElementType = ele; if (ele != EType.Neutral) { bend.animator.SetTrigger("Receive"); } if (tileCell._elementVisual) { if (tileCell._elementVisual.GetComponent <ElementAnimation>()) { tileCell._elementVisual.GetComponent <ElementAnimation>().InstantiateAnimation(); } tileCell._elementVisual = null; } if (bend.ElementType != EType.Neutral) { bend.elementalPickup = 0.0f; } }
public void Start() { elementModel = GetComponent <ElementBending>(); ChangeType(); StartCoroutine(_timer()); }