Compare commits

..

2 Commits

Author SHA1 Message Date
mob-sakai
c9a97e41d5 chore: update wf 2026-06-28 20:44:59 +09:00
mob-sakai
dc120884f6 fix: support "disable domain reload" on Unity 6.6 or later 2026-06-28 13:28:24 +09:00
6 changed files with 28 additions and 46 deletions

View File

@@ -27,7 +27,7 @@ jobs:
split_to: ${{ steps.summary.outputs.split_to }} split_to: ${{ steps.summary.outputs.split_to }}
steps: steps:
- name: 🚚 Checkout (${{ github.ref_name }}) - name: 🚚 Checkout (${{ github.ref_name }})
uses: actions/checkout@v6 uses: actions/checkout@v7
- name: 🔖 Run semantic release - name: 🔖 Run semantic release
uses: cycjimmy/semantic-release-action@v6 uses: cycjimmy/semantic-release-action@v6
@@ -67,7 +67,7 @@ jobs:
contents: write contents: write
steps: steps:
- name: 🚚 Checkout (${{ needs.release.outputs.merge_to }}) - name: 🚚 Checkout (${{ needs.release.outputs.merge_to }})
uses: actions/checkout@v5 uses: actions/checkout@v7
with: with:
ref: ${{ needs.release.outputs.merge_to }} ref: ${{ needs.release.outputs.merge_to }}
fetch-depth: 0 fetch-depth: 0
@@ -88,7 +88,7 @@ jobs:
contents: write contents: write
steps: steps:
- name: 🚚 Checkout (${{ needs.release.outputs.tag }}) - name: 🚚 Checkout (${{ needs.release.outputs.tag }})
uses: actions/checkout@v5 uses: actions/checkout@v7
with: with:
ref: ${{ needs.release.outputs.tag }} ref: ${{ needs.release.outputs.tag }}
fetch-depth: 0 fetch-depth: 0

View File

@@ -7,9 +7,9 @@ run-name: 🧪 Test URP (${{ github.event.pull_request.title || github.ref_name
env: env:
# MINIMUM_VERSION: The minimum version of Unity. # MINIMUM_VERSION: The minimum version of Unity.
MINIMUM_VERSION: 6000.1 MINIMUM_VERSION: 6000.0
# EXCLUDE_FILTER: The excluded versions of Unity. # EXCLUDE_FILTER: The excluded versions of Unity.
EXCLUDE_FILTER: '(2020.2.0|2021.1|2023.3)' EXCLUDE_FILTER: "(2017|2018|2023.3)"
PROJECT_PATH: ParticleEffectForUGUI_URP PROJECT_PATH: ParticleEffectForUGUI_URP
on: on:
@@ -85,10 +85,10 @@ jobs:
unityVersion: ${{ fromJson(needs.setup.outputs.unityVersions) }} unityVersion: ${{ fromJson(needs.setup.outputs.unityVersions) }}
steps: steps:
- name: 🚚 Checkout ($${{ github.ref }}) - name: 🚚 Checkout ($${{ github.ref }})
uses: actions/checkout@v6 uses: actions/checkout@v7
- name: 📥 Cache library - name: 📥 Cache library
uses: actions/cache@v5 uses: actions/cache@v6
with: with:
path: ${{ env.PROJECT_PATH }}/Library path: ${{ env.PROJECT_PATH }}/Library
key: ${{ env.PROJECT_PATH }}-Library-${{ matrix.unityVersion }}-${{ github.event.pull_request.head.sha || github.sha }} key: ${{ env.PROJECT_PATH }}-Library-${{ matrix.unityVersion }}-${{ github.event.pull_request.head.sha || github.sha }}
@@ -97,7 +97,7 @@ jobs:
${{ env.PROJECT_PATH }}-Library- ${{ env.PROJECT_PATH }}-Library-
- name: 🛠️ Build Unity Project (Test) - name: 🛠️ Build Unity Project (Test)
uses: game-ci/unity-builder@v5 uses: game-ci/unity-builder@main
timeout-minutes: 45 timeout-minutes: 45
with: with:
customImage: ghcr.io/mob-sakai/unity3d:${{ matrix.unityVersion }} customImage: ghcr.io/mob-sakai/unity3d:${{ matrix.unityVersion }}
@@ -111,7 +111,7 @@ jobs:
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
# - name: 🧪 Run tests # - name: 🧪 Run tests
# uses: game-ci/unity-test-runner@v4 # uses: game-ci/unity-test-runner@main
# timeout-minutes: 45 # timeout-minutes: 45
# with: # with:
# customImage: ghcr.io/mob-sakai/unity3d:${{ matrix.unityVersion }} # customImage: ghcr.io/mob-sakai/unity3d:${{ matrix.unityVersion }}

View File

@@ -7,7 +7,7 @@ run-name: 🧪 Test (${{ github.event.pull_request.title || github.ref_name }})
env: env:
# MINIMUM_VERSION: The minimum version of Unity. # MINIMUM_VERSION: The minimum version of Unity.
MINIMUM_VERSION: 2020.3 MINIMUM_VERSION: 2019.4
# EXCLUDE_FILTER: The excluded versions of Unity. # EXCLUDE_FILTER: The excluded versions of Unity.
EXCLUDE_FILTER: "(2017|2018|2023.3)" EXCLUDE_FILTER: "(2017|2018|2023.3)"
PROJECT_PATH: . PROJECT_PATH: .
@@ -45,7 +45,8 @@ jobs:
steps: steps:
- name: 🔑 Secrets check - name: 🔑 Secrets check
run: | run: |
if [ -z "$UNITY_EMAIL" ] || [ -z "$UNITY_PASSWORD" ] || [ -z "UNITY_LICENSE" ]; then echo "Checking secrets for ${{ github.actor }} ..."
if [ -z "$UNITY_EMAIL" ] || [ -z "$UNITY_PASSWORD" ] || [ -z "$UNITY_LICENSE" ]; then
echo "Error: UNITY_EMAIL, UNITY_PASSWORD, and UNITY_LICENSE secrets must be set." | tee -a $GITHUB_STEP_SUMMARY >&2 echo "Error: UNITY_EMAIL, UNITY_PASSWORD, and UNITY_LICENSE secrets must be set." | tee -a $GITHUB_STEP_SUMMARY >&2
echo "Error: See https://game.ci/docs/github/test-runner#basic-setup" | tee -a $GITHUB_STEP_SUMMARY >&2 echo "Error: See https://game.ci/docs/github/test-runner#basic-setup" | tee -a $GITHUB_STEP_SUMMARY >&2
echo "Error: Set the secrets at ${{ github.server_url }}/${{ github.repository }}/settings/secrets/actions" | tee -a $GITHUB_STEP_SUMMARY >&2 echo "Error: Set the secrets at ${{ github.server_url }}/${{ github.repository }}/settings/secrets/actions" | tee -a $GITHUB_STEP_SUMMARY >&2
@@ -84,10 +85,10 @@ jobs:
unityVersion: ${{ fromJson(needs.setup.outputs.unityVersions) }} unityVersion: ${{ fromJson(needs.setup.outputs.unityVersions) }}
steps: steps:
- name: 🚚 Checkout ($${{ github.ref }}) - name: 🚚 Checkout ($${{ github.ref }})
uses: actions/checkout@v6 uses: actions/checkout@v7
- name: 📥 Cache library - name: 📥 Cache library
uses: actions/cache@v5 uses: actions/cache@v6
with: with:
path: ${{ env.PROJECT_PATH }}/Library path: ${{ env.PROJECT_PATH }}/Library
key: ${{ env.PROJECT_PATH }}-Library-${{ matrix.unityVersion }}-${{ github.event.pull_request.head.sha || github.sha }} key: ${{ env.PROJECT_PATH }}-Library-${{ matrix.unityVersion }}-${{ github.event.pull_request.head.sha || github.sha }}
@@ -96,7 +97,7 @@ jobs:
${{ env.PROJECT_PATH }}-Library- ${{ env.PROJECT_PATH }}-Library-
- name: 🛠️ Build Unity Project (Test) - name: 🛠️ Build Unity Project (Test)
uses: game-ci/unity-builder@v5 uses: game-ci/unity-builder@main
timeout-minutes: 45 timeout-minutes: 45
with: with:
customImage: ghcr.io/mob-sakai/unity3d:${{ matrix.unityVersion }} customImage: ghcr.io/mob-sakai/unity3d:${{ matrix.unityVersion }}
@@ -110,7 +111,7 @@ jobs:
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
- name: 🧪 Run tests - name: 🧪 Run tests
uses: game-ci/unity-test-runner@v4 uses: game-ci/unity-test-runner@main
timeout-minutes: 45 timeout-minutes: 45
with: with:
customImage: ghcr.io/mob-sakai/unity3d:${{ matrix.unityVersion }} customImage: ghcr.io/mob-sakai/unity3d:${{ matrix.unityVersion }}

View File

@@ -59,21 +59,6 @@ namespace Coffee.UIParticleInternal
s_BuildingPlayer = false; s_BuildingPlayer = false;
Initialize(); Initialize();
} }
#if UNITY_2019_3_OR_NEWER
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]
private static void OnDomainReload()
{
foreach (var t in TypeCache.GetTypesDerivedFrom(typeof(PreloadedProjectSettings<>)))
{
var defaultSettings = GetDefaultSettings(t);
if (defaultSettings != null)
{
defaultSettings.OnDomainReload();
}
}
}
#endif
} }
private static void Initialize() private static void Initialize()
@@ -166,10 +151,6 @@ namespace Coffee.UIParticleInternal
protected virtual void OnInitialize() protected virtual void OnInitialize()
{ {
} }
protected virtual void OnDomainReload()
{
}
} }
internal abstract class PreloadedProjectSettingsEditor : Editor internal abstract class PreloadedProjectSettingsEditor : Editor
@@ -255,11 +236,6 @@ namespace Coffee.UIParticleInternal
break; break;
} }
} }
protected override void OnDomainReload()
{
s_Instance = null;
}
#else #else
public static T instance => s_Instance != null ? s_Instance : s_Instance = CreateInstance<T>(); public static T instance => s_Instance != null ? s_Instance : s_Instance = CreateInstance<T>();
#endif #endif

View File

@@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using UnityEditor;
using UnityEngine; using UnityEngine;
namespace Coffee.UIParticleInternal namespace Coffee.UIParticleInternal
@@ -9,6 +10,7 @@ namespace Coffee.UIParticleInternal
private static readonly Dictionary<Type, IFrameCache> s_Caches = new Dictionary<Type, IFrameCache>(); private static readonly Dictionary<Type, IFrameCache> s_Caches = new Dictionary<Type, IFrameCache>();
#if UNITY_EDITOR && UNITY_2019_3_OR_NEWER #if UNITY_EDITOR && UNITY_2019_3_OR_NEWER
[InitializeOnLoadMethod]
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]
#elif UNITY_EDITOR #elif UNITY_EDITOR
[InitializeOnLoadMethod] [InitializeOnLoadMethod]

View File

@@ -18,12 +18,6 @@ namespace Coffee.UIParticleInternal
private static readonly FastAction s_OnScreenSizeChangedAction = new FastAction(); private static readonly FastAction s_OnScreenSizeChangedAction = new FastAction();
private static Vector2Int s_LastScreenSize; private static Vector2Int s_LastScreenSize;
static UIExtraCallbacks()
{
Canvas.willRenderCanvases += OnBeforeCanvasRebuild;
Logger.LogMulticast(typeof(Canvas), "willRenderCanvases", message: "ctor");
}
/// <summary> /// <summary>
/// Event that occurs after canvas rebuilds. /// Event that occurs after canvas rebuilds.
/// </summary> /// </summary>
@@ -72,7 +66,7 @@ namespace Coffee.UIParticleInternal
CanvasUpdateRegistry.IsRebuildingLayout(); CanvasUpdateRegistry.IsRebuildingLayout();
#if TMP_ENABLE #if TMP_ENABLE
// Explicitly set `Canvas.willRenderCanvases += TMP_UpdateManager.DoRebuilds`. // Explicitly set `Canvas.willRenderCanvases += TMP_UpdateManager.DoRebuilds`.
typeof(TMPro.TMP_UpdateManager) var _ = typeof(TMPro.TMP_UpdateManager)
.GetProperty("instance", BindingFlags.NonPublic | BindingFlags.Static) .GetProperty("instance", BindingFlags.NonPublic | BindingFlags.Static)
.GetValue(null); .GetValue(null);
#endif #endif
@@ -83,6 +77,7 @@ namespace Coffee.UIParticleInternal
} }
#if UNITY_EDITOR && UNITY_2019_3_OR_NEWER #if UNITY_EDITOR && UNITY_2019_3_OR_NEWER
[InitializeOnLoadMethod]
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]
#elif UNITY_EDITOR #elif UNITY_EDITOR
[InitializeOnLoadMethod] [InitializeOnLoadMethod]
@@ -91,9 +86,17 @@ namespace Coffee.UIParticleInternal
#endif #endif
private static void InitializeOnLoad() private static void InitializeOnLoad()
{ {
#if UNITY_2019_4 || UNITY_2020_2_OR_NEWER
Canvas.preWillRenderCanvases -= OnBeforeCanvasRebuild;
Canvas.preWillRenderCanvases += OnBeforeCanvasRebuild;
#else
Canvas.willRenderCanvases -= OnBeforeCanvasRebuild;
Canvas.willRenderCanvases += OnBeforeCanvasRebuild;
#endif
Canvas.willRenderCanvases -= OnAfterCanvasRebuild; Canvas.willRenderCanvases -= OnAfterCanvasRebuild;
s_IsInitializedAfterCanvasRebuild = false; s_IsInitializedAfterCanvasRebuild = false;
s_LastScreenSize = default; s_LastScreenSize = default;
Logger.LogMulticast(typeof(Canvas), "willRenderCanvases", message: "ctor");
} }
/// <summary> /// <summary>