76 lines
3.4 KiB
C#
76 lines
3.4 KiB
C#
|
using UnityEditor;
|
||
|
using UnityEngine;
|
||
|
using UnityEngine.UIElements;
|
||
|
|
||
|
namespace CartoonFX
|
||
|
{
|
||
|
[InitializeOnLoad]
|
||
|
public class CFXR_WelcomeScreen : EditorWindow
|
||
|
{
|
||
|
static CFXR_WelcomeScreen()
|
||
|
{
|
||
|
EditorApplication.delayCall += () =>
|
||
|
{
|
||
|
if (SessionState.GetBool("CFXR_WelcomeScreen_Shown", false))
|
||
|
{
|
||
|
return;
|
||
|
}
|
||
|
SessionState.SetBool("CFXR_WelcomeScreen_Shown", true);
|
||
|
|
||
|
var importer = AssetImporter.GetAtPath(AssetDatabase.GUIDToAssetPath("bfd03f272fe010b4ba558a3bc456ffeb"));
|
||
|
if (importer != null && importer.userData == "dontshow")
|
||
|
{
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
Open();
|
||
|
};
|
||
|
}
|
||
|
|
||
|
[MenuItem("Tools/Cartoon FX Remaster FREE - Welcome Screen")]
|
||
|
static void Open()
|
||
|
{
|
||
|
var window = GetWindow<CFXR_WelcomeScreen>(true, "Cartoon FX Remaster FREE", true);
|
||
|
window.minSize = new Vector2(516, 370);
|
||
|
window.maxSize = new Vector2(516, 370);
|
||
|
}
|
||
|
|
||
|
private void CreateGUI()
|
||
|
{
|
||
|
VisualElement root = rootVisualElement;
|
||
|
root.style.height = new StyleLength(new Length(100, LengthUnit.Percent));
|
||
|
|
||
|
// UXML
|
||
|
var uxmlDocument = AssetDatabase.LoadAssetAtPath<VisualTreeAsset>(AssetDatabase.GUIDToAssetPath("bfd03f272fe010b4ba558a3bc456ffeb"));
|
||
|
root.Add(uxmlDocument.Instantiate());
|
||
|
// USS
|
||
|
var styleSheet = AssetDatabase.LoadAssetAtPath<StyleSheet>(AssetDatabase.GUIDToAssetPath("f8b971f10a610844f968f582415df874"));
|
||
|
root.styleSheets.Add(styleSheet);
|
||
|
|
||
|
// Background image
|
||
|
root.style.backgroundImage = new StyleBackground(AssetDatabase.LoadAssetAtPath<Texture2D>(AssetDatabase.GUIDToAssetPath("fed1b64fd853f994c8d504720a0a6d44")));
|
||
|
root.style.unityBackgroundScaleMode = ScaleMode.ScaleAndCrop;
|
||
|
|
||
|
// Logo image
|
||
|
var titleImage = root.Q<Image>("img_title");
|
||
|
titleImage.image = AssetDatabase.LoadAssetAtPath<Texture2D>(AssetDatabase.GUIDToAssetPath("a665b2e53088caa4c89dd09f9c889f62"));
|
||
|
|
||
|
// Buttons
|
||
|
root.Q<Label>("btn_cfxr1").AddManipulator(new Clickable(evt => { Application.OpenURL("https://assetstore.unity.com/packages/slug/4010"); }));
|
||
|
root.Q<Label>("btn_cfxr2").AddManipulator(new Clickable(evt => { Application.OpenURL("https://assetstore.unity.com/packages/slug/4274"); }));
|
||
|
root.Q<Label>("btn_cfxr3").AddManipulator(new Clickable(evt => { Application.OpenURL("https://assetstore.unity.com/packages/slug/10172"); }));
|
||
|
root.Q<Label>("btn_cfxr4").AddManipulator(new Clickable(evt => { Application.OpenURL("https://assetstore.unity.com/packages/slug/23634"); }));
|
||
|
root.Q<Label>("btn_cfxrbundle").AddManipulator(new Clickable(evt => { Application.OpenURL("https://assetstore.unity.com/packages/slug/232385"); }));
|
||
|
|
||
|
root.Q<Button>("close_dontshow").RegisterCallback<ClickEvent>(evt =>
|
||
|
{
|
||
|
this.Close();
|
||
|
var importer = AssetImporter.GetAtPath(AssetDatabase.GUIDToAssetPath("bfd03f272fe010b4ba558a3bc456ffeb"));
|
||
|
importer.userData = "dontshow";
|
||
|
importer.SaveAndReimport();
|
||
|
});
|
||
|
root.Q<Button>("close").RegisterCallback<ClickEvent>(evt => { this.Close(); });
|
||
|
}
|
||
|
}
|
||
|
}
|