You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PlumberUltimateAds/Assets/2DxFX/Scripts/_2dxFX_Mystic_Distortion_Ad...

397 lines
15 KiB
C#

Squashed commit of the following: commit 761fe0f0e39341baeea362d1a24b85307c6533bf Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Thu Oct 17 17:30:04 2024 +0500 Fixed some spash issues commit a29c5d792ee1e70828ca21d11b1d0e8b57194d3b Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Thu Oct 17 16:57:44 2024 +0500 Fixed Splash issue commit 4000ab25110d0593dfe5ad5eea81a4109a744464 Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Thu Oct 17 16:00:08 2024 +0500 fixed spalsh issue commit df377a68259ee183783ce1d898258a26e9f7e6de Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Thu Oct 17 00:59:51 2024 +0500 Reapply "Fixed Splash Animation" This reverts commit b13733598e066c087cc1835f0e566d9fc6e4ebb3. commit b13733598e066c087cc1835f0e566d9fc6e4ebb3 Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Thu Oct 17 00:39:51 2024 +0500 Revert "Fixed Splash Animation" This reverts commit 7ca6548075765db1bc2f62015ffec7fecb6235de. commit 7ca6548075765db1bc2f62015ffec7fecb6235de Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Wed Oct 16 17:19:40 2024 +0500 Fixed Splash Animation commit ec93b630739611fe012cd30c081421d4f63f3395 Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Wed Oct 16 16:52:15 2024 +0500 Added New Pipes commit 47925d7b4d767d72f41a8e24b2728645a6444771 Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Tue Oct 15 18:08:10 2024 +0500 Some indentation commit 0c342ac10c38154817b2e11f05821b0f1a1ea674 Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Tue Oct 15 18:07:14 2024 +0500 Increased Level Cell Size commit f3a7e3ed5a1ae97a6aae36cd9e1c87f206a1488c Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Tue Oct 15 18:02:58 2024 +0500 Revert "Increased Cell size" This reverts commit 6e4c1672ba8e63276cfe45afed9af56abb7668de. commit 6e4c1672ba8e63276cfe45afed9af56abb7668de Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Tue Oct 15 17:48:28 2024 +0500 Increased Cell size commit dce666657f57307688c7633084330aec07052f78 Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Tue Oct 15 17:36:13 2024 +0500 Added Ranked Up Screen commit d4883314781598c9a3444930ac0a956b1b088890 Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Tue Oct 15 14:13:54 2024 +0500 Added new Level Complete Screen commit 1ef6d7cf34773c89b12723f99e26b6aa6043745a Author: TG9six <totalgamer.tg.x@gmail.com> Date: Mon Oct 14 12:04:04 2024 +0400 UI improved Level selection change anchoring improved commit ea8f9899e856e021978159125a8e782bd0cf3a53 Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Fri Oct 11 21:05:40 2024 +0500 All UI Done commit d656fb09a601bc57f1e6d004b83256ce26e59d97 Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Fri Oct 11 19:15:22 2024 +0500 Added Level Screen commit f131e38a6b7ea830ae6816df16d148bbf3847dcd Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Fri Oct 11 17:13:26 2024 +0500 Gameplay UI Done commit a695895c90522a7208abfa9edc07040021362799 Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Fri Oct 11 16:36:09 2024 +0500 Added all gameplay UI commit ab259bf005c7dc1bf01cc334da9b5dd701818496 Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Fri Oct 11 11:21:47 2024 +0500 Added Level Type Selection Screen commit 8cebd78cfeec4fea53a38687d8c244c8ff08f15b Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Thu Oct 10 21:33:27 2024 +0500 Added RateUs commit 901e44afafb7b0bca1209df744d9a0be1012cd0b Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Thu Oct 10 20:56:50 2024 +0500 Before addiung unity figma bridge commit bdc01bcb186e1714d5b7efa061418e979b926312 Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Thu Oct 10 19:36:39 2024 +0500 Added Settings menu commit 85b53482054a0f4831dc62ca805dbc8a96e474e5 Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Wed Oct 9 19:13:39 2024 +0500 Added Main Menu Screen commit a80c82c82f91563ea3a06a5d7cb4219dc9520b14 Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Wed Oct 9 17:26:31 2024 +0500 Added new main menu UI commit 833a599da1496f33d46bd2f32457ad2b16f6bd9d Author: Hazim Bin Ijaz <hazimijaz_gamedev@rizzestudios.com> Date: Wed Oct 9 13:22:52 2024 +0500 Added MainMenu Animation
1 month ago
//////////////////////////////////////////////
/// 2DxFX - 2D SPRITE FX - by VETASOFT 2018 //
//////////////////////////////////////////////
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
#if UNITY_EDITOR
using UnityEditor;
#endif
[ExecuteInEditMode]
[AddComponentMenu("2DxFX/Standard/Mystic_Distortion_Additive")]
[System.Serializable]
public class _2dxFX_Mystic_Distortion_Additive : MonoBehaviour
{
[HideInInspector] public Material ForceMaterial;
[HideInInspector] public bool ActiveChange = true;
private string shader = "2DxFX/Standard/Mystic_Distortion_Additive";
[HideInInspector] [Range(0, 1)] public float _Alpha = 1f;
[HideInInspector] [Range(0f, 0.45f)] public float _Pitch = 0.45f;
[HideInInspector] public bool Pitch_Wave = true;
[HideInInspector] [Range(0f, 16f)] public float _Pitch_Speed = 1.0f;
[HideInInspector] [Range(0f, 1f)] public float _Pitch_Offset = 0.0f;
[HideInInspector] [Range(0f, 128f)] public float _OffsetX = 56f;
[HideInInspector] [Range(0f, 128f)] public float _OffsetY = 28f;
[HideInInspector] [Range(0f, 1f)] public float _DistanceX = 0.01f;
[HideInInspector] [Range(0f, 1f)] public float _DistanceY = 0.04f;
[HideInInspector] [Range(0f, 6.28f)] public float _WaveTimeX = 1.16f;
[HideInInspector] [Range(0f, 6.28f)] public float _WaveTimeY = 5.12f;
[HideInInspector] public bool AutoPlayWaveX = false;
[HideInInspector] [Range(0f, 5f)] public float AutoPlaySpeedX = 5f;
[HideInInspector] public bool AutoPlayWaveY = false;
[HideInInspector] [Range(0f, 50f)] public float AutoPlaySpeedY = 5f;
[HideInInspector] public bool AutoRandom = false;
[HideInInspector] [Range(0f, 50f)] public float AutoRandomRange = 10f;
[HideInInspector] public int ShaderChange = 0;
Material tempMaterial;
Material defaultMaterial;
Image CanvasImage;
SpriteRenderer CanvasSpriteRenderer;[HideInInspector] public bool ActiveUpdate = true;
void Awake()
{
if (this.gameObject.GetComponent<Image>() != null) CanvasImage = this.gameObject.GetComponent<Image>();
if (this.gameObject.GetComponent<SpriteRenderer>() != null) CanvasSpriteRenderer = this.gameObject.GetComponent<SpriteRenderer>();
}
void Start()
{
ShaderChange = 0;
XUpdate();
}
public void CallUpdate()
{
XUpdate();
}
void Update()
{
if (ActiveUpdate) XUpdate();
}
void XUpdate()
{
if (CanvasImage == null)
{
if (this.gameObject.GetComponent<Image>() != null) CanvasImage = this.gameObject.GetComponent<Image>();
}
if (CanvasSpriteRenderer == null)
{
if (this.gameObject.GetComponent<SpriteRenderer>() != null) CanvasSpriteRenderer = this.gameObject.GetComponent<SpriteRenderer>();
}
if ((ShaderChange == 0) && (ForceMaterial != null))
{
ShaderChange = 1;
if (tempMaterial != null) DestroyImmediate(tempMaterial);
if (CanvasSpriteRenderer != null)
{
CanvasSpriteRenderer.sharedMaterial = ForceMaterial;
}
else if (CanvasImage != null)
{
CanvasImage.material = ForceMaterial;
}
ForceMaterial.hideFlags = HideFlags.None;
ForceMaterial.shader = Shader.Find(shader);
}
if ((ForceMaterial == null) && (ShaderChange == 1))
{
if (tempMaterial != null) DestroyImmediate(tempMaterial);
tempMaterial = new Material(Shader.Find(shader));
tempMaterial.hideFlags = HideFlags.None;
if (CanvasSpriteRenderer != null)
{
CanvasSpriteRenderer.sharedMaterial = tempMaterial;
}
else if (CanvasImage != null)
{
CanvasImage.material = tempMaterial;
}
ShaderChange = 0;
}
#if UNITY_EDITOR
string dfname = "";
if (CanvasSpriteRenderer != null) dfname = CanvasSpriteRenderer.sharedMaterial.shader.name;
if (CanvasImage != null)
{
Image img = CanvasImage;
if (img.material == null) dfname = "Sprites/Default";
}
if (dfname == "Sprites/Default")
{
ForceMaterial.shader = Shader.Find(shader);
ForceMaterial.hideFlags = HideFlags.None;
if (CanvasSpriteRenderer != null)
{
CanvasSpriteRenderer.sharedMaterial = ForceMaterial;
}
else if (CanvasImage != null)
{
Image img = CanvasImage;
if (img.material == null)
{
CanvasImage.material = ForceMaterial;
}
}
}
#endif
if (ActiveChange)
{
if (Pitch_Wave)
{
_Pitch_Offset = Mathf.Sin(Time.time * _Pitch_Speed) * 0.05f;
}
else
{
_Pitch_Offset = 0;
}
if (CanvasSpriteRenderer != null)
{
CanvasSpriteRenderer.sharedMaterial.SetFloat("_Alpha", 1 - _Alpha);
CanvasSpriteRenderer.sharedMaterial.SetFloat("_Pitch", _Pitch + _Pitch_Offset);
CanvasSpriteRenderer.sharedMaterial.SetFloat("_OffsetX", _OffsetX);
CanvasSpriteRenderer.sharedMaterial.SetFloat("_OffsetY", _OffsetY);
CanvasSpriteRenderer.sharedMaterial.SetFloat("_DistanceX", _DistanceX);
CanvasSpriteRenderer.sharedMaterial.SetFloat("_DistanceY", _DistanceY);
CanvasSpriteRenderer.sharedMaterial.SetFloat("_WaveTimeX", _WaveTimeX);
CanvasSpriteRenderer.sharedMaterial.SetFloat("_WaveTimeY", _WaveTimeY);
}
else if (CanvasImage != null)
{
CanvasImage.material.SetFloat("_Alpha", 1 - _Alpha);
CanvasImage.material.SetFloat("_Pitch", _Pitch + _Pitch_Offset);
CanvasImage.material.SetFloat("_OffsetX", _OffsetX);
CanvasImage.material.SetFloat("_OffsetY", _OffsetY);
CanvasImage.material.SetFloat("_DistanceX", _DistanceX);
CanvasImage.material.SetFloat("_DistanceY", _DistanceY);
CanvasImage.material.SetFloat("_WaveTimeX", _WaveTimeX);
CanvasImage.material.SetFloat("_WaveTimeY", _WaveTimeY);
}
float timerange;
if (AutoRandom)
{
timerange = (Random.Range(1, AutoRandomRange) / 5) * Time.deltaTime;
}
else
{
timerange = Time.deltaTime;
}
if (AutoPlayWaveX) _WaveTimeX += AutoPlaySpeedX * timerange;
if (AutoPlayWaveY) _WaveTimeY += AutoPlaySpeedY * timerange;
if (_WaveTimeX > 6.28f) _WaveTimeX = 0f;
if (_WaveTimeY > 6.28f) _WaveTimeY = 0f;
}
}
void OnDestroy()
{
if ((Application.isPlaying == false) && (Application.isEditor == true))
{
if (tempMaterial != null) DestroyImmediate(tempMaterial);
if (gameObject.activeSelf && defaultMaterial != null)
{
if (CanvasSpriteRenderer != null)
{
CanvasSpriteRenderer.sharedMaterial = defaultMaterial;
CanvasSpriteRenderer.sharedMaterial.hideFlags = HideFlags.None;
}
else if (CanvasImage != null)
{
CanvasImage.material = defaultMaterial;
CanvasImage.material.hideFlags = HideFlags.None;
}
}
}
}
void OnDisable()
{
if (gameObject.activeSelf && defaultMaterial != null)
{
if (CanvasSpriteRenderer != null)
{
CanvasSpriteRenderer.sharedMaterial = defaultMaterial;
CanvasSpriteRenderer.sharedMaterial.hideFlags = HideFlags.None;
}
else if (CanvasImage != null)
{
CanvasImage.material = defaultMaterial;
CanvasImage.material.hideFlags = HideFlags.None;
}
}
}
void OnEnable()
{
if (defaultMaterial == null)
{
defaultMaterial = new Material(Shader.Find("Sprites/Default"));
}
if (ForceMaterial == null)
{
ActiveChange = true;
tempMaterial = new Material(Shader.Find(shader));
tempMaterial.hideFlags = HideFlags.None;
if (CanvasSpriteRenderer != null)
{
CanvasSpriteRenderer.sharedMaterial = tempMaterial;
}
else if (CanvasImage != null)
{
CanvasImage.material = tempMaterial;
}
}
else
{
ForceMaterial.shader = Shader.Find(shader);
ForceMaterial.hideFlags = HideFlags.None;
if (CanvasSpriteRenderer != null)
{
CanvasSpriteRenderer.sharedMaterial = ForceMaterial;
}
else if (CanvasImage != null)
{
CanvasImage.material = ForceMaterial;
}
}
}
}
#if UNITY_EDITOR
[CustomEditor(typeof(_2dxFX_Mystic_Distortion_Additive)), CanEditMultipleObjects]
public class _2dxFX_Mystic_Distortion_Additive_Editor : Editor
{
private SerializedObject m_object;
public void OnEnable()
{
m_object = new SerializedObject(targets);
}
public override void OnInspectorGUI()
{
m_object.Update();
DrawDefaultInspector();
_2dxFX_Mystic_Distortion_Additive _2dxScript = (_2dxFX_Mystic_Distortion_Additive)target;
Texture2D icon = Resources.Load("2dxfxinspector") as Texture2D;
if (icon)
{
Rect r;
float ih = icon.height;
float iw = icon.width;
float result = ih / iw;
float w = Screen.width;
result = result * w;
r = GUILayoutUtility.GetRect(ih, result);
EditorGUI.DrawTextureTransparent(r, icon);
}
EditorGUILayout.PropertyField(m_object.FindProperty("ActiveUpdate"), new GUIContent("Active Update", "Active Update, for animation / Animator only")); EditorGUILayout.PropertyField(m_object.FindProperty("ForceMaterial"), new GUIContent("Shared Material", "Use a unique material, reduce drastically the use of draw call"));
if (_2dxScript.ForceMaterial == null)
{
_2dxScript.ActiveChange = true;
}
else
{
if (GUILayout.Button("Remove Shared Material"))
{
_2dxScript.ForceMaterial = null;
_2dxScript.ShaderChange = 1;
_2dxScript.ActiveChange = true;
_2dxScript.CallUpdate();
}
EditorGUILayout.PropertyField(m_object.FindProperty("ActiveChange"), new GUIContent("Change Material Property", "Change The Material Property"));
}
if (_2dxScript.ActiveChange)
{
EditorGUILayout.BeginVertical("Box");
Texture2D icone = Resources.Load("2dxfx-icon-clip_left") as Texture2D;
EditorGUILayout.PropertyField(m_object.FindProperty("_OffsetX"), new GUIContent("Offset X", icone, "Change the offset of X"));
icone = Resources.Load("2dxfx-icon-clip_right") as Texture2D;
EditorGUILayout.PropertyField(m_object.FindProperty("_OffsetY"), new GUIContent("Offset Y", icone, "Change the offset of Y"));
icone = Resources.Load("2dxfx-icon-clip_right") as Texture2D;
EditorGUILayout.PropertyField(m_object.FindProperty("_Pitch"), new GUIContent("Pitch", icone, "Change the Pitch Offset"));
icone = Resources.Load("2dxfx-icon-time") as Texture2D;
EditorGUILayout.PropertyField(m_object.FindProperty("Pitch_Wave"), new GUIContent("Active Pitch Wave", icone, "Active the pitch wave FX"));
icone = Resources.Load("2dxfx-icon-size_x") as Texture2D;
if (_2dxScript.Pitch_Wave)
{
EditorGUILayout.PropertyField(m_object.FindProperty("_Pitch_Speed"), new GUIContent("Pitch Speed", icone, "Change the Speed of the pitch FX"));
}
icone = Resources.Load("2dxfx-icon-size_x") as Texture2D;
EditorGUILayout.PropertyField(m_object.FindProperty("_DistanceX"), new GUIContent("Distance X", icone, "Change the distance of X"));
icone = Resources.Load("2dxfx-icon-size_y") as Texture2D;
EditorGUILayout.PropertyField(m_object.FindProperty("_DistanceY"), new GUIContent("Distance Y", icone, "Change the distance of Y"));
icone = Resources.Load("2dxfx-icon-time") as Texture2D;
EditorGUILayout.PropertyField(m_object.FindProperty("_WaveTimeX"), new GUIContent("Wave Time X", icone, "Change the time speed of the wave X"));
icone = Resources.Load("2dxfx-icon-time") as Texture2D;
EditorGUILayout.PropertyField(m_object.FindProperty("_WaveTimeY"), new GUIContent("Wave Time Y", icone, "Change the time speed of the wave Y"));
icone = Resources.Load("2dxfx-icon-time") as Texture2D;
EditorGUILayout.PropertyField(m_object.FindProperty("AutoPlayWaveX"), new GUIContent("Active AutoPlay Wave X", icone, "Active the time speed"));
if (_2dxScript.AutoPlayWaveX)
{
icone = Resources.Load("2dxfx-icon-time") as Texture2D;
EditorGUILayout.PropertyField(m_object.FindProperty("AutoPlaySpeedX"), new GUIContent("AutoPlay Speed X", icone, "Speed of the auto play X"));
}
icone = Resources.Load("2dxfx-icon-time") as Texture2D;
EditorGUILayout.PropertyField(m_object.FindProperty("AutoPlayWaveY"), new GUIContent("Active AutoPlay Wave Y", icone, "Active the time speed"));
if (_2dxScript.AutoPlayWaveY)
{
icone = Resources.Load("2dxfx-icon-time") as Texture2D;
EditorGUILayout.PropertyField(m_object.FindProperty("AutoPlaySpeedY"), new GUIContent("AutoPlay Speed Y", icone, "Speed of the auto play Y"));
}
icone = Resources.Load("2dxfx-icon-pixel") as Texture2D;
EditorGUILayout.PropertyField(m_object.FindProperty("AutoRandom"), new GUIContent("Auto Random", icone, "Active the random value"));
if (_2dxScript.AutoRandom)
{
icone = Resources.Load("2dxfx-icon-value") as Texture2D;
EditorGUILayout.PropertyField(m_object.FindProperty("AutoRandomRange"), new GUIContent("Auto Random Range", icone, "Change the random value"));
}
EditorGUILayout.BeginVertical("Box");
icone = Resources.Load("2dxfx-icon-fade") as Texture2D;
EditorGUILayout.PropertyField(m_object.FindProperty("_Alpha"), new GUIContent("Fading", icone, "Fade from nothing to showing"));
EditorGUILayout.EndVertical();
EditorGUILayout.EndVertical();
}
m_object.ApplyModifiedProperties();
}
}
#endif