public void ObjectSelected (MusSelectableObject so) { // check if an exhibit was selected MusExhibit exh = so.GetComponent<MusExhibit>(); if (exh) { // tell player to attach to this exhibit player.walkToExhibit(exh); } }
void CheckCollision() { ShowCursor (true); RaycastHit hitInfo; if (Physics.Raycast(transform.position, cursor.transform.position - transform.position, out hitInfo, selectionRayLength, selectionMask)){ // check if a MusSelectableObject was hit MusSelectableObject so = hitInfo.collider.gameObject.GetComponent<MusSelectableObject>(); if(so && so.IsSelectable) { cursorSpinner.setSelect(true); if(so == lastSelectedSo) { selectionTimer += Time.deltaTime; cursorSpinner.setProgress(selectionTimer/so.selectionTime); } // selection is made if(selectionTimer >= so.selectionTime) { so.SelectionEvent(); } lastSelectedSo = so; } else { selectionTimer = 0; if(lastSelectedSo != null) lastSelectedSo = null; // TODO zeigen dass man nicht selektieren kann? cursorSpinner.setSelect(false); cursorSpinner.setProgress(0f); } } else { selectionTimer = 0; if(lastSelectedSo != null) lastSelectedSo = null; cursorSpinner.setSelect(false); cursorSpinner.setProgress(0f); } }