protected void OnTriggerEnter2D(Collider2D c) { if (c.transform != parent) { if (c.tag == "Monster") { Monster m = c.GetComponent <Monster> (); m.TakeDamage(GetPC().AttackDamage(), parent); if (m.health <= 0f) { m.Death(); } } if (c.gameObject.layer == LayerMask.NameToLayer("Player")) { PlayerControllable pc = c.GetComponent <PlayerControllable> (); if (pc.invulnerable) { return; } float damage = GetPC().AttackDamage(); pc.Damage(damage); pc.KnockBack(((Vector3.right * (c.transform.position.x - transform.position.x)).normalized + Vector3.up).normalized * GetPC().knockback); } Destroy(gameObject); } }
void OnCollisionEnter2D(Collision2D c) { if (c.transform.tag == "Chaser" || c.transform.tag == "Runner") { Vector2 dir = (c.transform.position - transform.position + Vector3.up).normalized; PlayerControllable pc = c.gameObject.GetComponent <PlayerControllable> (); pc.Damage(attackDamage); pc.KnockBack(dir * 10f); } }
public void switchPlayerControl(PlayerControllable playerControllable) { if (curPlayerControllable) { curPlayerControllable.ReleaseControl(true, () => { setCurPlayerControllable(playerControllable); }); } else { setCurPlayerControllable(playerControllable); } }
public void SetControllable(PlayerControllable controllable) { controlling = controllable; controller = controllable.GetComponent <CharacterController>(); if (cameraFollower == null) { cameraFollower = GetComponent <CameraFollower>(); } cameraFollower.target = controllable.cameraTarget; cameraTransform = controllable.cameraTarget.transform; playerStats = controllable.playerStats; if (OnControllableChange != null) { OnControllableChange(controllable); } }
protected override void Awake() { base.Awake(); thisControllable = GetComponent <PlayerControllable>(); }
protected override void OnControllableChange(PlayerControllable controllable) { carSphereRB = controllable.GetComponent <CarController>().carSphere.GetComponent <Rigidbody>(); }
void SetControllable(PlayerControllable c) { controllable = c; playerStats = c.GetComponent <PlayerStats>(); OnControllableChange(c); }
protected virtual void OnControllableChange(PlayerControllable controllable) { }
public void switchPlayerControlToFirstPerson() { PlayerControllable playerControllable = _playerGameObject.GetComponent <PlayerControllable>(); switchPlayerControl(playerControllable); }
private void setCurPlayerControllable(PlayerControllable playerControllable) { curPlayerControllable = playerControllable; curPlayerControllable.TakeControl(); }
protected override void OnControllableChange(PlayerControllable controllable) { staticOffset = controllable.cameraStaticOffset; carSphere = controllable.GetComponent <CarController>().carSphere; }