//fire beam
    void fireBeam(GameObject emitter, Vector3 target)
    {
        currentBeamScript = emitter.GetComponent <BeamWeapons>();                   //get beam script

        currentBeamScript.onFire(target);                                           //fire beam

        selectedBeamEmitter += 1;                                                   //select next beam emitter
        if (selectedBeamEmitter >= beamEmitters.Length)                             //on overflow select first beam emitter
        {
            selectedBeamEmitter = 0;
        }
    }
    //firing beam weapon
    void fireBeam(GameObject emitter)
    {
        currentBeamScript = emitter.GetComponent <BeamWeapons>();               //get beam script from current emitter

        currentBeamScript.onFire(crossHair.transform.position);                 //fire beam towards crosshair

        selectedBeamEmitter += 1;                                               //select next emitter
        if (selectedBeamEmitter >= beamEmitters.Length)                         //on overflow reset to first emitter
        {
            selectedBeamEmitter = 0;
        }
    }