/** * <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; }
/** * <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); }
/** * <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); }
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; } } }
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)); }
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(); }
override public void AssignValues(List <ActionParameter> parameters) { spriteFader = AssignFile <SpriteFader> (parameters, parameterID, constantID, spriteFader); }
public override void AssignValues(List<ActionParameter> parameters) { spriteFader = AssignFile <SpriteFader> (parameters, parameterID, constantID, spriteFader); }
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 (); }
/** * <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; }