public void Interact() { Collider[] colliders = Physics.OverlapSphere(Hands.position, GrabRange, WhatCanBeTaken); if (colliders.Length > 0 && canTakeItems && !colliders[0].gameObject.GetComponent <Idol>().onPlayer) { itemInHands = colliders[0].gameObject.GetComponent <Idol>(); canTakeItems = false; if (itemInHands.status == IdolRepairedStatus.broken) { Image.ChangeImageSprite(playerImages.Workbench_1); } if (itemInHands.myPlayerIndex == playerIndex) { if (itemInHands.status == IdolRepairedStatus.repaired) { Image.ChangeImageSprite(playerImages.Altar); } else if (itemInHands.level == 2) { if (itemInHands.status == IdolRepairedStatus.broken) { Image.ChangeImageSprite(playerImages.Workbench_1); } else if (itemInHands.status == IdolRepairedStatus.semiBroken) { Image.ChangeImageSprite(playerImages.Workbench_2); } else if (itemInHands.status == IdolRepairedStatus.repaired) { Image.ChangeImageSprite(playerImages.Altar); } } } else { if (itemInHands.status != IdolRepairedStatus.broken) { Image.ChangeImageSprite(playerImages.Workbench_3); } } Pedestal pedestal = itemInHands.transform.parent.GetComponent <Pedestal>(); if (pedestal != null) { pedestal.isOccupied = false; } Altar altar = itemInHands.transform.parent.GetComponent <Altar>(); if (altar != null) { altar.ResetAltar(); } Image.ChangeImageState(); itemInHands.transform.parent = transform; itemInHands.transform.position = new Vector3(transform.position.x, transform.position.y + selfCollider.height, transform.position.z); itemInHands.onPlayer = true; audioSource.clip = audioFx.iteraction; audioSource.Play(); } }