Пример #1
0
    // Update is called once per frame
    void Update()
    {
        if (!active)
        {
            GameObject.Destroy(this.gameObject);
            return;
        }

        if (Input.GetMouseButtonDown(0) && FMODAudioSourceRTE.editing == null)
        {
            RaycastHit rch;
            if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out rch, 2000f, 1 << LayerMask.NameToLayer("PE Environment")))
            {
                FMODAudioSourceRTE castrte = rch.collider.gameObject.GetComponentInParent <FMODAudioSourceRTE>();
                FMODAudioSourceRTE.selected = castrte;
            }
            else
            {
                FMODAudioSourceRTE.selected = null;
            }
        }

        if (Input.GetKeyDown(KeyCode.Delete) && !Application.isEditor ||
            Input.GetKeyDown(KeyCode.Comma) && Application.isEditor)
        {
            savedAudios.Remove(FMODAudioSourceRTE.selected.audioSrc);
            GameObject.Destroy(FMODAudioSourceRTE.selected.gameObject);
            FMODAudioSourceRTE.selected = null;
        }
    }
Пример #2
0
 void OnAudioEdit(FMODAudioSourceRTE rte, bool edit)
 {
     giz_move.Targets.Clear();
     giz_rotate.Targets.Clear();
     if (edit)
     {
         giz_move.Targets.Add(rte.transform);
         giz_rotate.Targets.Add(rte.transform);
     }
 }
Пример #3
0
 void OnDisable()
 {
     if (selected == this)
     {
         selected = null;
         editing  = null;
         if (OnEditingStateChange != null)
         {
             OnEditingStateChange(this, false);
         }
     }
 }
Пример #4
0
    public static void AlterSaveState(FMODAudioSourceRTE rte, bool state)
    {
        FMODAudioSource found = savedAudios.Find(iter => iter == rte.audioSrc);

        if (found == null)
        {
            savedAudios.Add(rte.audioSrc);
            rte.gizmoColor = Color.green;
        }
        else
        {
            savedAudios.Remove(rte.audioSrc);
            rte.gizmoColor = Color.yellow;
        }
    }
Пример #5
0
 void OnDestroy()
 {
     if (selected == this)
     {
         selected = null;
         editing  = null;
         if (OnEditingStateChange != null)
         {
             OnEditingStateChange(this, false);
         }
     }
     GameObject.Destroy(gizmo);
     GameObject.Destroy(bound);
     Material.Destroy(mat);
     Material.Destroy(boundmat);
 }
Пример #6
0
 // Update is called once per frame
 void Update()
 {
     //camDist = Vector3.Distance(Camera.main.transform.position, transform.position);
     listenDist = float.PositiveInfinity;
     if (listener != null)
     {
         listenDist = Vector3.Distance(listener.transform.position, transform.position);
     }
     gizmo.transform.rotation = Camera.main.transform.rotation;
     if (selected == this)
     {
         if (Input.GetKeyDown(KeyCode.E))
         {
             if (editing == this)
             {
                 editing = null;
             }
             else
             {
                 editing = this;
             }
             if (OnEditingStateChange != null)
             {
                 OnEditingStateChange(this, editing == this);
             }
         }
         if (Input.GetKeyDown(KeyCode.KeypadPlus))
         {
             if (OnSave != null)
             {
                 OnSave(this, true);
             }
         }
     }
     mat.color = (selected == this) ? Color.Lerp(gizmoColor, Color.white, 0.8f)
                     : new Color(gizmoColor.r, gizmoColor.g, gizmoColor.b, gizmoColor.a * 0.7f);
     bound.SetActive(boundactive);
 }