private void Awake()
        {
            if (loadedData)
            {
                return;
            }

            if (GameIsPlaying())
            {
                bool state = (startState == AC_OnOff.On) ? true : false;

                if (GetComponent <LimitVisibility>())
                {
                    limitVisibility             = GetComponent <LimitVisibility>();
                    limitVisibility.isLockedOff = !state;
                }
                else if (GetComponent <Renderer>())
                {
                    GetComponent <Renderer>().enabled = state;
                }

                if (affectChildren)
                {
                    foreach (Renderer _renderer in GetComponentsInChildren <Renderer>())
                    {
                        _renderer.enabled = state;
                    }
                }
            }
        }
Exemplo n.º 2
0
 /**
  * <summary>Unregisters a LimitVisibility, so that it is no longer updated</summary>
  * <param name = "_object">The LimitVisibility to unregister</param>
  */
 public void Unregister(LimitVisibility _object)
 {
     if (limitVisibilitys.Contains(_object))
     {
         limitVisibilitys.Remove(_object);
     }
 }
Exemplo n.º 3
0
 /**
  * <summary>Registers a LimitVisibility, so that it can be updated</summary>
  * <param name = "_object">The LimitVisibility to register</param>
  */
 public void Register(LimitVisibility _object)
 {
     if (!limitVisibilitys.Contains(_object))
     {
         limitVisibilitys.Add(_object);
     }
 }
Exemplo n.º 4
0
        public override void OnInspectorGUI()
        {
            LimitVisibility _target = (LimitVisibility)target;

            _target.Upgrade();

            int numOptions = _target.limitToCameras.Count;

            numOptions = EditorGUILayout.DelayedIntField("Number of cameras:", _target.limitToCameras.Count);
            if (_target.limitToCameras.Count < 0)
            {
                numOptions = 0;
            }
            if (numOptions < 1)
            {
                numOptions = 1;
            }

            if (numOptions < _target.limitToCameras.Count)
            {
                _target.limitToCameras.RemoveRange(numOptions, _target.limitToCameras.Count - numOptions);
            }
            else if (numOptions > _target.limitToCameras.Count)
            {
                if (numOptions > _target.limitToCameras.Capacity)
                {
                    _target.limitToCameras.Capacity = numOptions;
                }
                for (int i = _target.limitToCameras.Count; i < numOptions; i++)
                {
                    _target.limitToCameras.Add(null);
                }
            }

            for (int i = 0; i < _target.limitToCameras.Count; i++)
            {
                _target.limitToCameras [i] = (_Camera)CustomGUILayout.ObjectField <_Camera> ("Camera #" + i.ToString() + ":", _target.limitToCameras [i], true, "", "An AC _Camera to limit the GameObject's visibility to");
            }

            _target.negateEffect   = CustomGUILayout.Toggle("Negate effect?", _target.negateEffect, "", "If True, then the GameObject will instead be visible when the above cameras are not used");
            _target.affectChildren = CustomGUILayout.Toggle("Affect children too?", _target.affectChildren, "", "If True, then child GameObjects will be affected in the same way");

            UnityVersionHandler.CustomSetDirty(_target);
        }
Exemplo n.º 5
0
        public override float Run()
        {
            bool state = false;

            if (visState == VisState.Visible)
            {
                state = true;
            }

            if (runtimeObToAffect != null)
            {
                LimitVisibility limitVisibility = runtimeObToAffect.GetComponent <LimitVisibility>();
                if (limitVisibility)
                {
                    limitVisibility.isLockedOff = !state;
                }
                else
                {
                    Renderer renderer = runtimeObToAffect.GetComponent <Renderer>();
                    if (renderer)
                    {
                        renderer.enabled = state;
                    }
                    else
                    {
                        Canvas canvas = runtimeObToAffect.GetComponent <Canvas>();
                        if (canvas)
                        {
                            canvas.enabled = state;
                        }
                    }
                }

                if (affectChildren)
                {
                    foreach (Renderer _renderer in runtimeObToAffect.GetComponentsInChildren <Renderer>())
                    {
                        _renderer.enabled = state;
                    }
                }
            }

            return(0f);
        }
Exemplo n.º 6
0
        public override void OnInspectorGUI()
        {
            LimitVisibility _target = (LimitVisibility)target;

            _target.Upgrade();

            int numOptions = _target.limitToCameras.Count;

            numOptions = EditorGUILayout.IntField("Number of cameras:", _target.limitToCameras.Count);
            if (_target.limitToCameras.Count < 0)
            {
                numOptions = 0;
            }
            if (numOptions < 1)
            {
                numOptions = 1;
            }

            if (numOptions < _target.limitToCameras.Count)
            {
                _target.limitToCameras.RemoveRange(numOptions, _target.limitToCameras.Count - numOptions);
            }
            else if (numOptions > _target.limitToCameras.Count)
            {
                if (numOptions > _target.limitToCameras.Capacity)
                {
                    _target.limitToCameras.Capacity = numOptions;
                }
                for (int i = _target.limitToCameras.Count; i < numOptions; i++)
                {
                    _target.limitToCameras.Add(null);
                }
            }

            for (int i = 0; i < _target.limitToCameras.Count; i++)
            {
                _target.limitToCameras [i] = (_Camera)EditorGUILayout.ObjectField("Camera #" + i.ToString() + ":", _target.limitToCameras [i], typeof(_Camera), true);
            }

            _target.affectChildren = EditorGUILayout.Toggle("Affect children too?", _target.affectChildren);

            UnityVersionHandler.CustomSetDirty(_target);
        }
Exemplo n.º 7
0
 /**
  * <summary>Unregisters a LimitVisibility, so that it is no longer updated</summary>
  * <param name = "_object">The LimitVisibility to unregister</param>
  */
 public void Unregister(LimitVisibility _object)
 {
     limitVisibilitys.Remove(_object);
 }
Exemplo n.º 8
0
 /**
  * <summary>Registers a LimitVisibility, so that it can be updated</summary>
  * <param name = "_object">The LimitVisibility to register</param>
  */
 public void Register(LimitVisibility _object)
 {
     limitVisibilitys.Add(_object);
 }
Exemplo n.º 9
0
        private void Awake()
        {
            if (GameIsPlaying ())
            {
                bool state = false;
                if (startState == AC_OnOff.On)
                {
                    state = true;
                }

                if (GetComponent <LimitVisibility>())
                {
                    limitVisibility = GetComponent <LimitVisibility>();
                    limitVisibility.isLockedOff = !state;
                }
                else if (GetComponent <Renderer>())
                {
                    GetComponent <Renderer>().enabled = state;
                }

                if (affectChildren)
                {
                    foreach (Renderer _renderer in GetComponentsInChildren <Renderer>())
                    {
                        _renderer.enabled = state;
                    }
                }
            }
        }