// 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;
    }
Beispiel #3
0
 void Start()
 {
     // cacher referanser
     selectedForsvarselement = GetComponent <SelectedForsvarselement>();
 }