// metode som sjekker om vi trykker på et plassert forsvarselement public void velgForsvarselement() { // lager en raycast fra der musen er på skjermen Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); // holder på der ray'en treffer RaycastHit hit = new RaycastHit(); // hvis raycast treffer et forsvarselement if (Physics.Raycast(ray, out hit, Mathf.Infinity, forsvarselementMask)) { // sjekker om det er det forrige if (forrigeForsvarselement != null) { // den ikke skal være det valgte objektet forrigeForsvarselement.settSomValgt(false); } // hvis objektet er det valgte objektet hit.collider.gameObject.GetComponent <SelectedForsvarselement>().settSomValgt(true); // lagre denne slik at vi vet hvilket som er valgt forrigeForsvarselement = hit.collider.gameObject.GetComponent <SelectedForsvarselement>(); } // hvis vi har et valgt gameobjekt og treffer noe som det ikke er et gui-element else if (forrigeForsvarselement != null && GUIUtility.hotControl == 0) { // den ikke skal være det valgte objektet forrigeForsvarselement.settSomValgt(false); } }
void Start() { // cacher referanser scriptHolder = GameObject.Find("ScriptHolder"); forsvarselement = GetComponent <Forsvarselement>(); selectedForsvarselement = GetComponent <SelectedForsvarselement>(); resetSkytePosisjon = skytePosisjon.position; resetSkytePosisjon.y = skytePosisjon.transform.position.y; }
void Start() { // cacher referanser selectedForsvarselement = GetComponent <SelectedForsvarselement>(); }