private void Start() { this.collider = base.GetComponent <Collider>(); this.colliders = new List <Collider>(); this.Surface = UnderfootSurfaceDetector.SurfaceType.None; base.InvokeRepeating("ValidateColliders", 1f, 1f); }
private void OnTriggerEnter(Collider other) { UnderfootSurfaceDetector.SurfaceType surfaceType = UnderfootSurfaceDetector.GetSurfaceType(other); if (surfaceType != UnderfootSurfaceDetector.SurfaceType.None) { int i = 0; while (i < this.colliders.Count) { if (this.colliders[i] == null || this.colliders[i] == other) { this.colliders.RemoveAt(i); } else { i++; } } this.colliders.Add(other); this.Surface = surfaceType; } if (other.tag == UnderfootSurfaceDetector.GoreTag) { this.goreColliders.Add(other); } }
private void UpdateSurface() { if (this.colliders.Count > 0) { this.Surface = UnderfootSurfaceDetector.GetSurfaceType(this.colliders[this.colliders.Count - 1]); } else { this.Surface = UnderfootSurfaceDetector.SurfaceType.None; } }