Skip to content
This repository was archived by the owner on Feb 18, 2025. It is now read-only.

Commit 45b0147

Browse files
authored
Merge pull request #13 from AnnulusGames/v0.1.8
v0.1.8
2 parents e12641e + 1d3fe79 commit 45b0147

File tree

12 files changed

+202
-128
lines changed

12 files changed

+202
-128
lines changed

MagicTween/Assets/MagicTween/Runtime/Core/Internal/ArchetypeStore.cs renamed to MagicTween/Assets/MagicTween/Runtime/Core/Internal/ArchetypeStorage.cs

Lines changed: 130 additions & 84 deletions
Large diffs are not rendered by default.

MagicTween/Assets/MagicTween/Runtime/Core/Internal/ArchetypeStore.cs.meta renamed to MagicTween/Assets/MagicTween/Runtime/Core/Internal/ArchetypeStorage.cs.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

MagicTween/Assets/MagicTween/Runtime/Core/Systems/MagicTweenInitializationSystem.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System;
2+
using Unity.Collections;
23
using Unity.Entities;
34

45
namespace MagicTween.Core
@@ -12,7 +13,7 @@ protected override void OnCreate()
1213
if (TweenWorld.World != null && TweenWorld.World.IsCreated && TweenWorld.World != World) return;
1314

1415
TweenWorld.Initialize();
15-
ArchetypeStore.Initialize();
16+
//ArchetypeStore.Initialize();
1617
TweenControllerContainer.Clear();
1718
MagicTweenSettings.Initialize();
1819
SharedRandom.InitState((uint)DateTime.Now.Ticks);
@@ -24,7 +25,9 @@ protected override void OnDestroy()
2425
{
2526
if (TweenWorld.World != World) return;
2627

27-
ArchetypeStore.Dispose();
28+
//ArchetypeStore.Dispose();
29+
30+
if (TweenWorld.ArchetypeStorageRef.IsCreated) TweenWorld.ArchetypeStorageRef.Dispose();
2831
}
2932
}
3033
}

MagicTween/Assets/MagicTween/Runtime/Core/TweenFactory.cs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public static Tween<TValue, TOptions> CreateToTween<TValue, TOptions, TPlugin>(
1818
where TOptions : unmanaged, ITweenOptions
1919
where TPlugin : unmanaged, ITweenPlugin<TValue>
2020
{
21-
var archetype = ArchetypeStore.GetLambdaTweenArchetype<TValue, TOptions>();
21+
var archetype = TweenWorld.ArchetypeStorageRef.GetLambdaTweenArchetype<TValue, TOptions>();
2222
var controllerId = TweenControllerContainer.GetId<LambdaTweenController<TValue, TPlugin>>();
2323

2424
CreateTweenEntity(ref EntityManagerRef, archetype, duration, controllerId, out var entity);
@@ -33,7 +33,7 @@ public static Tween<TValue, TOptions> CreateFromToTween<TValue, TOptions, TPlugi
3333
where TOptions : unmanaged, ITweenOptions
3434
where TPlugin : unmanaged, ITweenPlugin<TValue>
3535
{
36-
var archetype = ArchetypeStore.GetLambdaTweenArchetype<TValue, TOptions>();
36+
var archetype = TweenWorld.ArchetypeStorageRef.GetLambdaTweenArchetype<TValue, TOptions>();
3737
var controllerId = TweenControllerContainer.GetId<LambdaTweenController<TValue, TPlugin>>();
3838

3939
CreateTweenEntity(ref EntityManagerRef, archetype, duration, controllerId, out var entity);
@@ -49,7 +49,7 @@ public static Tween<TValue, TOptions> CreateToTweenUnsafe<TObject, TValue, TOpti
4949
where TOptions : unmanaged, ITweenOptions
5050
where TPlugin : unmanaged, ITweenPlugin<TValue>
5151
{
52-
var archetype = ArchetypeStore.GetUnsafeLambdaTweenArchetype<TValue, TOptions>();
52+
var archetype = TweenWorld.ArchetypeStorageRef.GetUnsafeLambdaTweenArchetype<TValue, TOptions>();
5353
var controllerId = TweenControllerContainer.GetId<UnsafeLambdaTweenController<TValue, TPlugin>>();
5454

5555
CreateTweenEntity(ref EntityManagerRef, archetype, duration, controllerId, out var entity);
@@ -64,7 +64,7 @@ public static Tween<TValue, TOptions> CreateFromToTweenUnsafe<TObject, TValue, T
6464
where TOptions : unmanaged, ITweenOptions
6565
where TPlugin : unmanaged, ITweenPlugin<TValue>
6666
{
67-
var archetype = ArchetypeStore.GetUnsafeLambdaTweenArchetype<TValue, TOptions>();
67+
var archetype = TweenWorld.ArchetypeStorageRef.GetUnsafeLambdaTweenArchetype<TValue, TOptions>();
6868
var controllerId = TweenControllerContainer.GetId<UnsafeLambdaTweenController<TValue, TPlugin>>();
6969

7070
CreateTweenEntity(ref EntityManagerRef, archetype, duration, controllerId, out var entity);
@@ -78,7 +78,7 @@ public static Tween<TValue, PunchTweenOptions> CreatePunchTween<TValue, TPlugin>
7878
where TValue : unmanaged
7979
where TPlugin : unmanaged, ITweenPlugin<TValue>
8080
{
81-
var archetype = ArchetypeStore.GetPunchLambdaTweenArchetype<TValue>();
81+
var archetype = TweenWorld.ArchetypeStorageRef.GetPunchLambdaTweenArchetype<TValue>();
8282
var controllerId = TweenControllerContainer.GetId<LambdaTweenController<TValue, TPlugin>>();
8383

8484
CreateTweenEntity(ref EntityManagerRef, archetype, duration, controllerId, out var entity);
@@ -104,7 +104,7 @@ public static Tween<TValue, PunchTweenOptions> CreateUnsafePunchTween<TObject, T
104104
where TValue : unmanaged
105105
where TPlugin : unmanaged, ITweenPlugin<TValue>
106106
{
107-
var archetype = ArchetypeStore.GetUnsafePunchLambdaTweenArchetype<TValue>();
107+
var archetype = TweenWorld.ArchetypeStorageRef.GetUnsafePunchLambdaTweenArchetype<TValue>();
108108
var controllerId = TweenControllerContainer.GetId<LambdaTweenController<TValue, TPlugin>>();
109109

110110
CreateTweenEntity(ref EntityManagerRef, archetype, duration, controllerId, out var entity);
@@ -133,7 +133,7 @@ public static Tween<TValue, ShakeTweenOptions> CreateShakeTween<TValue, TPlugin>
133133
where TValue : unmanaged
134134
where TPlugin : unmanaged, ITweenPlugin<TValue>
135135
{
136-
var archetype = ArchetypeStore.GetShakeLambdaTweenArchetype<TValue>();
136+
var archetype = TweenWorld.ArchetypeStorageRef.GetShakeLambdaTweenArchetype<TValue>();
137137
var controllerId = TweenControllerContainer.GetId<LambdaTweenController<TValue, TPlugin>>();
138138

139139
CreateTweenEntity(ref EntityManagerRef, archetype, duration, controllerId, out var entity);
@@ -160,7 +160,7 @@ public static Tween<TValue, ShakeTweenOptions> CreateUnsafeShakeTween<TObject, T
160160
where TValue : unmanaged
161161
where TPlugin : unmanaged, ITweenPlugin<TValue>
162162
{
163-
var archetype = ArchetypeStore.GetUnsafeShakeLambdaTweenArchetype<TValue>();
163+
var archetype = TweenWorld.ArchetypeStorageRef.GetUnsafeShakeLambdaTweenArchetype<TValue>();
164164
var controllerId = TweenControllerContainer.GetId<LambdaTweenController<TValue, TPlugin>>();
165165

166166
CreateTweenEntity(ref EntityManagerRef, archetype, duration, controllerId, out var entity);
@@ -188,7 +188,7 @@ public static Tween<TValue, ShakeTweenOptions> CreateUnsafeShakeTween<TObject, T
188188

189189
public static Tween<UnsafeText, StringTweenOptions> CreateStringToTween(TweenGetter<string> getter, TweenSetter<string> setter, string endValue, float duration)
190190
{
191-
var archetype = ArchetypeStore.GetStringLambdaTweenArchetype();
191+
var archetype = TweenWorld.ArchetypeStorageRef.GetStringLambdaTweenArchetype();
192192
var controllerId = TweenControllerContainer.GetId<StringLambdaTweenController>();
193193

194194
CreateTweenEntity(ref EntityManagerRef, archetype, duration, controllerId, out var entity);
@@ -219,7 +219,7 @@ public static Tween<UnsafeText, StringTweenOptions> CreateStringToTween(TweenGet
219219
}
220220
public static Tween<UnsafeText, StringTweenOptions> CreateStringFromToTween(TweenSetter<string> setter, string startValue, string endValue, float duration)
221221
{
222-
var archetype = ArchetypeStore.GetStringLambdaTweenArchetype();
222+
var archetype = TweenWorld.ArchetypeStorageRef.GetStringLambdaTweenArchetype();
223223
var controllerId = TweenControllerContainer.GetId<StringLambdaTweenController>();
224224

225225
CreateTweenEntity(ref EntityManagerRef, archetype, duration, controllerId, out var entity);
@@ -253,7 +253,7 @@ public static Tween<UnsafeText, StringTweenOptions> CreateStringFromToTween(Twee
253253

254254
public unsafe static Tween<float3, PathTweenOptions> CreatePathTween(TweenGetter<float3> getter, TweenSetter<float3> setter, float3[] points, float duration)
255255
{
256-
var archetype = ArchetypeStore.GetPathLambdaTweenArchetype();
256+
var archetype = TweenWorld.ArchetypeStorageRef.GetPathLambdaTweenArchetype();
257257
var controllerId = TweenControllerContainer.GetId<LambdaTweenController<float3, PathTweenPlugin>>();
258258

259259
CreateTweenEntity(ref EntityManagerRef, archetype, duration, controllerId, out var entity);
@@ -277,7 +277,7 @@ public static Tween<TValue, TOptions> CreateEntityFromToTween<TValue, TOptions,
277277
where TPlugin : unmanaged, ITweenPlugin<TValue>
278278
where TTranslator : unmanaged, ITweenTranslatorBase<TValue>
279279
{
280-
var archetype = ArchetypeStore.GetEntityTweenArchetype<TValue, TOptions, TTranslator>();
280+
var archetype = TweenWorld.ArchetypeStorageRef.GetEntityTweenArchetype<TValue, TOptions, TTranslator>();
281281
var controllerId = TweenControllerContainer.GetId<EntityTweenController<TValue, TPlugin>>();
282282

283283
CreateTweenEntity(ref EntityManagerRef, archetype, duration, controllerId, out var entity);
@@ -294,7 +294,7 @@ public static Tween<TValue, TOptions> CreateEntityToTween<TValue, TOptions, TPlu
294294
where TPlugin : unmanaged, ITweenPlugin<TValue>
295295
where TTranslator : unmanaged, ITweenTranslatorBase<TValue>
296296
{
297-
var archetype = ArchetypeStore.GetEntityTweenArchetype<TValue, TOptions, TTranslator>();
297+
var archetype = TweenWorld.ArchetypeStorageRef.GetEntityTweenArchetype<TValue, TOptions, TTranslator>();
298298
var controllerId = TweenControllerContainer.GetId<EntityTweenController<TValue, TPlugin>>();
299299

300300
CreateTweenEntity(ref EntityManagerRef, archetype, duration, controllerId, out var entity);
@@ -307,7 +307,7 @@ public static Tween<TValue, TOptions> CreateEntityToTween<TValue, TOptions, TPlu
307307

308308
public static Tween CreateUnitTween(float duration)
309309
{
310-
var archetype = ArchetypeStore.GetUnitTweenArchetype();
310+
var archetype = TweenWorld.ArchetypeStorageRef.GetUnitTweenArchetype();
311311
var controllerId = TweenControllerContainer.GetId<UnitTweenController>();
312312

313313
CreateTweenEntity(ref EntityManagerRef, archetype, duration, controllerId, out var entity);
@@ -316,7 +316,7 @@ public static Tween CreateUnitTween(float duration)
316316

317317
public static Sequence CreateSequence()
318318
{
319-
var archetype = ArchetypeStore.GetSequenceArchetype();
319+
var archetype = TweenWorld.ArchetypeStorageRef.GetSequenceArchetype();
320320
var controllerId = TweenControllerContainer.GetId<SequenceTweenController>();
321321

322322
CreateTweenEntity(ref EntityManagerRef, archetype, 0f, controllerId, out var entity);

MagicTween/Assets/MagicTween/Runtime/Core/TweenWorld.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Unity.Entities;
2+
using Unity.Collections;
23

34
namespace MagicTween.Core
45
{
@@ -9,15 +10,18 @@ public static void Initialize()
910
_world = World.DefaultGameObjectInjectionWorld;
1011
_entityManager = _world.EntityManager;
1112
_cleanupSystem = _world.GetExistingSystemManaged<TweenCleanupSystem>();
13+
ArchetypeStorage.Create(Allocator.Persistent, out _archetypeStorage);
1214
}
1315

1416
static World _world;
1517
static EntityManager _entityManager;
1618
static TweenCleanupSystem _cleanupSystem;
19+
static ArchetypeStorage _archetypeStorage;
1720

1821
public static World World => _world;
1922
public static EntityManager EntityManager => _entityManager;
2023
public static ref EntityManager EntityManagerRef => ref _entityManager;
2124
public static TweenCleanupSystem CleanupSystem => _cleanupSystem;
25+
internal static ref ArchetypeStorage ArchetypeStorageRef => ref _archetypeStorage;
2226
}
2327
}

MagicTween/Assets/MagicTween/Runtime/Sequence.cs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,9 @@ public Sequence AppendInterval(float interval)
4141
public Sequence AppendCallback(Action callback)
4242
{
4343
var tween = Tween.Empty(0f);
44-
tween.GetOrAddCallbackActions().onComplete = callback;
45-
tween.GetOrAddCallbackActions().onRewind = callback;
44+
var callbackComponent = tween.GetOrAddCallbackActions();
45+
callbackComponent.onComplete = callback;
46+
callbackComponent.onRewind = callback;
4647
SequenceHelper.Append(this, tween, false);
4748
return this;
4849
}
@@ -68,8 +69,9 @@ public Sequence PrependInterval(float interval)
6869
public Sequence PrependCallback(Action callback)
6970
{
7071
var tween = Tween.Empty(0f);
71-
tween.GetOrAddCallbackActions().onComplete = callback;
72-
tween.GetOrAddCallbackActions().onRewind = callback;
72+
var callbackComponent = tween.GetOrAddCallbackActions();
73+
callbackComponent.onComplete = callback;
74+
callbackComponent.onRewind = callback;
7375
SequenceHelper.Prepend(this, tween);
7476
return this;
7577
}
@@ -83,8 +85,9 @@ public Sequence Insert<T>(float position, T tween) where T : struct, ITweenHandl
8385
public Sequence InsertCallback(float position, Action callback)
8486
{
8587
var tween = Tween.Empty(0f);
86-
tween.GetOrAddCallbackActions().onComplete = callback;
87-
tween.GetOrAddCallbackActions().onRewind = callback;
88+
var callbackComponent = tween.GetOrAddCallbackActions();
89+
callbackComponent.onComplete = callback;
90+
callbackComponent.onRewind = callback;
8891
SequenceHelper.Insert(this, tween, position);
8992
return this;
9093
}

MagicTween/Assets/MagicTween/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"name": "com.annulusgames.magic-tween",
3-
"version": "0.1.7",
3+
"version": "0.1.8",
44
"displayName": "Magic Tween",
5-
"description": "Extremely fast tween library implemented in Unity ECS",
5+
"description": "Extremely fast tween library implemented with Unity ECS",
66
"unity": "2022.1",
77
"author": {
88
"name": "Annulus Games",

MagicTween/Packages/manifest.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,19 @@
33
"com.cysharp.unitask": "https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask",
44
"com.neuecc.unirx": "https://github.com/neuecc/UniRx.git?path=Assets/Plugins/UniRx/Scripts",
55
"com.unity.burst": "1.8.8",
6-
"com.unity.collab-proxy": "2.0.4",
6+
"com.unity.collab-proxy": "2.0.5",
77
"com.unity.entities": "1.0.14",
88
"com.unity.entities.graphics": "1.0.14",
9-
"com.unity.feature.2d": "1.0.0",
10-
"com.unity.ide.rider": "3.0.21",
9+
"com.unity.feature.2d": "2.0.0",
10+
"com.unity.ide.rider": "3.0.24",
1111
"com.unity.ide.visualstudio": "2.0.20",
1212
"com.unity.physics": "1.0.14",
1313
"com.unity.postprocessing": "3.2.2",
1414
"com.unity.render-pipelines.universal": "14.0.8",
15-
"com.unity.splines": "2.2.1",
15+
"com.unity.splines": "2.3.0",
1616
"com.unity.test-framework": "1.1.33",
1717
"com.unity.textmeshpro": "3.0.6",
18-
"com.unity.timeline": "1.7.4",
18+
"com.unity.timeline": "1.7.5",
1919
"com.unity.toolchain.macos-arm64-linux-x86_64": "2.0.0",
2020
"com.unity.ugui": "1.0.0",
2121
"com.unity.visualeffectgraph": "14.0.8",

MagicTween/Packages/packages-lock.json

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,18 @@
2727
},
2828
"url": "https://packages.unity.com"
2929
},
30+
"com.unity.2d.aseprite": {
31+
"version": "1.0.0",
32+
"depth": 1,
33+
"source": "registry",
34+
"dependencies": {
35+
"com.unity.2d.sprite": "1.0.0",
36+
"com.unity.2d.common": "6.0.6",
37+
"com.unity.mathematics": "1.2.6",
38+
"com.unity.modules.animation": "1.0.0"
39+
},
40+
"url": "https://packages.unity.com"
41+
},
3042
"com.unity.2d.common": {
3143
"version": "8.0.1",
3244
"depth": 2,
@@ -85,7 +97,7 @@
8597
}
8698
},
8799
"com.unity.2d.tilemap.extras": {
88-
"version": "3.1.0",
100+
"version": "3.1.1",
89101
"depth": 1,
90102
"source": "registry",
91103
"dependencies": {
@@ -106,7 +118,7 @@
106118
"url": "https://packages.unity.com"
107119
},
108120
"com.unity.collab-proxy": {
109-
"version": "2.0.4",
121+
"version": "2.0.5",
110122
"depth": 0,
111123
"source": "registry",
112124
"dependencies": {},
@@ -161,7 +173,7 @@
161173
"url": "https://packages.unity.com"
162174
},
163175
"com.unity.feature.2d": {
164-
"version": "1.0.0",
176+
"version": "2.0.0",
165177
"depth": 0,
166178
"source": "builtin",
167179
"dependencies": {
@@ -171,11 +183,12 @@
171183
"com.unity.2d.sprite": "1.0.0",
172184
"com.unity.2d.spriteshape": "9.0.2",
173185
"com.unity.2d.tilemap": "1.0.0",
174-
"com.unity.2d.tilemap.extras": "3.1.0"
186+
"com.unity.2d.tilemap.extras": "3.1.1",
187+
"com.unity.2d.aseprite": "1.0.0"
175188
}
176189
},
177190
"com.unity.ide.rider": {
178-
"version": "3.0.21",
191+
"version": "3.0.24",
179192
"depth": 0,
180193
"source": "registry",
181194
"dependencies": {
@@ -299,7 +312,7 @@
299312
}
300313
},
301314
"com.unity.splines": {
302-
"version": "2.2.1",
315+
"version": "2.3.0",
303316
"depth": 0,
304317
"source": "registry",
305318
"dependencies": {
@@ -356,7 +369,7 @@
356369
"url": "https://packages.unity.com"
357370
},
358371
"com.unity.timeline": {
359-
"version": "1.7.4",
372+
"version": "1.7.5",
360373
"depth": 0,
361374
"source": "registry",
362375
"dependencies": {

MagicTween/ProjectSettings/ProjectSettings.asset

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ PlayerSettings:
133133
vulkanEnableLateAcquireNextImage: 0
134134
vulkanEnableCommandBufferRecycling: 1
135135
loadStoreDebugModeEnabled: 0
136-
bundleVersion: 0.1.7
136+
bundleVersion: 0.1.8
137137
preloadedAssets: []
138138
metroInputSource: 0
139139
wsaTransparentSwapchain: 0
@@ -157,6 +157,7 @@ PlayerSettings:
157157
Standalone: com.AnnulusGames.MagicTween
158158
buildNumber:
159159
Standalone: 0
160+
VisionOS: 0
160161
iPhone: 0
161162
tvOS: 0
162163
overrideDefaultApplicationIdentifier: 0
@@ -181,6 +182,8 @@ PlayerSettings:
181182
tvOSSdkVersion: 0
182183
tvOSRequireExtendedGameController: 0
183184
tvOSTargetOSVersionString: 12.0
185+
VisionOSSdkVersion: 0
186+
VisionOSTargetOSVersionString: 1.0
184187
uIPrerenderedIcon: 0
185188
uIRequiresPersistentWiFi: 0
186189
uIRequiresFullScreen: 1
@@ -228,8 +231,10 @@ PlayerSettings:
228231
appleDeveloperTeamID:
229232
iOSManualSigningProvisioningProfileID:
230233
tvOSManualSigningProvisioningProfileID:
234+
VisionOSManualSigningProvisioningProfileID:
231235
iOSManualSigningProvisioningProfileType: 0
232236
tvOSManualSigningProvisioningProfileType: 0
237+
VisionOSManualSigningProvisioningProfileType: 0
233238
appleEnableAutomaticSigning: 0
234239
iOSRequireARKit: 0
235240
iOSAutomaticallyDetectAndAddCapabilities: 1
@@ -753,6 +758,7 @@ PlayerSettings:
753758
QNX: UNITY_POST_PROCESSING_STACK_V2
754759
Stadia: UNITY_POST_PROCESSING_STACK_V2
755760
Standalone: UNITY_POST_PROCESSING_STACK_V2
761+
VisionOS: UNITY_POST_PROCESSING_STACK_V2
756762
WebGL: UNITY_POST_PROCESSING_STACK_V2
757763
Windows Store Apps: UNITY_POST_PROCESSING_STACK_V2
758764
XboxOne: UNITY_POST_PROCESSING_STACK_V2
@@ -781,7 +787,6 @@ PlayerSettings:
781787
suppressCommonWarnings: 1
782788
allowUnsafeCode: 1
783789
useDeterministicCompilation: 1
784-
selectedPlatform: 0
785790
additionalIl2CppArgs:
786791
scriptingRuntimeVersion: 1
787792
gcIncremental: 1

0 commit comments

Comments
 (0)