mirror of
https://github.com/Cardidi/dotween-upm-fork.git
synced 2025-12-20 09:16:02 +08:00
Nicer upgrade process using EditorWindow for instructions
This commit is contained in:
parent
a61f32b85e
commit
2887a8b4a5
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -2,6 +2,7 @@ DOTween and DOTween Pro are copyright (c) 2014 Daniele Giardini - Demigiant
|
|||||||
|
|
||||||
// IMPORTANT!!! /////////////////////////////////////////////
|
// IMPORTANT!!! /////////////////////////////////////////////
|
||||||
// Upgrading DOTween from versions older than 1.2.000 ///////
|
// Upgrading DOTween from versions older than 1.2.000 ///////
|
||||||
|
// (or DOTween Pro older than 1.0.000) //////////////////////
|
||||||
-------------------------------------------------------------
|
-------------------------------------------------------------
|
||||||
If you're upgrading your project from a version of DOTween older than 1.2.000 (or DOTween Pro older than 1.0.000) please follow these instructions carefully.
|
If you're upgrading your project from a version of DOTween older than 1.2.000 (or DOTween Pro older than 1.0.000) please follow these instructions carefully.
|
||||||
1) Import the new version in the same folder as the previous one, overwriting old files. A lot of errors will appear but don't worry
|
1) Import the new version in the same folder as the previous one, overwriting old files. A lot of errors will appear but don't worry
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: d3e15b806a8368742ba6f10e794d7b76
|
guid: d3e15b806a8368742ba6f10e794d7b76
|
||||||
timeCreated: 1533115990
|
timeCreated: 1533146162
|
||||||
licenseType: Pro
|
licenseType: Pro
|
||||||
TextureImporter:
|
TextureImporter:
|
||||||
fileIDToRecycleName: {}
|
fileIDToRecycleName: {}
|
||||||
|
|||||||
Binary file not shown.
@ -32,7 +32,7 @@ namespace DG.Tweening
|
|||||||
public class DOTween
|
public class DOTween
|
||||||
{
|
{
|
||||||
/// <summary>DOTween's version</summary>
|
/// <summary>DOTween's version</summary>
|
||||||
public static readonly string Version = "1.2.010"; // Last version before modules: 1.1.755
|
public static readonly string Version = "1.2.015"; // Last version before modules: 1.1.755
|
||||||
|
|
||||||
///////////////////////////////////////////////
|
///////////////////////////////////////////////
|
||||||
// Options ////////////////////////////////////
|
// Options ////////////////////////////////////
|
||||||
|
|||||||
@ -34,7 +34,8 @@ namespace DG.DOTweenEditor.UI
|
|||||||
string[] _settingsLocation = new[] {"Assets > Resources", "DOTween > Resources", "Demigiant > Resources"};
|
string[] _settingsLocation = new[] {"Assets > Resources", "DOTween > Resources", "Demigiant > Resources"};
|
||||||
|
|
||||||
// If force is FALSE opens the window only if DOTween's version has changed
|
// If force is FALSE opens the window only if DOTween's version has changed
|
||||||
// (set to FALSE by OnPostprocessAllAssets)
|
// (set to FALSE by OnPostprocessAllAssets).<para/>
|
||||||
|
// NOTE: this is also called via Reflection by UpgradeWindow
|
||||||
public static void Open()
|
public static void Open()
|
||||||
{
|
{
|
||||||
EditorWindow window = EditorWindow.GetWindow<DOTweenUtilityWindow>(true, _Title, true);
|
EditorWindow window = EditorWindow.GetWindow<DOTweenUtilityWindow>(true, _Title, true);
|
||||||
|
|||||||
@ -18,32 +18,19 @@ namespace DG.DOTweenUpgradeManager
|
|||||||
[InitializeOnLoad]
|
[InitializeOnLoad]
|
||||||
static class Autorun
|
static class Autorun
|
||||||
{
|
{
|
||||||
static readonly string _Id = "DOTweenUpgradeManager";
|
|
||||||
|
|
||||||
static Autorun()
|
static Autorun()
|
||||||
{
|
{
|
||||||
_Id = Application.dataPath + _Id;
|
EditorApplication.update += OnUpdate;
|
||||||
|
}
|
||||||
|
|
||||||
bool refresh;
|
public static void OnUpdate()
|
||||||
DateTime now = DateTime.UtcNow;
|
{
|
||||||
DateTime lastTime;
|
if (!UpgradeWindowIsOpen()) UpgradeWindow.Open();
|
||||||
if (!EditorPrefs.HasKey(_Id) || !DateTime.TryParse(EditorPrefs.GetString(_Id), out lastTime)) {
|
|
||||||
refresh = true;
|
|
||||||
} else {
|
|
||||||
refresh = (now - lastTime).TotalSeconds > 60;
|
|
||||||
}
|
|
||||||
if (refresh) {
|
|
||||||
EditorPrefs.SetString(_Id, now.ToString());
|
|
||||||
EditorUtility.DisplayDialog("DOTween",
|
|
||||||
"DOTWEEN SETUP REQUIRED: new version imported." +
|
|
||||||
"\n\nSelect \"Setup DOTween...\" in DOTween's Utility Panel to set it up and add/remove Modules." +
|
|
||||||
"\n\n::::: IMPORTANT :::::" +
|
|
||||||
"\nIf you're upgrading from a DOTween version older than 1.2.000 you will see lots of errors." +
|
|
||||||
"\n1) Close and reopen the project (if you haven't already done so)" +
|
|
||||||
"\n2) Open DOTween's Utility Panel and run the Setup to activate required Modules",
|
|
||||||
"Ok"
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool UpgradeWindowIsOpen()
|
||||||
|
{
|
||||||
|
return Resources.FindObjectsOfTypeAll<UpgradeWindow>().Length > 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -52,6 +52,7 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="Autorun.cs" />
|
<Compile Include="Autorun.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<Compile Include="UpgradeWindow.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
|||||||
109
_DOTween.Assembly/DOTweenUpgradeManager/UpgradeWindow.cs
Normal file
109
_DOTween.Assembly/DOTweenUpgradeManager/UpgradeWindow.cs
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
// Author: Daniele Giardini - http://www.demigiant.com
|
||||||
|
// Created: 2018/08/02 12:29
|
||||||
|
// License Copyright (c) Daniele Giardini
|
||||||
|
// This work is subject to the terms at http://dotween.demigiant.com/license.php
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace DG.DOTweenUpgradeManager
|
||||||
|
{
|
||||||
|
class UpgradeWindow : EditorWindow
|
||||||
|
{
|
||||||
|
const string _Title = "New Version of DOTween Imported";
|
||||||
|
static readonly Vector2 _WinSize = new Vector2(400,280);
|
||||||
|
|
||||||
|
const string _DescrTitle0 = "DOTWEEN SETUP REQUIRED";
|
||||||
|
const string _DescrContent0 = "Select <color=#ffc47a><b>\"Setup DOTween...\"</b></color> in <b>DOTween's Utility Panel</b> to set it up and add/remove Modules.";
|
||||||
|
const string _DescrTitle1 = "IMPORTANT IN CASE OF UPGRADE";
|
||||||
|
const string _DescrContent1 = "If you're upgrading from a DOTween version older than <b>1.2.000</b> or <b>Pro older than 1.0.000</b>" +
|
||||||
|
" (<color=#ffc47a><i>before the introduction of DOTween Modules</i></color>)" +
|
||||||
|
" you will see lots of errors. <b>Follow these instructions</b> to fix them:";
|
||||||
|
const string _DescrContent2 = "\n<color=#94de59><b>1)</b></color> <color=#ffc47a><b>Close and reopen the project</b></color>" +
|
||||||
|
" (if you haven't already done so)" +
|
||||||
|
"\n<color=#94de59><b>2)</b></color> Open DOTween's Utility Panel" +
|
||||||
|
" and <color=#ffc47a><b>run the Setup</b></color> to activate required Modules";
|
||||||
|
|
||||||
|
#region Unity and GUI Methods
|
||||||
|
|
||||||
|
public static void Open()
|
||||||
|
{
|
||||||
|
EditorWindow window = EditorWindow.GetWindow<UpgradeWindow>(true, _Title, true);
|
||||||
|
window.minSize = _WinSize;
|
||||||
|
window.maxSize = _WinSize;
|
||||||
|
window.ShowUtility();
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnGUI()
|
||||||
|
{
|
||||||
|
Styles.Init();
|
||||||
|
|
||||||
|
Rect area = new Rect(0, 0, position.width, position.height);
|
||||||
|
|
||||||
|
// Background
|
||||||
|
GUI.color = new Color(0.18f, 0.18f, 0.18f);
|
||||||
|
GUI.DrawTexture(area, Texture2D.whiteTexture);
|
||||||
|
GUI.color = Color.white;
|
||||||
|
|
||||||
|
GUILayout.Space(4);
|
||||||
|
GUILayout.Label(_DescrTitle0, Styles.descrTitle);
|
||||||
|
GUILayout.Label(_DescrContent0, Styles.descrLabel);
|
||||||
|
GUILayout.Space(12);
|
||||||
|
GUILayout.Label(_DescrTitle1, Styles.descrTitle);
|
||||||
|
GUILayout.Label(_DescrContent1, Styles.descrLabel);
|
||||||
|
GUILayout.Space(-15);
|
||||||
|
GUILayout.Label(_DescrContent2, Styles.descrLabel);
|
||||||
|
|
||||||
|
// Buttons
|
||||||
|
GUILayout.Space(12);
|
||||||
|
GUILayout.BeginHorizontal();
|
||||||
|
GUILayout.FlexibleSpace();
|
||||||
|
if (GUILayout.Button("Open DOTween Utility Panel", GUILayout.Height(30))) {
|
||||||
|
Type doeditorT = Type.GetType("DG.DOTweenEditor.UI.DOTweenUtilityWindow, DOTweenEditor");
|
||||||
|
MethodInfo miOpen = doeditorT.GetMethod("Open", BindingFlags.Static | BindingFlags.Public);
|
||||||
|
miOpen.Invoke(null, null);
|
||||||
|
EditorApplication.update -= Autorun.OnUpdate;
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
GUILayout.FlexibleSpace();
|
||||||
|
GUILayout.EndHorizontal();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
// █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
|
||||||
|
// ███ INTERNAL CLASSES ████████████████████████████████████████████████████████████████████████████████████████████████
|
||||||
|
// █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
|
||||||
|
|
||||||
|
static class Styles
|
||||||
|
{
|
||||||
|
static bool _initialized;
|
||||||
|
public static GUIStyle descrTitle, descrLabel;
|
||||||
|
|
||||||
|
public static void Init()
|
||||||
|
{
|
||||||
|
if (_initialized) return;
|
||||||
|
|
||||||
|
_initialized = true;
|
||||||
|
|
||||||
|
descrTitle = new GUIStyle(GUI.skin.label);
|
||||||
|
descrTitle.richText = true;
|
||||||
|
descrTitle.fontSize = 18;
|
||||||
|
SetTextColor(descrTitle, new Color(0.58f, 0.87f, 0.35f));
|
||||||
|
|
||||||
|
descrLabel = new GUIStyle(GUI.skin.label);
|
||||||
|
descrLabel.fontSize = 12;
|
||||||
|
descrLabel.wordWrap = descrLabel.richText = true;
|
||||||
|
SetTextColor(descrLabel, new Color(0.93f, 0.93f, 0.93f));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void SetTextColor(GUIStyle style, Color color)
|
||||||
|
{
|
||||||
|
style.normal.textColor = style.active.textColor = style.focused.textColor = style.hover.textColor
|
||||||
|
= style.onNormal.textColor = style.onActive.textColor = style.onFocused.textColor = style.onHover.textColor = color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -2,6 +2,7 @@ DOTween and DOTween Pro are copyright (c) 2014 Daniele Giardini - Demigiant
|
|||||||
|
|
||||||
// IMPORTANT!!! /////////////////////////////////////////////
|
// IMPORTANT!!! /////////////////////////////////////////////
|
||||||
// Upgrading DOTween from versions older than 1.2.000 ///////
|
// Upgrading DOTween from versions older than 1.2.000 ///////
|
||||||
|
// (or DOTween Pro older than 1.0.000) //////////////////////
|
||||||
-------------------------------------------------------------
|
-------------------------------------------------------------
|
||||||
If you're upgrading your project from a version of DOTween older than 1.2.000 (or DOTween Pro older than 1.0.000) please follow these instructions carefully.
|
If you're upgrading your project from a version of DOTween older than 1.2.000 (or DOTween Pro older than 1.0.000) please follow these instructions carefully.
|
||||||
1) Import the new version in the same folder as the previous one, overwriting old files. A lot of errors will appear but don't worry
|
1) Import the new version in the same folder as the previous one, overwriting old files. A lot of errors will appear but don't worry
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user