Пример #1
0
        /**
         * <summary>Deserialises a string of data, and restores the GameObject to its previous state.</summary>
         * <param name = "stringData">The data, serialised as a string</param>
         */
        public override void LoadData(string stringData)
        {
            VisibilityData data = Serializer.LoadScriptData <VisibilityData> (stringData);

            if (data == null)
            {
                loadedData = false;
                return;
            }

            if (GetComponent <SpriteFader>())
            {
                SpriteFader spriteFader = GetComponent <SpriteFader>();
                if (data.isFading)
                {
                    if (data.isFadingIn)
                    {
                        spriteFader.Fade(FadeType.fadeIn, data.fadeTime, data.fadeAlpha);
                    }
                    else
                    {
                        spriteFader.Fade(FadeType.fadeOut, data.fadeTime, data.fadeAlpha);
                    }
                }
                else
                {
                    spriteFader.EndFade();
                    spriteFader.SetAlpha(data.fadeAlpha);
                }
            }
            else if (GetComponent <SpriteRenderer>() && saveColour)
            {
                Color _color = new Color(data.colourR, data.colourG, data.colourB, data.colourA);
                GetComponent <SpriteRenderer>().color = _color;
            }

            if (GetComponent <FollowTintMap>())
            {
                GetComponent <FollowTintMap>().LoadData(data);
            }

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

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

            loadedData = true;
        }
Пример #2
0
        /**
         * <summary>Serialises appropriate GameObject values into a string.</summary>
         * <returns>The data, serialised as a string</returns>
         */
        public override string SaveData()
        {
            VisibilityData visibilityData = new VisibilityData();

            visibilityData.objectID      = constantID;
            visibilityData.savePrevented = savePrevented;

            if (GetComponent <SpriteFader>())
            {
                SpriteFader spriteFader = GetComponent <SpriteFader>();
                visibilityData.isFading = spriteFader.isFading;
                if (spriteFader.isFading)
                {
                    if (spriteFader.fadeType == FadeType.fadeIn)
                    {
                        visibilityData.isFadingIn = true;
                    }
                    else
                    {
                        visibilityData.isFadingIn = false;
                    }

                    visibilityData.fadeTime      = spriteFader.fadeTime;
                    visibilityData.fadeStartTime = spriteFader.fadeStartTime;
                }
                visibilityData.fadeAlpha = GetComponent <SpriteRenderer>().color.a;
            }
            else if (GetComponent <SpriteRenderer>() && saveColour)
            {
                Color _color = GetComponent <SpriteRenderer>().color;
                visibilityData.colourR = _color.r;
                visibilityData.colourG = _color.g;
                visibilityData.colourB = _color.b;
                visibilityData.colourA = _color.a;
            }

            if (GetComponent <FollowTintMap>())
            {
                visibilityData = GetComponent <FollowTintMap>().SaveData(visibilityData);
            }

            if (limitVisibility)
            {
                visibilityData.isOn = !limitVisibility.isLockedOff;
            }
            else if (GetComponent <Renderer>())
            {
                visibilityData.isOn = GetComponent <Renderer>().enabled;
            }
            else if (affectChildren)
            {
                foreach (Renderer _renderer in GetComponentsInChildren <Renderer>())
                {
                    visibilityData.isOn = _renderer.enabled;
                    break;
                }
            }

            return(Serializer.SaveScriptData <VisibilityData> (visibilityData));
        }
        override public bool CheckCondition()
        {
            if (runtimeObToAffect)
            {
                SpriteFader _spriteFader = runtimeObToAffect.GetComponent <SpriteFader>();
                if (_spriteFader != null && _spriteFader.GetAlpha() <= 0f)
                {
                    return(false);
                }

                Renderer _renderer = runtimeObToAffect.GetComponent <Renderer>();
                if (_renderer != null)
                {
                    switch (checkVisState)
                    {
                    case CheckVisState.InCamera:
                        return(_renderer.isVisible);

                    case CheckVisState.InScene:
                        return(_renderer.enabled);
                    }
                }
                ACDebug.LogWarning("Cannot check visibility of " + runtimeObToAffect.name + " as it has no renderer component");
            }
            return(false);
        }
Пример #4
0
        /**
         * <summary>Creates a new instance of the 'Object: Fade sprite' Action</summary>
         * <param name = "spriteFaderToAffect">The SpriteFader component to affect</param>
         * <param name = "fadeType">The type of fade to perform</param>
         * <param name = "transitionTime">The time, in seconds, to take when transitioning</param>
         * <param name = "waitUntilFinish">If True, then the Action will wait until the transition is complete</param>
         * <returns>The generated Action</returns>
         */
        public static ActionSpriteFade CreateNew(SpriteFader spriteFaderToAffect, FadeType fadeType, float transitionTime = 1f, bool waitUntilFinish = false)
        {
            ActionSpriteFade newAction = (ActionSpriteFade)CreateInstance <ActionSpriteFade>();

            newAction.spriteFader = spriteFaderToAffect;
            newAction.fadeType    = fadeType;
            newAction.fadeSpeed   = transitionTime;
            newAction.willWait    = waitUntilFinish;
            return(newAction);
        }
Пример #5
0
        public override void LoadData(string stringData)
        {
            VisibilityData data = Serializer.LoadScriptData <VisibilityData> (stringData);

            if (data == null)
            {
                return;
            }

            if (GetComponent <SpriteFader>())
            {
                SpriteFader spriteFader = GetComponent <SpriteFader>();
                if (data.isFading)
                {
                    if (data.isFadingIn)
                    {
                        spriteFader.Fade(FadeType.fadeIn, data.fadeTime, data.fadeAlpha);
                    }
                    else
                    {
                        spriteFader.Fade(FadeType.fadeOut, data.fadeTime, data.fadeAlpha);
                    }
                }
                else
                {
                    spriteFader.EndFade();
                    spriteFader.SetAlpha(data.fadeAlpha);
                }
            }

            if (GetComponent <Renderer>())
            {
                GetComponent <Renderer>().enabled = data.isOn;
            }

            if (affectChildren)
            {
                foreach (Renderer _renderer in GetComponentsInChildren <Renderer>())
                {
                    _renderer.enabled = data.isOn;
                }
            }
        }
Пример #6
0
        public override string SaveData()
        {
            VisibilityData visibilityData = new VisibilityData();

            visibilityData.objectID = constantID;

            if (GetComponent <SpriteFader>())
            {
                SpriteFader spriteFader = GetComponent <SpriteFader>();
                visibilityData.isFading = spriteFader.isFading;
                if (spriteFader.isFading)
                {
                    if (spriteFader.fadeType == FadeType.fadeIn)
                    {
                        visibilityData.isFadingIn = true;
                    }
                    else
                    {
                        visibilityData.isFadingIn = false;
                    }

                    visibilityData.fadeTime      = spriteFader.fadeTime;
                    visibilityData.fadeStartTime = spriteFader.fadeStartTime;
                }
                visibilityData.fadeAlpha = GetComponent <SpriteRenderer>().color.a;
            }

            if (GetComponent <Renderer>())
            {
                visibilityData.isOn = GetComponent <Renderer>().enabled;
            }
            else if (affectChildren)
            {
                foreach (Renderer _renderer in GetComponentsInChildren <Renderer>())
                {
                    visibilityData.isOn = _renderer.enabled;
                    break;
                }
            }

            return(Serializer.SaveScriptData <VisibilityData> (visibilityData));
        }
Пример #7
0
        override public void ShowGUI(List <ActionParameter> parameters)
        {
            parameterID = Action.ChooseParameterGUI("Sprite to fade:", parameters, parameterID, ParameterType.GameObject);
            if (parameterID >= 0)
            {
                constantID  = 0;
                spriteFader = null;
            }
            else
            {
                spriteFader = (SpriteFader)EditorGUILayout.ObjectField("Sprite to fade:", spriteFader, typeof(SpriteFader), true);

                constantID  = FieldToID <SpriteFader> (spriteFader, constantID);
                spriteFader = IDToField <SpriteFader> (spriteFader, constantID, false);
            }

            fadeType = (FadeType)EditorGUILayout.EnumPopup("Type:", fadeType);

            fadeSpeed = EditorGUILayout.Slider("Time to fade:", fadeSpeed, 0f, 10f);
            willWait  = EditorGUILayout.Toggle("Wait until finish?", willWait);

            AfterRunningOption();
        }
Пример #8
0
 override public void AssignValues(List <ActionParameter> parameters)
 {
     spriteFader = AssignFile <SpriteFader> (parameters, parameterID, constantID, spriteFader);
 }
Пример #9
0
 public override void AssignValues(List<ActionParameter> parameters)
 {
     spriteFader = AssignFile <SpriteFader> (parameters, parameterID, constantID, spriteFader);
 }
Пример #10
0
        public override void ShowGUI(List<ActionParameter> parameters)
        {
            parameterID = Action.ChooseParameterGUI ("Sprite to fade:", parameters, parameterID, ParameterType.GameObject);
            if (parameterID >= 0)
            {
                constantID = 0;
                spriteFader = null;
            }
            else
            {
                spriteFader = (SpriteFader) EditorGUILayout.ObjectField ("Sprite to fade:", spriteFader, typeof (SpriteFader), true);

                constantID = FieldToID <SpriteFader> (spriteFader, constantID);
                spriteFader = IDToField <SpriteFader> (spriteFader, constantID, false);
            }

            fadeType = (FadeType) EditorGUILayout.EnumPopup ("Type:", fadeType);

            fadeSpeed = EditorGUILayout.Slider ("Time to fade:", fadeSpeed, 0, 3);
            willWait = EditorGUILayout.Toggle ("Wait until finish?", willWait);

            AfterRunningOption ();
        }
Пример #11
0
        /**
         * <summary>Deserialises a string of data, and restores the GameObject to its previous state.</summary>
         * <param name = "stringData">The data, serialised as a string</param>
         */
        public override void LoadData(string stringData)
        {
            VisibilityData data = Serializer.LoadScriptData <VisibilityData> (stringData);

            if (data == null)
            {
                loadedData = false;
                return;
            }
            SavePrevented = data.savePrevented; if (savePrevented)
            {
                return;
            }

            SpriteFader spriteFader = GetComponent <SpriteFader>();

            if (spriteFader)
            {
                if (data.isFading)
                {
                    if (data.isFadingIn)
                    {
                        spriteFader.Fade(FadeType.fadeIn, data.fadeTime, data.fadeAlpha);
                    }
                    else
                    {
                        spriteFader.Fade(FadeType.fadeOut, data.fadeTime, data.fadeAlpha);
                    }
                }
                else
                {
                    spriteFader.EndFade();
                    spriteFader.SetAlpha(data.fadeAlpha);
                }
            }
            else
            {
                if (saveColour)
                {
                    SpriteRenderer spriteRenderer = GetComponent <SpriteRenderer>();
                    if (spriteRenderer)
                    {
                        Color _color = new Color(data.colourR, data.colourG, data.colourB, data.colourA);
                        spriteRenderer.color = _color;
                    }
                }
            }

            FollowTintMap followTintMap = GetComponent <FollowTintMap>();

            if (followTintMap)
            {
                followTintMap.LoadData(data);
            }

            if (limitVisibility)
            {
                limitVisibility.isLockedOff = !data.isOn;
            }
            else
            {
                Renderer renderer = GetComponent <Renderer>();
                if (renderer)
                {
                    renderer.enabled = data.isOn;
                }
                else
                {
                    Canvas canvas = GetComponent <Canvas>();
                    if (canvas)
                    {
                        canvas.enabled = data.isOn;
                    }
                }
            }

            if (affectChildren)
            {
                Renderer[] renderers = GetComponentsInChildren <Renderer>();
                foreach (Renderer _renderer in renderers)
                {
                    _renderer.enabled = data.isOn;
                }
            }

            loadedData = true;
        }