void Start() { FinishArea = FindObjectOfType<FinishArea>(); plMotor = FindObjectOfType<PlayerMotor>(); SpawnPlayer(); }
public virtual void HandleCollide(Collider collider, ControllerColliderHit hit) { if (collider) { IPoolable obj = collider.GetComponent(typeof(IPoolable)) as IPoolable; if (obj != null) { if (obj is DestroyableObstcle) { HandeleCollide(obj as DestroyableObstcle); } if (obj is PlaceForObstacle) { HandeleCollide(obj as PlaceForObstacle, hit); } if (obj is Rope) { HandeleCollide(obj as Rope); } if (obj is PlaceForDangerZone) { HandeleCollide(obj as PlaceForDangerZone); } if (obj is EnemyAbstract) { HandeleCollide(obj as EnemyAbstract, hit); } if (obj is Bonus) { HandeleCollide(obj as Bonus); } } else { HealthDecrementer health = collider.GetComponent <HealthDecrementer>(); if (health is HealthDecrementer) { if ((health as HealthDecrementer).active) { controller.life.DecreaseHP(); } } FinishArea finish = collider.GetComponent <FinishArea>(); if (finish != null) { Finish(finish); } } } }
protected virtual void Finish(FinishArea finish) { controller.SetState(new FinishState(controller)); }