public void RemoveLadder() { PhysicsColliderEnabled = true; if (LadderBlock == this) { LadderBlock = null; } Destroy(_ladderOverlay); _ladderOverlay = null; }
void SetHazardBlocksEnabled(bool enable) { Vector3 startPos = transform.position; Vector3 endPos = destination.transform.position; float distance = Vector3.Distance(startPos, endPos); RaycastHit[] hits = Physics.RaycastAll(startPos, endPos - startPos, distance); foreach (var hit in hits) { HazardBlock hb = hit.collider.GetComponent <HazardBlock>(); if (hb != null) { hb.PhysicsColliderEnabled = enable; } } }
void LayDownLadder(Vector3 rotation) { if (LadderBlock != null) { LadderBlock.RemoveLadder(); } PhysicsColliderEnabled = false; LadderBlock = this; _ladderOverlay = Instantiate(ladderOverlayPrefab) as GameObject; Transform t = _ladderOverlay.transform; t.SetParent(transform); t.localPosition = 0.05f * Vector3.up; t.Rotate(rotation); }