├── .gitignore
├── Assets
├── Camera.preset
├── Camera.preset.meta
├── EntityCache.meta
├── EntityCache
│ └── Resources.meta
├── PlasticApps.meta
├── PlasticApps
│ ├── Components.meta
│ ├── Components
│ │ ├── Ease.meta
│ │ ├── Ease
│ │ │ ├── EasyTypes.cs
│ │ │ └── EasyTypes.cs.meta
│ │ ├── Paused.cs
│ │ ├── Paused.cs.meta
│ │ ├── TweenBase.cs
│ │ ├── TweenBase.cs.meta
│ │ ├── TweenCallbacks.cs
│ │ ├── TweenCallbacks.cs.meta
│ │ ├── TweenComplete.cs
│ │ ├── TweenComplete.cs.meta
│ │ ├── TweenEntity.cs
│ │ ├── TweenEntity.cs.meta
│ │ ├── TweenGameObject.cs
│ │ ├── TweenGameObject.cs.meta
│ │ ├── TweenGameObjectLocal.cs
│ │ ├── TweenGameObjectLocal.cs.meta
│ │ ├── TweenMove.cs
│ │ ├── TweenMove.cs.meta
│ │ ├── TweenRotate.cs
│ │ ├── TweenRotate.cs.meta
│ │ ├── TweenScale.cs
│ │ ├── TweenScale.cs.meta
│ │ ├── TweenTag.cs
│ │ ├── TweenTag.cs.meta
│ │ ├── TweenValue.cs
│ │ └── TweenValue.cs.meta
│ ├── Systems.meta
│ ├── Systems
│ │ ├── Ease.meta
│ │ ├── Ease
│ │ │ ├── Back.meta
│ │ │ ├── Back
│ │ │ │ ├── EaseInBackSystem.cs
│ │ │ │ ├── EaseInBackSystem.cs.meta
│ │ │ │ ├── EaseInOutBackSystem.cs
│ │ │ │ ├── EaseInOutBackSystem.cs.meta
│ │ │ │ ├── EaseOutBackSystem.cs
│ │ │ │ └── EaseOutBackSystem.cs.meta
│ │ │ ├── Bounce.meta
│ │ │ ├── Bounce
│ │ │ │ ├── EaseInBounceSystem.cs
│ │ │ │ ├── EaseInBounceSystem.cs.meta
│ │ │ │ ├── EaseInOutBounceSystem.cs
│ │ │ │ ├── EaseInOutBounceSystem.cs.meta
│ │ │ │ ├── EaseOutBounceSystem.cs
│ │ │ │ └── EaseOutBounceSystem.cs.meta
│ │ │ ├── Circ.meta
│ │ │ ├── Circ
│ │ │ │ ├── EaseInCircSystem.cs
│ │ │ │ ├── EaseInCircSystem.cs.meta
│ │ │ │ ├── EaseInOutCircSystem.cs
│ │ │ │ ├── EaseInOutCircSystem.cs.meta
│ │ │ │ ├── EaseOutCircSystem.cs
│ │ │ │ └── EaseOutCircSystem.cs.meta
│ │ │ ├── Cubic.meta
│ │ │ ├── Cubic
│ │ │ │ ├── EaseInCubicSystem.cs
│ │ │ │ ├── EaseInCubicSystem.cs.meta
│ │ │ │ ├── EaseInOutCubicSystem.cs
│ │ │ │ ├── EaseInOutCubicSystem.cs.meta
│ │ │ │ ├── EaseOutCubicSystem.cs
│ │ │ │ └── EaseOutCubicSystem.cs.meta
│ │ │ ├── EaseLinearSystem.cs
│ │ │ ├── EaseLinearSystem.cs.meta
│ │ │ ├── EaseSpringSystem.cs
│ │ │ ├── EaseSpringSystem.cs.meta
│ │ │ ├── Elastic.meta
│ │ │ ├── Elastic
│ │ │ │ ├── EaseInElasticSystem.cs
│ │ │ │ ├── EaseInElasticSystem.cs.meta
│ │ │ │ ├── EaseInOutElasticSystem.cs
│ │ │ │ ├── EaseInOutElasticSystem.cs.meta
│ │ │ │ ├── EaseOutElasticSystem.cs
│ │ │ │ └── EaseOutElasticSystem.cs.meta
│ │ │ ├── Expo.meta
│ │ │ ├── Expo
│ │ │ │ ├── EaseInExpoSystem.cs
│ │ │ │ ├── EaseInExpoSystem.cs.meta
│ │ │ │ ├── EaseInOutExpoSystem.cs
│ │ │ │ ├── EaseInOutExpoSystem.cs.meta
│ │ │ │ ├── EaseOutExpoSystem.cs
│ │ │ │ └── EaseOutExpoSystem.cs.meta
│ │ │ ├── Quad.meta
│ │ │ ├── Quad
│ │ │ │ ├── EaseInOutQuadSystem.cs
│ │ │ │ ├── EaseInOutQuadSystem.cs.meta
│ │ │ │ ├── EaseInQuadSystem.cs
│ │ │ │ ├── EaseInQuadSystem.cs.meta
│ │ │ │ ├── EaseOutQuadSystem.cs
│ │ │ │ └── EaseOutQuadSystem.cs.meta
│ │ │ ├── Quart.meta
│ │ │ ├── Quart
│ │ │ │ ├── EaseInOutQuartSystem.cs
│ │ │ │ ├── EaseInOutQuartSystem.cs.meta
│ │ │ │ ├── EaseInQuartSystem.cs
│ │ │ │ ├── EaseInQuartSystem.cs.meta
│ │ │ │ ├── EaseOutQuartSystem.cs
│ │ │ │ └── EaseOutQuartSystem.cs.meta
│ │ │ ├── Quint.meta
│ │ │ ├── Quint
│ │ │ │ ├── EaseInOutQuintSystem.cs
│ │ │ │ ├── EaseInOutQuintSystem.cs.meta
│ │ │ │ ├── EaseInQuintSystem.cs
│ │ │ │ ├── EaseInQuintSystem.cs.meta
│ │ │ │ ├── EaseOutQuintSystem.cs
│ │ │ │ └── EaseOutQuintSystem.cs.meta
│ │ │ ├── Sine.meta
│ │ │ ├── Sine
│ │ │ │ ├── EaseInOutSineSystem.cs
│ │ │ │ ├── EaseInOutSineSystem.cs.meta
│ │ │ │ ├── EaseInSineSystem.cs
│ │ │ │ ├── EaseInSineSystem.cs.meta
│ │ │ │ ├── EaseOutSineSystem.cs
│ │ │ │ └── EaseOutSineSystem.cs.meta
│ │ │ ├── Square.meta
│ │ │ └── Square
│ │ │ │ ├── EaseInOutSquareSystem.cs
│ │ │ │ ├── EaseInOutSquareSystem.cs.meta
│ │ │ │ ├── EaseInSquareSystem.cs
│ │ │ │ ├── EaseInSquareSystem.cs.meta
│ │ │ │ ├── EaseOutSquareSystem.cs
│ │ │ │ └── EaseOutSquareSystem.cs.meta
│ │ ├── Groups.meta
│ │ ├── Groups
│ │ │ ├── TweenEasesSystems.cs
│ │ │ ├── TweenEasesSystems.cs.meta
│ │ │ ├── TweenSystems.cs
│ │ │ ├── TweenSystems.cs.meta
│ │ │ ├── TweenValuesSystems.cs
│ │ │ └── TweenValuesSystems.cs.meta
│ │ ├── SubSystems.meta
│ │ ├── SubSystems
│ │ │ ├── TweenLocalTransformSystem.cs
│ │ │ ├── TweenLocalTransformSystem.cs.meta
│ │ │ ├── TweenTransformSystem.cs
│ │ │ └── TweenTransformSystem.cs.meta
│ │ ├── TweenCommandSystem.cs
│ │ ├── TweenCommandSystem.cs.meta
│ │ ├── TweenCompleteSystem.cs
│ │ ├── TweenCompleteSystem.cs.meta
│ │ ├── TweenEraseSystem.cs
│ │ ├── TweenEraseSystem.cs.meta
│ │ ├── TweenPositionSystem.cs
│ │ ├── TweenPositionSystem.cs.meta
│ │ ├── TweenRotationSystem.cs
│ │ ├── TweenRotationSystem.cs.meta
│ │ ├── TweenScaleSystem.cs
│ │ ├── TweenScaleSystem.cs.meta
│ │ ├── TweenUpdateSystem.cs
│ │ └── TweenUpdateSystem.cs.meta
│ ├── Test.meta
│ ├── Test
│ │ ├── Camera2.preset
│ │ ├── Camera2.preset.meta
│ │ ├── Camera3.preset
│ │ ├── Camera3.preset.meta
│ │ ├── Camera4.preset
│ │ ├── Camera4.preset.meta
│ │ ├── Cube.prefab
│ │ ├── Cube.prefab.meta
│ │ ├── Test.mat
│ │ ├── Test.mat.meta
│ │ ├── TweenCube.prefab
│ │ ├── TweenCube.prefab.meta
│ │ ├── TweenMoveStressTest.cs
│ │ ├── TweenMoveStressTest.cs.meta
│ │ ├── TweenMoveTest.cs
│ │ └── TweenMoveTest.cs.meta
│ ├── Tween.cs
│ └── Tween.cs.meta
├── Plugins.meta
├── Plugins
│ ├── Editor.meta
│ └── Editor
│ │ ├── JetBrains.meta
│ │ └── JetBrains
│ │ ├── Unity3DRider.cs
│ │ └── Unity3DRider.cs.meta
├── Scenes.meta
└── Scenes
│ ├── 01.Wave.unity
│ ├── 01.Wave.unity.meta
│ ├── 02.GameObjects.unity
│ ├── 02.GameObjects.unity.meta
│ ├── 03.Eases.unity
│ └── 03.Eases.unity.meta
├── LICENSE
├── Packages
└── manifest.json
├── ProjectSettings
├── AudioManager.asset
├── ClusterInputManager.asset
├── DynamicsManager.asset
├── EditorBuildSettings.asset
├── EditorSettings.asset
├── GraphicsSettings.asset
├── InputManager.asset
├── NavMeshAreas.asset
├── NetworkManager.asset
├── Physics2DSettings.asset
├── PresetManager.asset
├── ProjectSettings.asset
├── ProjectVersion.txt
├── QualitySettings.asset
├── TagManager.asset
├── TimeManager.asset
├── UnityConnectSettings.asset
├── VFXManager.asset
└── XRSettings.asset
├── README.md
└── Screenshots
├── Stresstest.png
└── SystemGroups.png
/.gitignore:
--------------------------------------------------------------------------------
1 | [Ll]ibrary/
2 | [Tt]emp/
3 | [Oo]bj/
4 | [Bb]uild/
5 | [Bb]uilds/
6 | Assets/AssetStoreTools*
7 |
8 | # Visual Studio cache directory
9 | .vs/
10 |
11 | # Autogenerated VS/MD/Consulo solution and project files
12 | ExportedObj/
13 | .consulo/
14 | *.csproj
15 | *.unityproj
16 | *.sln
17 | *.suo
18 | *.tmp
19 | *.user
20 | *.userprefs
21 | *.pidb
22 | *.booproj
23 | *.svd
24 | *.pdb
25 | *.opendb
26 |
27 | # Unity3D generated meta files
28 | *.pidb.meta
29 | *.pdb.meta
30 |
31 | # Unity3D Generated File On Crash Reports
32 | sysinfo.txt
33 |
34 | # Builds
35 | *.apk
36 | *.unitypackage
37 | .idea
38 | Logs
39 |
--------------------------------------------------------------------------------
/Assets/Camera.preset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!181963792 &2655988077585873504
4 | Preset:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_Name: Camera
10 | m_TargetType:
11 | m_NativeTypeID: 4
12 | m_ManagedTypePPtr: {fileID: 0}
13 | m_ManagedTypeFallback:
14 | m_Properties:
15 | - target: {fileID: 0}
16 | propertyPath: m_LocalRotation.x
17 | value: 0.24049427
18 | objectReference: {fileID: 0}
19 | - target: {fileID: 0}
20 | propertyPath: m_LocalRotation.y
21 | value: 0.3465848
22 | objectReference: {fileID: 0}
23 | - target: {fileID: 0}
24 | propertyPath: m_LocalRotation.z
25 | value: -0.09241343
26 | objectReference: {fileID: 0}
27 | - target: {fileID: 0}
28 | propertyPath: m_LocalRotation.w
29 | value: 0.9019431
30 | objectReference: {fileID: 0}
31 | - target: {fileID: 0}
32 | propertyPath: m_LocalPosition.x
33 | value: 10.2
34 | objectReference: {fileID: 0}
35 | - target: {fileID: 0}
36 | propertyPath: m_LocalPosition.y
37 | value: 29.4
38 | objectReference: {fileID: 0}
39 | - target: {fileID: 0}
40 | propertyPath: m_LocalPosition.z
41 | value: 19.2
42 | objectReference: {fileID: 0}
43 | - target: {fileID: 0}
44 | propertyPath: m_LocalScale.x
45 | value: 1
46 | objectReference: {fileID: 0}
47 | - target: {fileID: 0}
48 | propertyPath: m_LocalScale.y
49 | value: 1
50 | objectReference: {fileID: 0}
51 | - target: {fileID: 0}
52 | propertyPath: m_LocalScale.z
53 | value: 1
54 | objectReference: {fileID: 0}
55 | - target: {fileID: 0}
56 | propertyPath: m_RootOrder
57 | value: 0
58 | objectReference: {fileID: 0}
59 | - target: {fileID: 0}
60 | propertyPath: m_LocalEulerAnglesHint.x
61 | value: 29.86
62 | objectReference: {fileID: 0}
63 | - target: {fileID: 0}
64 | propertyPath: m_LocalEulerAnglesHint.y
65 | value: 42.04
66 | objectReference: {fileID: 0}
67 | - target: {fileID: 0}
68 | propertyPath: m_LocalEulerAnglesHint.z
69 | value: 0
70 | objectReference: {fileID: 0}
71 |
--------------------------------------------------------------------------------
/Assets/Camera.preset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 78db088b2ed5a487dbaa2a082bec476d
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2655988077585873504
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/EntityCache.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ff7a05da0dc684f46ba83d67db56e868
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/EntityCache/Resources.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0d77550c78dd34e5e8d7adaf31473ce8
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/PlasticApps.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ec68ced412c314641b2a69d824a008f0
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4412b976356bc4ceea0ef23611438dd1
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/Ease.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a07d8464d52c415bb16ae0167df82ff2
3 | timeCreated: 1554786712
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/Ease/EasyTypes.cs:
--------------------------------------------------------------------------------
1 | using Unity.Entities;
2 | using Unity.Mathematics;
3 |
4 | namespace PlasticApps.Components.Ease
5 | {
6 | public enum EaseType
7 | {
8 | linear,
9 | spring,
10 | easeInQuad,
11 | easeOutQuad,
12 | easeInOutQuad,
13 | easeInCubic,
14 | easeOutCubic,
15 | easeInOutCubic,
16 | easeInQuart,
17 | easeOutQuart,
18 | easeInOutQuart,
19 | easeInQuint,
20 | easeOutQuint,
21 | easeInOutQuint,
22 | easeInSine,
23 | easeOutSine,
24 | easeInOutSine,
25 | easeInExpo,
26 | easeOutExpo,
27 | easeInOutExpo,
28 | easeInCirc,
29 | easeOutCirc,
30 | easeInOutCirc,
31 | easeInBounce,
32 | easeOutBounce,
33 | easeInOutBounce,
34 | easeInBack,
35 | easeOutBack,
36 | easeInOutBack,
37 | easeInElastic,
38 | easeOutElastic,
39 | easeInOutElastic,
40 | easeInSquare,
41 | easeOutSquare,
42 | easeInOutSquare
43 | }
44 |
45 | public struct TweenEaseLinear : IComponentData
46 | {
47 | }
48 |
49 | public struct TweenEaseSpring : IComponentData
50 | {
51 | }
52 |
53 | public struct TweenEaseInQuad : IComponentData
54 | {
55 | }
56 |
57 | public struct TweenEaseOutQuad : IComponentData
58 | {
59 | }
60 |
61 | public struct TweenEaseInOutQuad : IComponentData
62 | {
63 | }
64 |
65 | public struct TweenEaseInCubic : IComponentData
66 | {
67 | }
68 |
69 | public struct TweenEaseOutCubic : IComponentData
70 | {
71 | }
72 |
73 | public struct TweenEaseInOutCubic : IComponentData
74 | {
75 | }
76 |
77 | public struct TweenEaseInQuart : IComponentData
78 | {
79 | }
80 |
81 | public struct TweenEaseOutQuart : IComponentData
82 | {
83 | }
84 |
85 | public struct TweenEaseInOutQuart : IComponentData
86 | {
87 | }
88 |
89 | public struct TweenEaseInQuint : IComponentData
90 | {
91 | }
92 |
93 | public struct TweenEaseOutQuint : IComponentData
94 | {
95 | }
96 |
97 | public struct TweenEaseInOutQuint : IComponentData
98 | {
99 | }
100 |
101 | public struct TweenEaseInSine : IComponentData
102 | {
103 | }
104 |
105 | public struct TweenEaseOutSine : IComponentData
106 | {
107 | }
108 |
109 | public struct TweenEaseInOutSine : IComponentData
110 | {
111 | }
112 |
113 | public struct TweenEaseInExpo : IComponentData
114 | {
115 | }
116 |
117 | public struct TweenEaseOutExpo : IComponentData
118 | {
119 | }
120 |
121 | public struct TweenEaseInOutExpo : IComponentData
122 | {
123 | }
124 |
125 | public struct TweenEaseInCirc : IComponentData
126 | {
127 | }
128 |
129 | public struct TweenEaseOutCirc : IComponentData
130 | {
131 | }
132 |
133 | public struct TweenEaseInOutCirc : IComponentData
134 | {
135 | }
136 |
137 | public struct TweenEaseInBounce : IComponentData
138 | {
139 | }
140 |
141 | public struct TweenEaseOutBounce : IComponentData
142 | {
143 | }
144 |
145 | public struct TweenEaseInOutBounce : IComponentData
146 | {
147 | }
148 |
149 | public struct TweenEaseInBack : IComponentData
150 | {
151 | }
152 |
153 | public struct TweenEaseOutBack : IComponentData
154 | {
155 | }
156 |
157 | public struct TweenEaseInOutBack : IComponentData
158 | {
159 | }
160 |
161 | public struct TweenEaseInElastic : IComponentData
162 | {
163 | }
164 |
165 | public struct TweenEaseOutElastic : IComponentData
166 | {
167 | }
168 |
169 | public struct TweenEaseInOutElastic : IComponentData
170 | {
171 | }
172 |
173 | public struct TweenEaseInSquare : IComponentData
174 | {
175 | }
176 |
177 | public struct TweenEaseOutSquare : IComponentData
178 | {
179 | }
180 |
181 | public struct TweenEaseInOutSquare : IComponentData
182 | {
183 | }
184 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/Ease/EasyTypes.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 979c3fa6e4d54f7ab0231e35d4cec49c
3 | timeCreated: 1554747163
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/Paused.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using Unity.Entities;
4 | using UnityEngine;
5 |
6 | namespace PlasticApps.Components
7 | {
8 | ///
9 | /// Tag - Paused Tweens excluded from update systems
10 | ///
11 | public struct TweenPaused : IComponentData
12 | {
13 | }
14 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/Paused.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b5d9ce07359164ae08933dcbeafbbeb1
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/TweenBase.cs:
--------------------------------------------------------------------------------
1 | using Unity.Entities;
2 |
3 | namespace PlasticApps.Components
4 | {
5 | ///
6 | /// Tween State
7 | ///
8 | public struct TweenBase : IComponentData
9 | {
10 | // repeats => -1 => Loop
11 | public int Loop;
12 |
13 | // bool byte 0 = false, 1 = true
14 | public byte PingPong;
15 |
16 | // bool byte 0 = false, 1 = true
17 | public byte Reversed;
18 |
19 | // current ease value
20 | public float Value;
21 |
22 | // current time [0-Duration]
23 | public float Time;
24 |
25 | // current tween progress [0-1]
26 | public float NormalizedTime;
27 |
28 | // total duration in seconds
29 | public float Duration;
30 |
31 | // Ease Type id -> retrieved from TypeManager
32 | public int EaseTypeId;
33 |
34 | }
35 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/TweenBase.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: de4e0855369647868cd8da2bdae9886e
3 | timeCreated: 1554746950
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/TweenCallbacks.cs:
--------------------------------------------------------------------------------
1 | using Unity.Entities;
2 |
3 | namespace PlasticApps.Components
4 | {
5 | public struct TweenCompleteCallback : IComponentData
6 | {
7 | // Callback ID
8 | public int Value;
9 | }
10 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/TweenCallbacks.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6a3c3eff781246438c4155e27027a5cf
3 | timeCreated: 1554747945
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/TweenComplete.cs:
--------------------------------------------------------------------------------
1 | using Unity.Entities;
2 |
3 | namespace PlasticApps.Components
4 | {
5 | ///
6 | /// Marker - Remove Entity from World
7 | ///
8 | public struct TweenComplete : IComponentData
9 | {
10 | }
11 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/TweenComplete.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8e60318494064ceead705274674fc393
3 | timeCreated: 1554750035
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/TweenEntity.cs:
--------------------------------------------------------------------------------
1 | using Unity.Collections;
2 | using Unity.Entities;
3 |
4 | namespace PlasticApps.Components
5 | {
6 | ///
7 | /// Relation - Animation Target [Translation, NonUniformScale, RotationEulerXYZ]
8 | ///
9 | public struct TweenEntity : IComponentData
10 | {
11 | // Tweening Target
12 | public Entity Value;
13 | }
14 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/TweenEntity.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a0935237acb042ca87b16596610bd33d
3 | timeCreated: 1554887812
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/TweenGameObject.cs:
--------------------------------------------------------------------------------
1 | using Unity.Entities;
2 |
3 | namespace PlasticApps.Components
4 | {
5 | ///
6 | /// Tag - Use Tween as Component for GameObject
7 | ///
8 | public struct TweenGameObject : IComponentData
9 | {
10 | }
11 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/TweenGameObject.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 712fe6f6086f4be29edf26c78e727e91
3 | timeCreated: 1554883696
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/TweenGameObjectLocal.cs:
--------------------------------------------------------------------------------
1 | using Unity.Entities;
2 |
3 | namespace PlasticApps.Components
4 | {
5 | ///
6 | /// Tag - Use Tween as Component for GameObject
7 | ///
8 | public struct TweenGameObjectLocal : IComponentData
9 | {
10 | }
11 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/TweenGameObjectLocal.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d0e376b058e83ee4da474213e7d9977b
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/TweenMove.cs:
--------------------------------------------------------------------------------
1 | using Unity.Entities;
2 | using Unity.Mathematics;
3 |
4 | namespace PlasticApps.Components
5 | {
6 | public struct TweenMove : IComponentData
7 | {
8 | public float3 From;
9 | public float3 To;
10 | }
11 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/TweenMove.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cf39cd17cd894cb98474c782a316e267
3 | timeCreated: 1554747186
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/TweenRotate.cs:
--------------------------------------------------------------------------------
1 | using Unity.Entities;
2 | using Unity.Mathematics;
3 |
4 | namespace PlasticApps.Components
5 | {
6 | public struct TweenRotate : IComponentData
7 | {
8 | public quaternion From;
9 | public quaternion To;
10 | }
11 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/TweenRotate.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e4b84be85a254dd8bf06b30d24205412
3 | timeCreated: 1554747225
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/TweenScale.cs:
--------------------------------------------------------------------------------
1 | using Unity.Entities;
2 | using Unity.Mathematics;
3 |
4 | namespace PlasticApps.Components
5 | {
6 | public struct TweenScale: IComponentData
7 | {
8 | public float3 From;
9 | public float3 To;
10 | }
11 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/TweenScale.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8cf15d14cbd84e419541722a5836ff9a
3 | timeCreated: 1554747243
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/TweenTag.cs:
--------------------------------------------------------------------------------
1 | using Unity.Entities;
2 |
3 | namespace PlasticApps.Components
4 | {
5 | public struct TweenTag: IComponentData
6 | {
7 | public int Value;
8 | }
9 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/TweenTag.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ce818f066b30428a99ed01bda6d31663
3 | timeCreated: 1554747350
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/TweenValue.cs:
--------------------------------------------------------------------------------
1 | using Unity.Entities;
2 |
3 | namespace PlasticApps.Components
4 | {
5 | public struct TweenValue: IComponentData
6 | {
7 | public float from;
8 | public float to;
9 | }
10 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Components/TweenValue.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 307fffa23110049c5984702ed207b43f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 616a1fe044e974f26beab9b231cde8b1
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b630136159f54595848cd2bea0713e7d
3 | timeCreated: 1554786639
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Back.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1471395a6df84f7484ba73bbd6f0f561
3 | timeCreated: 1554875929
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Back/EaseInBackSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using Unity.Mathematics;
6 | using PlasticApps.Systems.Groups;
7 | using Unity.Burst;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseInBackSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseInBack))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | float value = tween.NormalizedTime;
22 | value /= 1;
23 | float s = 1.70158f;
24 | tween.Value = value * value * ((s + 1) * value - s);
25 | }
26 | }
27 |
28 | protected override JobHandle OnUpdate(JobHandle inputDeps)
29 | {
30 | var job = new EaseJob();
31 | return job.Schedule(this, inputDeps);
32 | }
33 | }
34 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Back/EaseInBackSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4842a72816174f529d42ba4a7451af8b
3 | timeCreated: 1554876252
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Back/EaseInOutBackSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using Unity.Mathematics;
6 | using PlasticApps.Systems.Groups;
7 | using Unity.Burst;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseInOutBackSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseInOutBack))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | float value = tween.NormalizedTime;
22 | float s = 1.70158f;
23 | value /= .5f;
24 | if (value < 1)
25 | {
26 | s *= 1.525f;
27 | tween.Value = 0.5f * (value * value * ((s + 1) * value - s));
28 | }
29 | else
30 | {
31 | value -= 2;
32 | s *= (1.525f);
33 | tween.Value = 0.5f * (value * value * ((s + 1) * value + s) + 2);
34 | }
35 | }
36 | }
37 |
38 | protected override JobHandle OnUpdate(JobHandle inputDeps)
39 | {
40 | var job = new EaseJob();
41 | return job.Schedule(this, inputDeps);
42 | }
43 | }
44 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Back/EaseInOutBackSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 77c2866dd65c4068b85b69712db34d0f
3 | timeCreated: 1554876252
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Back/EaseOutBackSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using Unity.Mathematics;
6 | using PlasticApps.Systems.Groups;
7 | using Unity.Burst;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseOutBackSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseOutBack))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | float value = tween.NormalizedTime;
22 | float s = 1.70158f;
23 | value = value - 1;
24 | tween.Value = value * value * ((s + 1) * value + s) + 1;
25 | }
26 | }
27 |
28 | protected override JobHandle OnUpdate(JobHandle inputDeps)
29 | {
30 | var job = new EaseJob();
31 | return job.Schedule(this, inputDeps);
32 | }
33 | }
34 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Back/EaseOutBackSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2ded5dcec62f40a29cb349b720de487d
3 | timeCreated: 1554876252
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Bounce.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9b8f02c5615e4b249c078a41e690629e
3 | timeCreated: 1554875924
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Bounce/EaseInBounceSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using Unity.Mathematics;
6 | using PlasticApps.Systems.Groups;
7 | using Unity.Burst;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseInBounceSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseInBounce))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | tween.Value = EaseInOutBounceSystem.Ease(1f - tween.NormalizedTime);
22 | }
23 | }
24 |
25 | protected override JobHandle OnUpdate(JobHandle inputDeps)
26 | {
27 | var job = new EaseJob();
28 | return job.Schedule(this, inputDeps);
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Bounce/EaseInBounceSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 26039437ce144253b0c577cc379cce97
3 | timeCreated: 1554876285
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Bounce/EaseInOutBounceSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using Unity.Mathematics;
6 | using PlasticApps.Systems.Groups;
7 | using Unity.Burst;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseInOutBounceSystem : JobComponentSystem
13 | {
14 | public static float Ease(float value)
15 | {
16 | value /= 1f;
17 | if (value < 1 / 2.75f)
18 | {
19 | return 7.5625f * value * value;
20 | }
21 | else if (value < 2 / 2.75f)
22 | {
23 | value -= 1.5f / 2.75f;
24 | return 7.5625f * value * value + .75f;
25 | }
26 | else if (value < 2.5f / 2.75f)
27 | {
28 | value -= 2.25f / 2.75f;
29 | return 7.5625f * value * value + .9375f;
30 | }
31 |
32 | value -= 2.625f / 2.75f;
33 | return 7.5625f * value * value + .984375f;
34 | }
35 |
36 | [BurstCompile]
37 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
38 | [RequireComponentTag(typeof(TweenEaseInOutBounce))]
39 | struct EaseJob : IJobForEach
40 | {
41 | public void Execute(ref TweenBase tween)
42 | {
43 | float value = tween.NormalizedTime;
44 | float d = 1f;
45 | if (value < d * 0.5f)
46 | {
47 | tween.Value = Ease(value * 2) * 0.5f;
48 | }
49 | else
50 | {
51 | tween.Value = Ease(value * 2 - d) * 0.5f + 0.5f;
52 | }
53 | }
54 | }
55 |
56 | protected override JobHandle OnUpdate(JobHandle inputDeps)
57 | {
58 | var job = new EaseJob();
59 | return job.Schedule(this, inputDeps);
60 | }
61 | }
62 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Bounce/EaseInOutBounceSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6b6bdb3701684b03881959e9441bd954
3 | timeCreated: 1554876285
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Bounce/EaseOutBounceSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using Unity.Mathematics;
6 | using PlasticApps.Systems.Groups;
7 | using Unity.Burst;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseOutBounceSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseOutBounce))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | tween.Value = EaseInOutBounceSystem.Ease(tween.NormalizedTime);
22 | }
23 | }
24 |
25 | protected override JobHandle OnUpdate(JobHandle inputDeps)
26 | {
27 | var job = new EaseJob();
28 | return job.Schedule(this, inputDeps);
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Bounce/EaseOutBounceSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 44bcd6072274489aa9067c4d6c240762
3 | timeCreated: 1554876285
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Circ.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c4915213c2584287a54d8910aaed3eb6
3 | timeCreated: 1554875919
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Circ/EaseInCircSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using Unity.Mathematics;
6 | using PlasticApps.Systems.Groups;
7 | using Unity.Burst;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseInCircSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseInCirc))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | float value = tween.NormalizedTime;
22 | tween.Value = -(math.sqrt(1 - value * value) - 1);
23 | }
24 | }
25 |
26 | protected override JobHandle OnUpdate(JobHandle inputDeps)
27 | {
28 | var job = new EaseJob();
29 | return job.Schedule(this, inputDeps);
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Circ/EaseInCircSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ba86472e0fdc4e5993c9c9902e37cfba
3 | timeCreated: 1554875964
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Circ/EaseInOutCircSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using Unity.Mathematics;
6 | using PlasticApps.Systems.Groups;
7 | using Unity.Burst;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseInOutCircSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseInOutCirc))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | unchecked
22 | {
23 | float value = tween.NormalizedTime * 2;
24 | if (value < 1)
25 | {
26 | tween.Value = -0.5f * (math.sqrt(1 - value * value) - 1);
27 | }
28 | else
29 | {
30 | value -= 2;
31 | tween.Value = 0.5f * (math.sqrt(1 - value * value) + 1);
32 | }
33 | }
34 | }
35 | }
36 |
37 | protected override JobHandle OnUpdate(JobHandle inputDeps)
38 | {
39 | var job = new EaseJob();
40 | return job.Schedule(this, inputDeps);
41 | }
42 | }
43 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Circ/EaseInOutCircSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 96c0b74c52a849edb63f378fa6d94a24
3 | timeCreated: 1554875964
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Circ/EaseOutCircSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using Unity.Mathematics;
6 | using PlasticApps.Systems.Groups;
7 | using Unity.Burst;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseOutCircSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseOutCirc))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | float value = tween.NormalizedTime - 1;
22 | tween.Value = math.sqrt(1 - value * value);;
23 | }
24 | }
25 |
26 | protected override JobHandle OnUpdate(JobHandle inputDeps)
27 | {
28 | var job = new EaseJob();
29 | return job.Schedule(this, inputDeps);
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Circ/EaseOutCircSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f6981cc946954702bb101b98aac44d76
3 | timeCreated: 1554875964
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Cubic.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ccb3121868dd4721b480f543d33ea244
3 | timeCreated: 1554875884
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Cubic/EaseInCubicSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using Unity.Mathematics;
6 | using PlasticApps.Systems.Groups;
7 | using Unity.Burst;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseInCubicSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseInCubic))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | float value = tween.NormalizedTime;
22 | tween.Value = value * value * value;
23 | }
24 | }
25 |
26 | protected override JobHandle OnUpdate(JobHandle inputDeps)
27 | {
28 | var job = new EaseJob();
29 | return job.Schedule(this, inputDeps);
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Cubic/EaseInCubicSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: faf35cb5b4954e34a7411fe8cf24e14a
3 | timeCreated: 1554874804
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Cubic/EaseInOutCubicSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using Unity.Mathematics;
6 | using PlasticApps.Systems.Groups;
7 | using Unity.Burst;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseInOutCubicSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseInOutCubic))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | unchecked
22 | {
23 | float value = tween.NormalizedTime / .5f;
24 | if (value < 1)
25 | {
26 | tween.Value = 0.5f * value * value;
27 | }
28 | else
29 | {
30 | value--;
31 | tween.Value = -0.5f * (value * (value - 2) - 1);
32 | }
33 | }
34 | }
35 | }
36 |
37 | protected override JobHandle OnUpdate(JobHandle inputDeps)
38 | {
39 | var job = new EaseJob();
40 | return job.Schedule(this, inputDeps);
41 | }
42 | }
43 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Cubic/EaseInOutCubicSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1e3ad77bb150480d9bf4173c179bbfb5
3 | timeCreated: 1554874819
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Cubic/EaseOutCubicSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using Unity.Mathematics;
6 | using PlasticApps.Systems.Groups;
7 | using Unity.Burst;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseOutCubicSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseOutCubic))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | float value = tween.NormalizedTime - 1;
22 | tween.Value = value * value * value + 1;
23 | }
24 | }
25 |
26 | protected override JobHandle OnUpdate(JobHandle inputDeps)
27 | {
28 | var job = new EaseJob();
29 | return job.Schedule(this, inputDeps);
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Cubic/EaseOutCubicSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fc6c01eca8e948eda550fcaa0e2876ea
3 | timeCreated: 1554874812
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/EaseLinearSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using Unity.Mathematics;
6 | using PlasticApps.Systems.Groups;
7 | using Unity.Burst;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseLinearSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseLinear))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | tween.Value = tween.NormalizedTime;
22 | }
23 | }
24 |
25 | protected override JobHandle OnUpdate(JobHandle inputDeps)
26 | {
27 | var job = new EaseJob();
28 | return job.Schedule(this, inputDeps);
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/EaseLinearSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d6ff736462a44b6b9b8b9ec1fad7f31c
3 | timeCreated: 1554786652
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/EaseSpringSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using PlasticApps.Systems.Groups;
4 | using Unity.Burst;
5 | using Unity.Collections;
6 | using Unity.Entities;
7 | using Unity.Jobs;
8 | using Unity.Mathematics;
9 | using UnityEngine;
10 |
11 | namespace PlasticApps.Systems.Ease
12 | {
13 | [UpdateInGroup(typeof(TweenEasesSystems))]
14 | public class EaseSpringSystem : JobComponentSystem
15 | {
16 | [BurstCompile]
17 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
18 | [RequireComponentTag(typeof(TweenEaseSpring))]
19 | struct EaseJob : IJobForEach
20 | {
21 | public void Execute(ref TweenBase tween)
22 | {
23 | unchecked
24 | {
25 | float value = tween.NormalizedTime;
26 | value = math.clamp(value, 0.0f, 1.0f);
27 | value =
28 | (math.sin(value * (float) math.PI * (0.2f + 2.5f * value * value * value)) *
29 | math.pow(1f - value, 2.2f) +
30 | value) * (1f + (1f - value) * 1.2f);
31 | tween.Value = value;
32 | }
33 | }
34 | }
35 |
36 | protected override JobHandle OnUpdate(JobHandle inputDeps)
37 | {
38 | var job = new EaseJob();
39 | return job.Schedule(this, inputDeps);
40 | }
41 | }
42 |
43 | // tests
44 | // public abstract class EaseSystem : JobComponentSystem where T : IComponentData
45 | // {
46 | // private EntityQuery m_Group;
47 | //
48 | // protected override void OnCreate()
49 | // {
50 | // m_Group = GetEntityQuery(ComponentType.ReadWrite(), ComponentType.ReadOnly());
51 | // }
52 | //
53 | // protected abstract JobHandle PrepareJobHandle(JobHandle inputDeps, int totalEntity,
54 | // NativeArray tweens);
55 | //
56 | // protected override JobHandle OnUpdate(JobHandle inputDeps)
57 | // {
58 | // return PrepareJobHandle(inputDeps, m_Group.CalculateLength(),
59 | // m_Group.ToComponentDataArray(Allocator.TempJob));
60 | // }
61 | // }
62 | //
63 | // [UpdateInGroup(typeof(TweenEasesSystems))]
64 | // public class EaseSpringSystem : EaseSystem
65 | // {
66 | // [BurstCompile]
67 | // struct EaseJob : IJobParallelFor
68 | // {
69 | // public NativeArray Tweens;
70 | //
71 | // public void Execute(int index)
72 | // {
73 | // var tween = Tweens[index];
74 | // float value = tween.NormalizedTime;
75 | // value = math.clamp(value, 0.0f, 1.0f);
76 | // value =
77 | // (math.sin(value * (float) math.PI * (0.2f + 2.5f * value * value * value)) *
78 | // math.pow(1f - value, 2.2f) +
79 | // value) * (1f + (1f - value) * 1.2f);
80 | // tween.Value = value;
81 | // Tweens[index] = tween;
82 | // }
83 | // }
84 | //
85 | // protected override JobHandle PrepareJobHandle(JobHandle inputDeps, int totalEntity,
86 | // NativeArray tweens)
87 | // {
88 | // return new EaseJob
89 | // {
90 | // Tweens = tweens
91 | // }.Schedule(totalEntity, 32, inputDeps);
92 | // }
93 | // }
94 | //
95 | //
96 | // [UpdateInGroup(typeof(TweenEasesSystems))]
97 | // public class EaseSpringSystem : JobComponentSystem
98 | // {
99 | // private EntityQuery m_Group;
100 | //
101 | // protected override void OnCreate()
102 | // {
103 | // m_Group = GetEntityQuery(ComponentType.Exclude(), ComponentType.Exclude(),
104 | // ComponentType.ReadOnly());
105 | // }
106 | //
107 | // [BurstCompile]
108 | // struct EaseJob : IJobParallelFor
109 | // {
110 | // [DeallocateOnJobCompletion] [ReadOnly] public NativeArray Entities;
111 | // [NativeDisableParallelForRestriction] public ComponentDataFromEntity Tweens;
112 | //
113 | // public void Execute(int index)
114 | // {
115 | // var _index = Entities[index];
116 | // var tween = Tweens[_index];
117 | // float value = tween.NormalizedTime;
118 | // value = math.clamp(value, 0.0f, 1.0f);
119 | // value =
120 | // (math.sin(value * (float) math.PI * (0.2f + 2.5f * value * value * value)) *
121 | // math.pow(1f - value, 2.2f) +
122 | // value) * (1f + (1f - value) * 1.2f);
123 | // tween.Value = value;
124 | // Tweens[_index] = tween;
125 | // }
126 | // }
127 | //
128 | // protected override JobHandle OnUpdate(JobHandle inputDeps)
129 | // {
130 | // var total = m_Group.CalculateLength();
131 | // if (total == 0) return inputDeps;
132 | // var job = new EaseJob
133 | // {
134 | // Entities = m_Group.ToEntityArray(Allocator.TempJob),
135 | // Tweens = GetComponentDataFromEntity(false)
136 | // }.Schedule(total, 1, inputDeps);
137 | // return job;
138 | // }
139 | // }
140 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/EaseSpringSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fab17bd347c6469bb3408446822d1a04
3 | timeCreated: 1554787412
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Elastic.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fdbe42c4c8304f75b9888c0bdc70f65d
3 | timeCreated: 1554875934
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Elastic/EaseInElasticSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using Unity.Mathematics;
6 | using PlasticApps.Systems.Groups;
7 | using Unity.Burst;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseInElasticSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseInElastic))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | float value = tween.NormalizedTime;
22 | float d = 1f;
23 | float p = d * .3f;
24 | float a = 0;
25 |
26 | if (value == 0)
27 | {
28 | tween.Value = 0;
29 | }
30 | else if ((value /= d) == 1)
31 | {
32 | tween.Value = 1;
33 | }
34 |
35 | else
36 | {
37 | float s = 0;
38 | if (a == 0f || a < 1)
39 | {
40 | a = 1;
41 | s = p / 4;
42 | }
43 | else
44 | {
45 | s = p / (2 * (float) math.PI) * math.asin(1 / a);
46 | }
47 | tween.Value = -(a * math.pow(2, 10 * (value -= 1)) *
48 | math.sin((value * d - s) * (2 * (float) math.PI) / p));
49 | }
50 | }
51 | }
52 |
53 | protected override JobHandle OnUpdate(JobHandle inputDeps)
54 | {
55 | var job = new EaseJob();
56 | return job.Schedule(this, inputDeps);
57 | }
58 | }
59 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Elastic/EaseInElasticSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4c3c8dac841049a79bf6fac0aec14824
3 | timeCreated: 1554876320
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Elastic/EaseInOutElasticSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using Unity.Mathematics;
6 | using PlasticApps.Systems.Groups;
7 | using Unity.Burst;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseInOutElasticSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseInOutElastic))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | float value = tween.NormalizedTime;
22 | float d = 1f;
23 | float p = d * .3f;
24 | float a = 0;
25 |
26 | if (value == 0)
27 | {
28 | tween.Value = 0;
29 | }
30 |
31 | else if ((value /= d * 0.5f) == 2)
32 | {
33 | tween.Value = 1;
34 | }
35 | else
36 | {
37 | float s = 0;
38 | if (a == 0f || a < 1)
39 | {
40 | a = 1;
41 | s = p / 4;
42 | }
43 | else
44 | {
45 | s = p / (2 * (float) math.PI) * math.asin(1 / a);
46 | }
47 |
48 | if (value < 1)
49 | {
50 | tween.Value = -0.5f * (a * math.pow(2, 10 * (value -= 1)) *
51 | math.sin((value * d - s) * (2 * (float) math.PI) / p));
52 | }
53 | else
54 | {
55 | tween.Value = a * math.pow(2, -10 * (value -= 1)) *
56 | math.sin((value * d - s) * (2 * (float) math.PI) / p) *
57 | 0.5f +
58 | 1;
59 | }
60 | }
61 | }
62 | }
63 |
64 | protected override JobHandle OnUpdate(JobHandle inputDeps)
65 | {
66 | var job = new EaseJob();
67 | return job.Schedule(this, inputDeps);
68 | }
69 | }
70 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Elastic/EaseInOutElasticSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 09310d0114c340ac87c51b258f856d5b
3 | timeCreated: 1554876321
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Elastic/EaseOutElasticSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using Unity.Mathematics;
6 | using PlasticApps.Systems.Groups;
7 | using Unity.Burst;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseOutElasticSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseOutElastic))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | float value = tween.NormalizedTime;
22 | float d = 1f;
23 | float p = d * .3f;
24 | float a = 0;
25 |
26 | if (value == 0)
27 | {
28 | tween.Value = 0;
29 | }
30 |
31 | else if ((value /= d) == 1)
32 | {
33 | tween.Value = 1;
34 | }
35 | else
36 | {
37 | float s = 0;
38 | if (a == 0f || a < 1)
39 | {
40 | a = 1;
41 | s = p * 0.25f;
42 | }
43 | else
44 | {
45 | s = p / (2 * (float) math.PI) * math.asin(1 / a);
46 | }
47 |
48 | tween.Value =
49 | (a * math.pow(2, -10 * value) * math.sin((value * d - s) * (2 * (float) math.PI) / p) + 1);
50 | }
51 | }
52 | }
53 |
54 | protected override JobHandle OnUpdate(JobHandle inputDeps)
55 | {
56 | var job = new EaseJob();
57 | return job.Schedule(this, inputDeps);
58 | }
59 | }
60 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Elastic/EaseOutElasticSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1be6174850fc403dbd5caa7775b14af0
3 | timeCreated: 1554876321
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Expo.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7ee429a78066484f86f0387ad8c371c1
3 | timeCreated: 1554875913
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Expo/EaseInExpoSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using Unity.Mathematics;
6 | using PlasticApps.Systems.Groups;
7 | using Unity.Burst;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseInExpoSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseInExpo))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | float value = tween.NormalizedTime;
22 | tween.Value = math.pow(2.0f, 10 * (value - 1));
23 | }
24 | }
25 |
26 | protected override JobHandle OnUpdate(JobHandle inputDeps)
27 | {
28 | var job = new EaseJob();
29 | return job.Schedule(this, inputDeps);
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Expo/EaseInExpoSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0dc5a6358d3647518d0253b4b538bfae
3 | timeCreated: 1554876208
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Expo/EaseInOutExpoSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using Unity.Mathematics;
6 | using PlasticApps.Systems.Groups;
7 | using Unity.Burst;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseInOutExpoSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseInOutExpo))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | float value = tween.NormalizedTime / .5f;
22 | if (value < 1)
23 | {
24 | tween.Value = 0.5f * math.pow(2, 10 * (value - 1));
25 | }
26 | else
27 | {
28 | value--;
29 | tween.Value = 0.5f * (-math.pow(2, -10 * value) + 2);
30 | }
31 | }
32 | }
33 |
34 | protected override JobHandle OnUpdate(JobHandle inputDeps)
35 | {
36 | var job = new EaseJob();
37 | return job.Schedule(this, inputDeps);
38 | }
39 | }
40 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Expo/EaseInOutExpoSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a88de50c0bc0486eb79012fa2f233a78
3 | timeCreated: 1554876208
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Expo/EaseOutExpoSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using Unity.Mathematics;
6 | using PlasticApps.Systems.Groups;
7 | using Unity.Burst;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseOutExpoSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseOutExpo))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | float value = tween.NormalizedTime;
22 | tween.Value = -math.pow(2, -10 * value) + 1;
23 | }
24 | }
25 |
26 | protected override JobHandle OnUpdate(JobHandle inputDeps)
27 | {
28 | var job = new EaseJob();
29 | return job.Schedule(this, inputDeps);
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Expo/EaseOutExpoSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 89b1036f86bc4e3cacb41904eb2c3c22
3 | timeCreated: 1554876208
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Quad.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7d941aabc221461697b8b54694165985
3 | timeCreated: 1554875876
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Quad/EaseInOutQuadSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using PlasticApps.Systems.Groups;
4 | using Unity.Burst;
5 | using Unity.Entities;
6 | using Unity.Jobs;
7 |
8 | namespace PlasticApps.Systems.Ease
9 | {
10 | [UpdateInGroup(typeof(TweenEasesSystems))]
11 | public class EaseInOutQuadSystem : JobComponentSystem
12 | {
13 | [BurstCompile]
14 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
15 | [RequireComponentTag(typeof(TweenEaseInOutQuad))]
16 | public struct EaseJob : IJobForEach
17 | {
18 | public void Execute(ref TweenBase tween)
19 | {
20 | unchecked
21 | {
22 | float value = tween.NormalizedTime;
23 | value /= .5f;
24 | if (value < 1)
25 | {
26 | tween.Value = 0.5f * value * value;
27 | }
28 | else
29 | {
30 | value--;
31 | tween.Value = -0.5f * (value * (value - 2) - 1);
32 | }
33 | }
34 | }
35 | }
36 |
37 | protected override JobHandle OnUpdate(JobHandle inputDeps)
38 | {
39 | var job = new EaseJob();
40 | return job.Schedule(this, inputDeps);
41 | }
42 | }
43 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Quad/EaseInOutQuadSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2cbec87692a642d1a30b8197fd9b0b0a
3 | timeCreated: 1554788032
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Quad/EaseInQuadSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using PlasticApps.Systems.Groups;
4 | using Unity.Burst;
5 | using Unity.Entities;
6 | using Unity.Jobs;
7 |
8 | namespace PlasticApps.Systems.Ease
9 | {
10 | [UpdateInGroup(typeof(TweenEasesSystems))]
11 | public class EaseInQuadSystem : JobComponentSystem
12 | {
13 | [BurstCompile]
14 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
15 | [RequireComponentTag(typeof(TweenEaseInQuad))]
16 | public struct EaseJob : IJobForEach
17 | {
18 | public void Execute(ref TweenBase tween)
19 | {
20 | float value = tween.NormalizedTime;
21 | tween.Value = value * value;
22 | }
23 | }
24 |
25 | protected override JobHandle OnUpdate(JobHandle inputDeps)
26 | {
27 | var job = new EaseJob();
28 | return job.Schedule(this, inputDeps);
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Quad/EaseInQuadSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d44ef6c1f65045fc8eb050d38277379b
3 | timeCreated: 1554787910
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Quad/EaseOutQuadSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using PlasticApps.Systems.Groups;
6 | using Unity.Burst;
7 |
8 | namespace PlasticApps.Systems.Ease
9 | {
10 | [UpdateInGroup(typeof(TweenEasesSystems))]
11 | public class EaseOutQuadSystem : JobComponentSystem
12 | {
13 | [BurstCompile]
14 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
15 | [RequireComponentTag(typeof(TweenEaseOutQuad))]
16 | struct EaseJob : IJobForEach
17 | {
18 | public void Execute(ref TweenBase tween)
19 | {
20 | float value = tween.NormalizedTime;
21 | tween.Value = -value * (value - 2);
22 | }
23 | }
24 |
25 | protected override JobHandle OnUpdate(JobHandle inputDeps)
26 | {
27 | var job = new EaseJob();
28 | return job.Schedule(this, inputDeps);
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Quad/EaseOutQuadSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 69cf922312974ca79c1e8db85cb5c99c
3 | timeCreated: 1554787981
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Quart.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c374154219ce4ab18c375e90f186d219
3 | timeCreated: 1554875894
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Quart/EaseInOutQuartSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using PlasticApps.Systems.Groups;
4 | using Unity.Burst;
5 | using Unity.Collections;
6 | using Unity.Entities;
7 | using Unity.Jobs;
8 | using Unity.Mathematics;
9 |
10 | namespace PlasticApps.Systems.Ease
11 | {
12 | [UpdateInGroup(typeof(TweenEasesSystems))]
13 | public class EaseInOutQuartSystem : JobComponentSystem
14 | {
15 | [BurstCompile]
16 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
17 | [RequireComponentTag(typeof(TweenEaseInOutQuart))]
18 | struct EaseJob : IJobForEach
19 | {
20 | public void Execute(ref TweenBase tween)
21 | {
22 | unchecked
23 | {
24 | float value = tween.NormalizedTime * 2;
25 | if (value < 1)
26 | {
27 | tween.Value = 0.5f * value * value * value * value;
28 | }
29 | else
30 | {
31 | value -= 2;
32 | tween.Value = -0.5f * (value * value * value * value - 2);
33 | }
34 | }
35 | }
36 | }
37 |
38 | protected override JobHandle OnUpdate(JobHandle inputDeps)
39 | {
40 | var job = new EaseJob();
41 | return job.Schedule(this, inputDeps);
42 | }
43 | }
44 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Quart/EaseInOutQuartSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 27f7b3b89a5942f2b9b7fb0817c7e9a6
3 | timeCreated: 1554875090
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Quart/EaseInQuartSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using PlasticApps.Systems.Groups;
4 | using Unity.Burst;
5 | using Unity.Collections;
6 | using Unity.Entities;
7 | using Unity.Jobs;
8 | using Unity.Mathematics;
9 |
10 | namespace PlasticApps.Systems.Ease
11 | {
12 | [UpdateInGroup(typeof(TweenEasesSystems))]
13 | public class EaseInQuartSystem : JobComponentSystem
14 | {
15 | [BurstCompile]
16 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
17 | [RequireComponentTag(typeof(TweenEaseInQuart))]
18 | struct EaseJob : IJobForEach
19 | {
20 | public void Execute(ref TweenBase tween)
21 | {
22 | float value = tween.NormalizedTime;
23 | tween.Value = value * value * value * value;
24 | }
25 | }
26 |
27 | protected override JobHandle OnUpdate(JobHandle inputDeps)
28 | {
29 | var job = new EaseJob();
30 | return job.Schedule(this, inputDeps);
31 | }
32 | }
33 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Quart/EaseInQuartSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c81ee0621dd94554b1cc701e7cb9dbcc
3 | timeCreated: 1554875030
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Quart/EaseOutQuartSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using PlasticApps.Systems.Groups;
4 | using Unity.Burst;
5 | using Unity.Collections;
6 | using Unity.Entities;
7 | using Unity.Jobs;
8 | using Unity.Mathematics;
9 |
10 | namespace PlasticApps.Systems.Ease
11 | {
12 | [UpdateInGroup(typeof(TweenEasesSystems))]
13 | public class EaseOutQuartSystem : JobComponentSystem
14 | {
15 | [BurstCompile]
16 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
17 | [RequireComponentTag(typeof(TweenEaseOutQuart))]
18 | struct EaseJob : IJobForEach
19 | {
20 | public void Execute(ref TweenBase tween)
21 | {
22 | float value = tween.NormalizedTime - 1;
23 | tween.Value = -(value * value * value * value - 1);
24 | }
25 | }
26 |
27 | protected override JobHandle OnUpdate(JobHandle inputDeps)
28 | {
29 | var job = new EaseJob();
30 | return job.Schedule(this, inputDeps);
31 | }
32 | }
33 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Quart/EaseOutQuartSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b94e8003e0b2403e8b29e07107e95b4f
3 | timeCreated: 1554875061
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Quint.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8ddaa039f8c141f58eb60458ce25a9f0
3 | timeCreated: 1554875900
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Quint/EaseInOutQuintSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using PlasticApps.Systems.Groups;
4 | using Unity.Burst;
5 | using Unity.Collections;
6 | using Unity.Entities;
7 | using Unity.Jobs;
8 | using Unity.Mathematics;
9 |
10 | namespace PlasticApps.Systems.Ease
11 | {
12 | [UpdateInGroup(typeof(TweenEasesSystems))]
13 | public class EaseInOutQuintSystem : JobComponentSystem
14 | {
15 | [BurstCompile]
16 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
17 | [RequireComponentTag(typeof(TweenEaseInOutQuint))]
18 | struct EaseJob : IJobForEach
19 | {
20 | public void Execute(ref TweenBase tween)
21 | {
22 | unchecked
23 | {
24 | float value = tween.NormalizedTime * 2;
25 | if (value < 1)
26 | {
27 | tween.Value = 0.5f * value * value * value * value * value;
28 | }
29 | else
30 | {
31 | value -= 2;
32 | tween.Value = 0.5f * (value * value * value * value * value + 2);
33 | }
34 | }
35 | }
36 | }
37 |
38 | protected override JobHandle OnUpdate(JobHandle inputDeps)
39 | {
40 | var job = new EaseJob();
41 | return job.Schedule(this, inputDeps);
42 | }
43 | }
44 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Quint/EaseInOutQuintSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8760e1fbeba94212b4280a4d3d032f13
3 | timeCreated: 1554876144
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Quint/EaseInQuintSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using PlasticApps.Systems.Groups;
4 | using Unity.Burst;
5 | using Unity.Collections;
6 | using Unity.Entities;
7 | using Unity.Jobs;
8 | using Unity.Mathematics;
9 |
10 | namespace PlasticApps.Systems.Ease
11 | {
12 | [UpdateInGroup(typeof(TweenEasesSystems))]
13 | public class EaseInQuintSystem : JobComponentSystem
14 | {
15 | [BurstCompile]
16 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
17 | [RequireComponentTag(typeof(TweenEaseInQuint))]
18 | struct EaseJob : IJobForEach
19 | {
20 | public void Execute(ref TweenBase tween)
21 | {
22 | float value = tween.NormalizedTime;
23 | tween.Value = value * value * value * value * value;
24 | }
25 | }
26 |
27 | protected override JobHandle OnUpdate(JobHandle inputDeps)
28 | {
29 | var job = new EaseJob();
30 | return job.Schedule(this, inputDeps);
31 | }
32 | }
33 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Quint/EaseInQuintSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 726eedf8055b42be8b724783064ea71e
3 | timeCreated: 1554876144
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Quint/EaseOutQuintSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using PlasticApps.Systems.Groups;
4 | using Unity.Burst;
5 | using Unity.Collections;
6 | using Unity.Entities;
7 | using Unity.Jobs;
8 | using Unity.Mathematics;
9 |
10 | namespace PlasticApps.Systems.Ease
11 | {
12 | [UpdateInGroup(typeof(TweenEasesSystems))]
13 | public class EaseOutQuintSystem : JobComponentSystem
14 | {
15 | [BurstCompile]
16 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
17 | [RequireComponentTag(typeof(TweenEaseOutQuint))]
18 | struct EaseJob : IJobForEach
19 | {
20 | public void Execute(ref TweenBase tween)
21 | {
22 | float value = tween.NormalizedTime - 1;
23 | tween.Value = (value * value * value * value * value + 1);
24 | }
25 | }
26 |
27 | protected override JobHandle OnUpdate(JobHandle inputDeps)
28 | {
29 | var job = new EaseJob();
30 | return job.Schedule(this, inputDeps);
31 | }
32 | }
33 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Quint/EaseOutQuintSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6e4a4bc3f36d4d94aceaa01c5296d450
3 | timeCreated: 1554876144
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Sine.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5baff3ee19fc45a19bafbbb782b5dc51
3 | timeCreated: 1554875904
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Sine/EaseInOutSineSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using PlasticApps.Systems.Groups;
4 | using Unity.Burst;
5 | using Unity.Entities;
6 | using Unity.Jobs;
7 | using Unity.Mathematics;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseInOutSineSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseInOutSine))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | float value = tween.NormalizedTime;
22 | tween.Value = -0.5f * (math.cos(value * (float) math.PI) - 1.0f);
23 | }
24 | }
25 |
26 | protected override JobHandle OnUpdate(JobHandle inputDeps)
27 | {
28 | var job = new EaseJob();
29 | return job.Schedule(this, inputDeps);
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Sine/EaseInOutSineSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8f14fd81803c41f9a437f0e92fcb798a
3 | timeCreated: 1554876369
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Sine/EaseInSineSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using PlasticApps.Systems.Groups;
4 | using Unity.Burst;
5 | using Unity.Entities;
6 | using Unity.Jobs;
7 | using Unity.Mathematics;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseInSineSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseInSine))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | float value = tween.NormalizedTime;
22 | tween.Value = -math.cos(value * ((float) math.PI * 0.5f)) + 1;
23 | }
24 | }
25 |
26 | protected override JobHandle OnUpdate(JobHandle inputDeps)
27 | {
28 | var job = new EaseJob();
29 | return job.Schedule(this, inputDeps);
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Sine/EaseInSineSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e9c0be3084cb415b80eb5416eca991d5
3 | timeCreated: 1554876369
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Sine/EaseOutSineSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using PlasticApps.Systems.Groups;
6 | using Unity.Burst;
7 | using Unity.Mathematics;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseOutSineSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseOutSine))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | float value = tween.NormalizedTime;
22 | tween.Value = math.sin(value * ((float) math.PI * 0.5f));
23 | }
24 | }
25 |
26 | protected override JobHandle OnUpdate(JobHandle inputDeps)
27 | {
28 | var job = new EaseJob();
29 | return job.Schedule(this, inputDeps);
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Sine/EaseOutSineSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: eb9d0ba3600c49e4a0a9209f93a59a39
3 | timeCreated: 1554876370
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Square.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bdf32cc17d734903b6f5e96ca249ae67
3 | timeCreated: 1555097373
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Square/EaseInOutSquareSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using Unity.Mathematics;
6 | using PlasticApps.Systems.Groups;
7 | using Unity.Burst;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseInOutSquareSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseInOutSquare))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | float value = tween.NormalizedTime;
22 | tween.Value = value < 0.5 ? 0 : 1;
23 | }
24 | }
25 |
26 | protected override JobHandle OnUpdate(JobHandle inputDeps)
27 | {
28 | var job = new EaseJob();
29 | return job.Schedule(this, inputDeps);
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Square/EaseInOutSquareSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b696d8fb179f4e9d968982698ff3dd93
3 | timeCreated: 1555097373
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Square/EaseInSquareSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using Unity.Mathematics;
6 | using PlasticApps.Systems.Groups;
7 | using Unity.Burst;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseInSquareSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseInSquare))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | float value = tween.NormalizedTime;
22 | tween.Value = value < 1 ? 0 : 1;
23 | }
24 | }
25 |
26 | protected override JobHandle OnUpdate(JobHandle inputDeps)
27 | {
28 | var job = new EaseJob();
29 | return job.Schedule(this, inputDeps);
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Square/EaseInSquareSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0eb6f89d2d694f30ac3fddadba0df605
3 | timeCreated: 1555097373
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Square/EaseOutSquareSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Entities;
4 | using Unity.Jobs;
5 | using Unity.Mathematics;
6 | using PlasticApps.Systems.Groups;
7 | using Unity.Burst;
8 |
9 | namespace PlasticApps.Systems.Ease
10 | {
11 | [UpdateInGroup(typeof(TweenEasesSystems))]
12 | public class EaseOutSquareSystem : JobComponentSystem
13 | {
14 | [BurstCompile]
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | [RequireComponentTag(typeof(TweenEaseOutSquare))]
17 | struct EaseJob : IJobForEach
18 | {
19 | public void Execute(ref TweenBase tween)
20 | {
21 | float value = tween.NormalizedTime;
22 | tween.Value = value > 0 ? 1 : 0;
23 | }
24 | }
25 |
26 | protected override JobHandle OnUpdate(JobHandle inputDeps)
27 | {
28 | var job = new EaseJob();
29 | return job.Schedule(this, inputDeps);
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Ease/Square/EaseOutSquareSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9e8b5ffd8db54522ab8f2fde6be248d9
3 | timeCreated: 1555097373
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Groups.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 088825b323974f9a8dd516f39cb647aa
3 | timeCreated: 1554797080
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Groups/TweenEasesSystems.cs:
--------------------------------------------------------------------------------
1 | using Unity.Entities;
2 |
3 | namespace PlasticApps.Systems.Groups
4 | {
5 | [UpdateAfter(typeof(TweenUpdateSystem))]
6 | [UpdateInGroup(typeof(TweenSystems))]
7 | public class TweenEasesSystems: ComponentSystemGroup
8 | {
9 | }
10 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Groups/TweenEasesSystems.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4c0773f07a4b48519ce110919b34723f
3 | timeCreated: 1554789026
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Groups/TweenSystems.cs:
--------------------------------------------------------------------------------
1 | using Unity.Entities;
2 |
3 | namespace PlasticApps.Systems.Groups
4 | {
5 | public class TweenSystems: ComponentSystemGroup
6 | {
7 | }
8 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Groups/TweenSystems.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c396845c45e44c1b99b24a4f2464ee6f
3 | timeCreated: 1555058096
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Groups/TweenValuesSystems.cs:
--------------------------------------------------------------------------------
1 | using Unity.Entities;
2 |
3 | namespace PlasticApps.Systems.Groups
4 | {
5 | [UpdateInGroup(typeof(TweenSystems))]
6 | [UpdateAfter(typeof(TweenUpdateSystem))]
7 | [UpdateAfter(typeof(TweenEasesSystems))]
8 | public class TweenValuesSystems: ComponentSystemGroup
9 | {
10 | }
11 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/Groups/TweenValuesSystems.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 485169f9e85d4024ac5a20b47eb0f431
3 | timeCreated: 1554797100
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/SubSystems.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b231739345d4404bb80721a72083178e
3 | timeCreated: 1554794015
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/SubSystems/TweenLocalTransformSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Systems.Groups;
3 | using Unity.Burst;
4 | using Unity.Collections;
5 | using Unity.Entities;
6 | using Unity.Jobs;
7 | using Unity.Transforms;
8 | using UnityEngine;
9 | using UnityEngine.Jobs;
10 |
11 | namespace PlasticApps.Systems.SubSystems
12 | {
13 | [UpdateInGroup(typeof(TweenSystems))]
14 | [UpdateAfter(typeof(TweenValuesSystems))]
15 | public class TweenLocalTransformSystem : JobComponentSystem
16 | {
17 | //[BurstCompile]
18 | struct ApplyTranslationJob : IJobParallelForTransform
19 | {
20 | [DeallocateOnJobCompletion] [ReadOnly] public NativeArray positions;
21 |
22 | public void Execute(int index, TransformAccess transform)
23 | {
24 | transform.localPosition = positions[index].Value;
25 | }
26 | }
27 |
28 | struct ApplyRotationJob : IJobParallelForTransform
29 | {
30 | [DeallocateOnJobCompletion] [ReadOnly] public NativeArray rotations;
31 |
32 | public void Execute(int index, TransformAccess transform)
33 | {
34 | transform.localRotation = rotations[index].Value;
35 | }
36 | }
37 |
38 | EntityQuery m_TranslateGroup;
39 | EntityQuery m_RotateGroup;
40 |
41 | protected override void OnCreateManager()
42 | {
43 | m_TranslateGroup =
44 | GetEntityQuery(ComponentType.ReadOnly(typeof(TweenBase)),
45 | ComponentType.ReadOnly(typeof(TweenGameObjectLocal)), ComponentType.ReadOnly(typeof(Translation)),
46 | ComponentType.ReadWrite());
47 |
48 | m_RotateGroup =
49 | GetEntityQuery(ComponentType.ReadOnly(typeof(TweenBase)),
50 | ComponentType.ReadOnly(typeof(TweenGameObjectLocal)), ComponentType.ReadOnly(typeof(Rotation)),
51 | ComponentType.ReadWrite());
52 | }
53 |
54 | protected override JobHandle OnUpdate(JobHandle inputDeps)
55 | {
56 | int translationLength = m_TranslateGroup.CalculateLength();
57 | int rotationLength = m_RotateGroup.CalculateLength();
58 | if (translationLength == 0 && rotationLength == 0) return inputDeps;
59 |
60 | var translateTransforms = m_TranslateGroup.GetTransformAccessArray();
61 | var positions = m_TranslateGroup.ToComponentDataArray(Allocator.TempJob);
62 | var applyTranslationJob = new ApplyTranslationJob
63 | {
64 | positions = positions,
65 | };
66 |
67 | var translateHandle = applyTranslationJob.Schedule(translateTransforms, inputDeps);
68 |
69 | var rotateTransforms = m_RotateGroup.GetTransformAccessArray();
70 | var rotations = m_RotateGroup.ToComponentDataArray(Allocator.TempJob);
71 | var applyRotationJob = new ApplyRotationJob
72 | {
73 | rotations = rotations,
74 | };
75 |
76 | return applyRotationJob.Schedule(rotateTransforms, translateHandle);
77 | }
78 | }
79 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/SubSystems/TweenLocalTransformSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e5387081738531f47bf7da96a5779d76
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/SubSystems/TweenTransformSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Systems.Groups;
3 | using Unity.Burst;
4 | using Unity.Collections;
5 | using Unity.Entities;
6 | using Unity.Jobs;
7 | using Unity.Transforms;
8 | using UnityEngine;
9 | using UnityEngine.Jobs;
10 |
11 | namespace PlasticApps.Systems.SubSystems
12 | {
13 | [UpdateInGroup(typeof(TweenSystems))]
14 | [UpdateAfter(typeof(TweenValuesSystems))]
15 | public class TweenTransformSystem : JobComponentSystem
16 | {
17 | // [BurstCompile]
18 | struct ApplyTranslationJob : IJobParallelForTransform
19 | {
20 | [DeallocateOnJobCompletion] [ReadOnly] public NativeArray positions;
21 |
22 | public void Execute(int index, TransformAccess transform)
23 | {
24 | transform.position = positions[index].Value;
25 | }
26 | }
27 |
28 | struct ApplyRotationJob : IJobParallelForTransform
29 | {
30 | [DeallocateOnJobCompletion] [ReadOnly] public NativeArray rotations;
31 |
32 | public void Execute(int index, TransformAccess transform)
33 | {
34 | transform.rotation = rotations[index].Value;
35 | }
36 | }
37 |
38 | EntityQuery m_TranslateGroup;
39 | EntityQuery m_RotateGroup;
40 |
41 | protected override void OnCreateManager()
42 | {
43 | m_TranslateGroup =
44 | GetEntityQuery(ComponentType.ReadOnly(typeof(TweenBase)),
45 | ComponentType.ReadOnly(typeof(TweenGameObject)), ComponentType.ReadOnly(typeof(Translation)),
46 | ComponentType.ReadWrite());
47 |
48 | m_RotateGroup =
49 | GetEntityQuery(ComponentType.ReadOnly(typeof(TweenBase)),
50 | ComponentType.ReadOnly(typeof(TweenGameObject)), ComponentType.ReadOnly(typeof(Rotation)),
51 | ComponentType.ReadWrite());
52 | }
53 |
54 | protected override JobHandle OnUpdate(JobHandle inputDeps)
55 | {
56 | int translationLength = m_TranslateGroup.CalculateLength();
57 | int rotationLength = m_RotateGroup.CalculateLength();
58 | if (translationLength == 0 && rotationLength==0) return inputDeps;
59 |
60 | var translateTransforms = m_TranslateGroup.GetTransformAccessArray();
61 | var positions = m_TranslateGroup.ToComponentDataArray(Allocator.TempJob);
62 | var applyTranslationJob = new ApplyTranslationJob
63 | {
64 | positions = positions,
65 | };
66 |
67 | var translateHandle = applyTranslationJob.Schedule(translateTransforms, inputDeps);
68 |
69 | var rotateTransforms = m_RotateGroup.GetTransformAccessArray();
70 | var rotations = m_RotateGroup.ToComponentDataArray(Allocator.TempJob);
71 | var applyRotationJob = new ApplyRotationJob
72 | {
73 | rotations = rotations,
74 | };
75 |
76 | return applyRotationJob.Schedule(rotateTransforms, translateHandle);
77 | }
78 | }
79 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/SubSystems/TweenTransformSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3c0de6460a1c40589ab0b0e0a9fd9ab9
3 | timeCreated: 1554794023
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/TweenCommandSystem.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using PlasticApps.Components;
3 | using PlasticApps.Systems.Groups;
4 | using Unity.Collections;
5 | using Unity.Entities;
6 | using UnityEngine;
7 |
8 | namespace PlasticApps.Systems
9 | {
10 | // main thread for using callbacks
11 | [UpdateBefore(typeof(TweenEraseSystem))]
12 | [UpdateInGroup(typeof(TweenSystems))]
13 | public class TweenCommandSystem : ComponentSystem
14 | {
15 | private EntityCommandBufferSystem m_EndFrameSystem;
16 |
17 | private EntityQuery m_AllTweens;
18 | private EntityQuery m_PlayingTweens;
19 | private EntityQuery m_PausedTweens;
20 | private EntityQuery m_TweenCompleteCallbacks;
21 |
22 | private Dictionary m_Callbacks;
23 |
24 | protected override void OnCreate()
25 | {
26 | m_Callbacks = new Dictionary();
27 | m_EndFrameSystem = World.GetOrCreateSystem();
28 |
29 | m_AllTweens = GetEntityQuery(ComponentType.ReadOnly(), ComponentType.Exclude());
30 |
31 | m_PlayingTweens = GetEntityQuery(ComponentType.ReadOnly(), ComponentType.Exclude(),
32 | ComponentType.Exclude());
33 |
34 | m_PausedTweens = GetEntityQuery(ComponentType.ReadOnly(), ComponentType.ReadOnly(),
35 | ComponentType.Exclude());
36 |
37 | m_TweenCompleteCallbacks = GetEntityQuery(ComponentType.ReadOnly(),
38 | ComponentType.ReadOnly());
39 | }
40 |
41 | protected override void OnDestroy()
42 | {
43 | m_Callbacks.Clear();
44 | }
45 |
46 | private void AddCommandTween(int tagId, T command, EntityQuery tweens) where T : struct, IComponentData
47 | {
48 | var totalTweens = tweens.CalculateLength();
49 | if (totalTweens == 0) return;
50 | var entities = tweens.ToEntityArray(Allocator.TempJob);
51 | var tags = tweens.ToComponentDataArray(Allocator.TempJob);
52 | var commandBuffer = m_EndFrameSystem.CreateCommandBuffer();
53 |
54 | for (int i = 0; i < totalTweens; i++)
55 | {
56 | var entity = entities[i];
57 | var tag = tags[i];
58 | if (tagId == -1 || tag.Value == tagId)
59 | {
60 | commandBuffer.AddComponent(entity, command);
61 | }
62 | }
63 |
64 | entities.Dispose();
65 | tags.Dispose();
66 | }
67 |
68 | private void RemoveCommandTween(int tagId, EntityQuery tweens) where T : struct, IComponentData
69 | {
70 | var totalTweens = tweens.CalculateLength();
71 | if (totalTweens == 0) return;
72 | var entities = tweens.ToEntityArray(Allocator.TempJob);
73 | var tags = tweens.ToComponentDataArray(Allocator.TempJob);
74 | var commandBuffer = m_EndFrameSystem.CreateCommandBuffer();
75 |
76 | for (int i = 0; i < totalTweens; i++)
77 | {
78 | var entity = entities[i];
79 | var tag = tags[i];
80 | if (tagId == -1 || tag.Value == tagId)
81 | {
82 | commandBuffer.RemoveComponent(entity, new ComponentType(typeof(T)));
83 | }
84 | }
85 | entities.Dispose();
86 | tags.Dispose();
87 | }
88 |
89 | public void StopTween(int tagId = -1)
90 | {
91 | AddCommandTween(tagId, new TweenComplete(), m_AllTweens);
92 | }
93 |
94 | public void PauseTween(int tagId = -1)
95 | {
96 | AddCommandTween(tagId, new TweenPaused(), m_PlayingTweens);
97 | }
98 |
99 | public void UnPauseTween(int tagId = -1)
100 | {
101 | RemoveCommandTween(tagId, m_PausedTweens);
102 | }
103 |
104 | public void AddCompleteCallback(Entity entity, System.Action action)
105 | {
106 | m_Callbacks.Add(entity.Index, action);
107 | EntityManager.AddComponentData(entity, new TweenCompleteCallback {Value = entity.Index});
108 | }
109 |
110 | protected override void OnUpdate()
111 | {
112 | int total = m_TweenCompleteCallbacks.CalculateLength();
113 | if (total == 0) return;
114 | var entities = m_TweenCompleteCallbacks.ToEntityArray(Allocator.TempJob);
115 | for (int i = 0; i < total; i++)
116 | {
117 | var id = entities[i].Index;
118 | if (m_Callbacks.ContainsKey(id))
119 | {
120 | m_Callbacks[id].Invoke();
121 | m_Callbacks.Remove(id);
122 | }
123 | }
124 | entities.Dispose();
125 | }
126 | }
127 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/TweenCommandSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a95117fc5c25402eae68fa5c32f7d7e8
3 | timeCreated: 1555059254
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/TweenCompleteSystem.cs:
--------------------------------------------------------------------------------
1 | using Unity.Jobs;
2 | using Unity.Entities;
3 | using PlasticApps.Components;
4 | using PlasticApps.Systems.Groups;
5 | using Unity.Collections;
6 | using UnityEngine;
7 | using UnityEngine.UIElements;
8 |
9 | namespace PlasticApps.Systems
10 | {
11 | [UpdateAfter(typeof(TweenUpdateSystem))]
12 | [UpdateInGroup(typeof(TweenSystems))]
13 | public class TweenCompleteSystem : JobComponentSystem
14 | {
15 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
16 | struct JobComplete : IJobForEachWithEntity
17 | {
18 | [ReadOnly] public EntityCommandBuffer CommandBuffer;
19 |
20 | public void Execute(Entity entity, int index, ref TweenBase tween)
21 | {
22 | if ((tween.NormalizedTime >= 1 && tween.Reversed == 0) ||
23 | (tween.NormalizedTime <= 0 && tween.Reversed == 1))
24 | {
25 | if (tween.PingPong == 1 && tween.Reversed == 0)
26 | {
27 | tween.Reversed = 1;
28 | tween.Time -= tween.Duration;
29 | }
30 | else if (tween.Loop == -1 || tween.Loop > 0)
31 | {
32 | if (tween.Loop > 0)
33 | tween.Loop -= 1;
34 | tween.Reversed = 0;
35 | tween.Time -= tween.Duration;
36 | }
37 | else
38 | {
39 | CommandBuffer.AddComponent(entity, new TweenComplete());
40 | }
41 | }
42 | }
43 | }
44 |
45 | private EntityCommandBufferSystem m_EndFrameSystem;
46 |
47 | protected override void OnCreateManager()
48 | {
49 | m_EndFrameSystem = World.GetOrCreateSystem();
50 | }
51 |
52 | protected override JobHandle OnUpdate(JobHandle inputDeps)
53 | {
54 | var job = new JobComplete()
55 | {
56 | CommandBuffer = m_EndFrameSystem.CreateCommandBuffer()
57 | }.ScheduleSingle(this, inputDeps);
58 | m_EndFrameSystem.AddJobHandleForProducer(job);
59 | return job;
60 | }
61 | }
62 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/TweenCompleteSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: afb84494e4bf4a0389466509ec7ef88d
3 | timeCreated: 1554750437
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/TweenEraseSystem.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using PlasticApps.Components;
5 | using PlasticApps.Systems.Groups;
6 | using Unity.Collections;
7 | using Unity.Entities;
8 | using UnityEngine;
9 | using Unity.Jobs;
10 |
11 | namespace PlasticApps.Systems
12 | {
13 | [UpdateBefore(typeof(TweenCompleteSystem))]
14 | [UpdateInGroup(typeof(TweenSystems))]
15 | public class TweenEraseSystem : ComponentSystem
16 | {
17 | private EntityQuery m_QueryCompleted;
18 |
19 | protected override void OnCreateManager()
20 | {
21 | m_QueryCompleted = GetEntityQuery(ComponentType.ReadOnly());
22 | }
23 |
24 | protected override void OnUpdate()
25 | {
26 | int total = m_QueryCompleted.CalculateLength();
27 | if (total == 0) return;
28 | var entities = m_QueryCompleted.ToEntityArray(Allocator.TempJob);
29 |
30 | for (int i = 0; i < total; ++i)
31 | PostUpdateCommands.DestroyEntity(entities[i]);
32 |
33 | entities.Dispose();
34 | }
35 | }
36 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/TweenEraseSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: df7a9c480458948feb353b45e4083410
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/TweenPositionSystem.cs:
--------------------------------------------------------------------------------
1 | //#define SINGLE_ENTITY
2 |
3 | #define JOB_EACH
4 | using PlasticApps.Systems.Groups;
5 | using PlasticApps.Components;
6 | using Unity.Burst;
7 | using Unity.Collections;
8 | using Unity.Entities;
9 | using Unity.Jobs;
10 | using Unity.Mathematics;
11 | using Unity.Transforms;
12 | using UnityEngine;
13 | using UnityEngine.Experimental.PlayerLoop;
14 |
15 | namespace PlasticApps.Systems
16 | {
17 | [UpdateInGroup(typeof(TweenValuesSystems))]
18 | public class TweenPositionSystem : JobComponentSystem
19 | {
20 | // first implementation tween attach to source entity
21 | #if SINGLE_ENTITY
22 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
23 | struct TweenValueJob : IJobForEach
24 | {
25 | public void Execute([ReadOnly] ref TweenBase tween, [ReadOnly] ref TweenMove move,
26 | ref Translation position)
27 | {
28 | position.Value = math.lerp(move.From, move.To, tween.Value);
29 | }
30 | }
31 |
32 | protected override JobHandle OnUpdate(JobHandle inputDeps)
33 | {
34 | return new TweenValueJob().Schedule(this, inputDeps);
35 | }
36 |
37 | #else
38 | #if !JOB_EACH
39 | // second implementation tween entity with tweening entity
40 | // [BurstCompile]
41 | struct TweenValueJob : IJobParallelFor
42 | {
43 | [DeallocateOnJobCompletion] [ReadOnly] public NativeArray Tweens;
44 | [DeallocateOnJobCompletion] [ReadOnly] public NativeArray Moves;
45 | [DeallocateOnJobCompletion] [ReadOnly] public NativeArray Bases;
46 |
47 | [NativeDisableParallelForRestriction] public ComponentDataFromEntity Translations;
48 |
49 | public void Execute(int index)
50 | {
51 | Entity transformEntity = Tweens[index].Value;
52 | var move = Moves[index];
53 | var tween = Bases[index];
54 | if (Translations.Exists(transformEntity))
55 | {
56 | var v = math.lerp(move.From, move.To, tween.Value);
57 | Translations[transformEntity] = new Translation {Value = v};
58 | }
59 | }
60 | }
61 |
62 | private EntityQuery m_QueryCompleted;
63 |
64 | protected override void OnCreate()
65 | {
66 | m_QueryCompleted = GetEntityQuery(
67 | ComponentType.ReadOnly(),
68 | ComponentType.ReadOnly(),
69 | ComponentType.ReadOnly(),
70 | ComponentType.Exclude(),
71 | ComponentType.Exclude());
72 | }
73 |
74 | protected override JobHandle OnUpdate(JobHandle inputDeps)
75 | {
76 | int total = m_QueryCompleted.CalculateLength();
77 | var moveRigidbodies = new TweenValueJob
78 | {
79 | Translations = GetComponentDataFromEntity(false),
80 | Tweens = m_QueryCompleted.ToComponentDataArray(Allocator.TempJob),
81 | Moves = m_QueryCompleted.ToComponentDataArray(Allocator.TempJob),
82 | Bases = m_QueryCompleted.ToComponentDataArray(Allocator.TempJob)
83 | }.Schedule(total, 64, inputDeps);
84 |
85 | return moveRigidbodies;
86 | }
87 | #else
88 | // 3 implementation
89 | // [BurstCompile]
90 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
91 | struct TweenValueJob : IJobForEach
92 | {
93 | [NativeDisableParallelForRestriction] public ComponentDataFromEntity Translations;
94 |
95 | public void Execute([ReadOnly] ref TweenBase tween, [ReadOnly] ref TweenMove move,
96 | [ReadOnly] ref TweenEntity entity)
97 | {
98 | if (Translations.Exists(entity.Value))
99 | {
100 | Translations[entity.Value] = new Translation
101 | {
102 | Value = math.lerp(move.From, move.To, tween.Value)
103 | };
104 | }
105 | }
106 | }
107 |
108 | protected override JobHandle OnUpdate(JobHandle inputDeps)
109 | {
110 | return new TweenValueJob
111 | {
112 | Translations = GetComponentDataFromEntity()
113 | }.Schedule(this, inputDeps);
114 | }
115 | #endif
116 | #endif
117 | }
118 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/TweenPositionSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6ba2b67f33214005a92abcb50224e3d3
3 | timeCreated: 1554796962
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/TweenRotationSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Systems.Groups;
3 | using Unity.Collections;
4 | using Unity.Entities;
5 | using Unity.Jobs;
6 | using Unity.Mathematics;
7 | using Unity.Transforms;
8 |
9 | namespace PlasticApps.Systems
10 | {
11 | [UpdateInGroup(typeof(TweenValuesSystems))]
12 | public class TweenRotationSystem : JobComponentSystem
13 | {
14 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
15 | struct TweenValueJob : IJobForEach
16 | {
17 | [NativeDisableParallelForRestriction] public ComponentDataFromEntity Rotations;
18 |
19 | public void Execute([ReadOnly] ref TweenBase tween, [ReadOnly] ref TweenRotate rotate,
20 | [ReadOnly] ref TweenEntity entity)
21 | {
22 | if (Rotations.Exists(entity.Value))
23 | {
24 | Rotations[entity.Value] = new Rotation
25 | {
26 | Value = math.slerp(rotate.From, rotate.To, tween.Value)
27 | };
28 | }
29 | }
30 | }
31 |
32 | protected override JobHandle OnUpdate(JobHandle inputDeps)
33 | {
34 | return new TweenValueJob
35 | {
36 | Rotations = GetComponentDataFromEntity()
37 | }.Schedule(this, inputDeps);
38 | }
39 | }
40 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/TweenRotationSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e5bf33a23a1c42b890eae6aa202bbcfe
3 | timeCreated: 1554797708
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/TweenScaleSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Systems.Groups;
2 | using PlasticApps.Components;
3 | using Unity.Collections;
4 | using Unity.Entities;
5 | using Unity.Jobs;
6 | using Unity.Mathematics;
7 | using Unity.Transforms;
8 |
9 | namespace PlasticApps.Systems
10 | {
11 | [UpdateInGroup(typeof(TweenValuesSystems))]
12 | public class TweenScaleSystem : JobComponentSystem
13 | {
14 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
15 | struct TweenValueJob : IJobForEach
16 | {
17 | [NativeDisableParallelForRestriction] public ComponentDataFromEntity Scales;
18 |
19 | public void Execute([ReadOnly] ref TweenBase tween, [ReadOnly] ref TweenScale scale,
20 | [ReadOnly] ref TweenEntity entity)
21 | {
22 | if (Scales.Exists(entity.Value))
23 | {
24 | Scales[entity.Value] = new NonUniformScale
25 | {
26 | Value = math.lerp(scale.From, scale.To, tween.Value)
27 | };
28 | }
29 | }
30 | }
31 |
32 | protected override JobHandle OnUpdate(JobHandle inputDeps)
33 | {
34 | return new TweenValueJob
35 | {
36 | Scales = GetComponentDataFromEntity()
37 | }.Schedule(this, inputDeps);
38 | }
39 | }
40 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/TweenScaleSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 222320a24aab4faf9cfd7373827c5db5
3 | timeCreated: 1554797902
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/TweenUpdateSystem.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Systems.Groups;
3 | using Unity.Burst;
4 | using Unity.Collections;
5 | using Unity.Entities;
6 | using Unity.Jobs;
7 | using Unity.Mathematics;
8 | using UnityEngine;
9 |
10 | namespace PlasticApps.Systems
11 | {
12 | [UpdateInGroup(typeof(TweenSystems))]
13 | public class TweenUpdateSystem : JobComponentSystem
14 | {
15 | [BurstCompile]
16 | [ExcludeComponent(typeof(TweenPaused), typeof(TweenComplete))]
17 | struct UpdateJob : IJobForEach
18 | {
19 | public float deltaTime;
20 |
21 | public void Execute(ref TweenBase tween)
22 | {
23 | float runningTime = tween.Time + deltaTime;
24 | tween.Time = runningTime;
25 |
26 | if (runningTime >= 0)
27 | {
28 | float percentage = tween.Duration > 0 ? runningTime / tween.Duration : 1.0f;
29 | tween.NormalizedTime = math.clamp(
30 | tween.Reversed == 1 ? 1.0f - percentage : percentage,
31 | 0.0f, 1.0f
32 | );
33 | }
34 | }
35 | }
36 |
37 | protected override JobHandle OnUpdate(JobHandle inputDeps)
38 | {
39 | float dt = Time.deltaTime;
40 | UpdateJob job = new UpdateJob
41 | {
42 | deltaTime = dt
43 | };
44 | return job.Schedule(this, inputDeps);
45 | }
46 |
47 | // same as JobForEach - but more expensive? GC?
48 | // [BurstCompile]
49 | // struct UpdateJob : IJobParallelFor
50 | // {
51 | // [ReadOnly] public float deltaTime;
52 | //
53 | // [DeallocateOnJobCompletion] [ReadOnly] public NativeArray Entities;
54 | //
55 | // [DeallocateOnJobCompletion] [ReadOnly] public NativeArray Tweens;
56 | // [NativeDisableParallelForRestriction] public ComponentDataFromEntity OutTweens;
57 | //
58 | // public void Execute(int index)
59 | // {
60 | // var entity = Entities[index];
61 | // if (OutTweens.Exists(entity))
62 | // {
63 | // var tween = OutTweens[entity];
64 | // float runningTime = tween.Time + deltaTime;
65 | // float percentage = tween.Duration > 0 ? runningTime / tween.Duration : 1.0f;
66 | // tween.Time = runningTime;
67 | // tween.NormalizedTime = math.clamp(
68 | // tween.Reversed == 1 ? 1.0f - percentage : percentage,
69 | // 0.0f, 1.0f
70 | // );
71 | // OutTweens[entity] = tween;
72 | // }
73 | // }
74 | // }
75 | //
76 | // private EntityQuery m_QueryCompleted;
77 | //
78 | // protected override void OnCreate()
79 | // {
80 | // m_QueryCompleted = GetEntityQuery(
81 | // ComponentType.ReadOnly(),
82 | // ComponentType.Exclude(),
83 | // ComponentType.Exclude()
84 | // );
85 | // }
86 | //
87 | // protected override JobHandle OnUpdate(JobHandle inputDeps)
88 | // {
89 | // var dt = Time.deltaTime;
90 | // int total = m_QueryCompleted.CalculateLength();
91 | //
92 | // return new UpdateJob
93 | // {
94 | //// Tweens = m_QueryCompleted.ToComponentDataArray(Allocator.TempJob),
95 | // Entities = m_QueryCompleted.ToEntityArray(Allocator.TempJob),
96 | // OutTweens = GetComponentDataFromEntity(),
97 | // deltaTime = dt
98 | // }.Schedule(total, 1, inputDeps);
99 | // }
100 | }
101 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Systems/TweenUpdateSystem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bf57817359054f4baeb6824976c3dbdc
3 | timeCreated: 1554751317
--------------------------------------------------------------------------------
/Assets/PlasticApps/Test.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 93968a2bda45f4c2cb688d78cb319900
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/PlasticApps/Test/Camera2.preset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!181963792 &2655988077585873504
4 | Preset:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_Name: Camera2
10 | m_TargetType:
11 | m_NativeTypeID: 4
12 | m_ManagedTypePPtr: {fileID: 0}
13 | m_ManagedTypeFallback:
14 | m_Properties:
15 | - target: {fileID: 0}
16 | propertyPath: m_LocalRotation.x
17 | value: 0.29183015
18 | objectReference: {fileID: 0}
19 | - target: {fileID: 0}
20 | propertyPath: m_LocalRotation.y
21 | value: 0.34350842
22 | objectReference: {fileID: 0}
23 | - target: {fileID: 0}
24 | propertyPath: m_LocalRotation.z
25 | value: -0.123490036
26 | objectReference: {fileID: 0}
27 | - target: {fileID: 0}
28 | propertyPath: m_LocalRotation.w
29 | value: 0.88407433
30 | objectReference: {fileID: 0}
31 | - target: {fileID: 0}
32 | propertyPath: m_LocalPosition.x
33 | value: 21.2
34 | objectReference: {fileID: 0}
35 | - target: {fileID: 0}
36 | propertyPath: m_LocalPosition.y
37 | value: 30.4
38 | objectReference: {fileID: 0}
39 | - target: {fileID: 0}
40 | propertyPath: m_LocalPosition.z
41 | value: 19.2
42 | objectReference: {fileID: 0}
43 | - target: {fileID: 0}
44 | propertyPath: m_LocalScale.x
45 | value: 1
46 | objectReference: {fileID: 0}
47 | - target: {fileID: 0}
48 | propertyPath: m_LocalScale.y
49 | value: 1
50 | objectReference: {fileID: 0}
51 | - target: {fileID: 0}
52 | propertyPath: m_LocalScale.z
53 | value: 1
54 | objectReference: {fileID: 0}
55 | - target: {fileID: 0}
56 | propertyPath: m_RootOrder
57 | value: 0
58 | objectReference: {fileID: 0}
59 | - target: {fileID: 0}
60 | propertyPath: m_LocalEulerAnglesHint.x
61 | value: 36.93
62 | objectReference: {fileID: 0}
63 | - target: {fileID: 0}
64 | propertyPath: m_LocalEulerAnglesHint.y
65 | value: 42.04
66 | objectReference: {fileID: 0}
67 | - target: {fileID: 0}
68 | propertyPath: m_LocalEulerAnglesHint.z
69 | value: -1.28
70 | objectReference: {fileID: 0}
71 |
--------------------------------------------------------------------------------
/Assets/PlasticApps/Test/Camera2.preset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4246726d57ec446d1af0ddf629ebf6a7
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2655988077585873504
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/PlasticApps/Test/Camera3.preset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!181963792 &2655988077585873504
4 | Preset:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_Name: Camera3
10 | m_TargetType:
11 | m_NativeTypeID: 4
12 | m_ManagedTypePPtr: {fileID: 0}
13 | m_ManagedTypeFallback:
14 | m_Properties:
15 | - target: {fileID: 0}
16 | propertyPath: m_LocalRotation.x
17 | value: 0.2959581
18 | objectReference: {fileID: 0}
19 | - target: {fileID: 0}
20 | propertyPath: m_LocalRotation.y
21 | value: 0
22 | objectReference: {fileID: 0}
23 | - target: {fileID: 0}
24 | propertyPath: m_LocalRotation.z
25 | value: 0
26 | objectReference: {fileID: 0}
27 | - target: {fileID: 0}
28 | propertyPath: m_LocalRotation.w
29 | value: 0.95520097
30 | objectReference: {fileID: 0}
31 | - target: {fileID: 0}
32 | propertyPath: m_LocalPosition.x
33 | value: 86.8
34 | objectReference: {fileID: 0}
35 | - target: {fileID: 0}
36 | propertyPath: m_LocalPosition.y
37 | value: 77.6
38 | objectReference: {fileID: 0}
39 | - target: {fileID: 0}
40 | propertyPath: m_LocalPosition.z
41 | value: -50
42 | objectReference: {fileID: 0}
43 | - target: {fileID: 0}
44 | propertyPath: m_LocalScale.x
45 | value: 1
46 | objectReference: {fileID: 0}
47 | - target: {fileID: 0}
48 | propertyPath: m_LocalScale.y
49 | value: 1
50 | objectReference: {fileID: 0}
51 | - target: {fileID: 0}
52 | propertyPath: m_LocalScale.z
53 | value: 1
54 | objectReference: {fileID: 0}
55 | - target: {fileID: 0}
56 | propertyPath: m_RootOrder
57 | value: 0
58 | objectReference: {fileID: 0}
59 | - target: {fileID: 0}
60 | propertyPath: m_LocalEulerAnglesHint.x
61 | value: 34.43
62 | objectReference: {fileID: 0}
63 | - target: {fileID: 0}
64 | propertyPath: m_LocalEulerAnglesHint.y
65 | value: 0
66 | objectReference: {fileID: 0}
67 | - target: {fileID: 0}
68 | propertyPath: m_LocalEulerAnglesHint.z
69 | value: 0
70 | objectReference: {fileID: 0}
71 |
--------------------------------------------------------------------------------
/Assets/PlasticApps/Test/Camera3.preset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 157f0d47186b1438c9c0f16051252806
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2655988077585873504
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/PlasticApps/Test/Camera4.preset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!181963792 &2655988077585873504
4 | Preset:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_Name: Camera4
10 | m_TargetType:
11 | m_NativeTypeID: 4
12 | m_ManagedTypePPtr: {fileID: 0}
13 | m_ManagedTypeFallback:
14 | m_Properties:
15 | - target: {fileID: 0}
16 | propertyPath: m_LocalRotation.x
17 | value: 0.57818025
18 | objectReference: {fileID: 0}
19 | - target: {fileID: 0}
20 | propertyPath: m_LocalRotation.y
21 | value: 0.085680746
22 | objectReference: {fileID: 0}
23 | - target: {fileID: 0}
24 | propertyPath: m_LocalRotation.z
25 | value: -0.06122836
26 | objectReference: {fileID: 0}
27 | - target: {fileID: 0}
28 | propertyPath: m_LocalRotation.w
29 | value: 0.8090844
30 | objectReference: {fileID: 0}
31 | - target: {fileID: 0}
32 | propertyPath: m_LocalPosition.x
33 | value: 79.8
34 | objectReference: {fileID: 0}
35 | - target: {fileID: 0}
36 | propertyPath: m_LocalPosition.y
37 | value: 59.8
38 | objectReference: {fileID: 0}
39 | - target: {fileID: 0}
40 | propertyPath: m_LocalPosition.z
41 | value: 71.4
42 | objectReference: {fileID: 0}
43 | - target: {fileID: 0}
44 | propertyPath: m_LocalScale.x
45 | value: 1
46 | objectReference: {fileID: 0}
47 | - target: {fileID: 0}
48 | propertyPath: m_LocalScale.y
49 | value: 1
50 | objectReference: {fileID: 0}
51 | - target: {fileID: 0}
52 | propertyPath: m_LocalScale.z
53 | value: 1
54 | objectReference: {fileID: 0}
55 | - target: {fileID: 0}
56 | propertyPath: m_RootOrder
57 | value: 0
58 | objectReference: {fileID: 0}
59 | - target: {fileID: 0}
60 | propertyPath: m_LocalEulerAnglesHint.x
61 | value: 71.1
62 | objectReference: {fileID: 0}
63 | - target: {fileID: 0}
64 | propertyPath: m_LocalEulerAnglesHint.y
65 | value: 12.09
66 | objectReference: {fileID: 0}
67 | - target: {fileID: 0}
68 | propertyPath: m_LocalEulerAnglesHint.z
69 | value: 0
70 | objectReference: {fileID: 0}
71 |
--------------------------------------------------------------------------------
/Assets/PlasticApps/Test/Camera4.preset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fe83021ec4b90476c892802bd053ddcb
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2655988077585873504
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/PlasticApps/Test/Cube.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1 &851407407286961622
4 | GameObject:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | serializedVersion: 6
10 | m_Component:
11 | - component: {fileID: 4952631542493803003}
12 | - component: {fileID: 6635405015675209877}
13 | - component: {fileID: 3084407560544652254}
14 | m_Layer: 0
15 | m_Name: Cube (4)
16 | m_TagString: Untagged
17 | m_Icon: {fileID: 0}
18 | m_NavMeshLayer: 0
19 | m_StaticEditorFlags: 0
20 | m_IsActive: 1
21 | --- !u!4 &4952631542493803003
22 | Transform:
23 | m_ObjectHideFlags: 0
24 | m_CorrespondingSourceObject: {fileID: 0}
25 | m_PrefabInstance: {fileID: 0}
26 | m_PrefabAsset: {fileID: 0}
27 | m_GameObject: {fileID: 851407407286961622}
28 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
29 | m_LocalPosition: {x: 0, y: 0, z: 0}
30 | m_LocalScale: {x: 1, y: 1, z: 1}
31 | m_Children: []
32 | m_Father: {fileID: 0}
33 | m_RootOrder: 0
34 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
35 | --- !u!33 &6635405015675209877
36 | MeshFilter:
37 | m_ObjectHideFlags: 0
38 | m_CorrespondingSourceObject: {fileID: 0}
39 | m_PrefabInstance: {fileID: 0}
40 | m_PrefabAsset: {fileID: 0}
41 | m_GameObject: {fileID: 851407407286961622}
42 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
43 | --- !u!23 &3084407560544652254
44 | MeshRenderer:
45 | m_ObjectHideFlags: 0
46 | m_CorrespondingSourceObject: {fileID: 0}
47 | m_PrefabInstance: {fileID: 0}
48 | m_PrefabAsset: {fileID: 0}
49 | m_GameObject: {fileID: 851407407286961622}
50 | m_Enabled: 1
51 | m_CastShadows: 1
52 | m_ReceiveShadows: 0
53 | m_DynamicOccludee: 0
54 | m_MotionVectors: 1
55 | m_LightProbeUsage: 1
56 | m_ReflectionProbeUsage: 1
57 | m_RenderingLayerMask: 1
58 | m_RendererPriority: 0
59 | m_Materials:
60 | - {fileID: 2100000, guid: 84066d2346a5b4154b2bd4d4a2272845, type: 2}
61 | m_StaticBatchInfo:
62 | firstSubMesh: 0
63 | subMeshCount: 0
64 | m_StaticBatchRoot: {fileID: 0}
65 | m_ProbeAnchor: {fileID: 0}
66 | m_LightProbeVolumeOverride: {fileID: 0}
67 | m_ScaleInLightmap: 1
68 | m_PreserveUVs: 0
69 | m_IgnoreNormalsForChartDetection: 0
70 | m_ImportantGI: 0
71 | m_StitchLightmapSeams: 0
72 | m_SelectedEditorRenderState: 3
73 | m_MinimumChartSize: 4
74 | m_AutoUVMaxDistance: 0.5
75 | m_AutoUVMaxAngle: 89
76 | m_LightmapParameters: {fileID: 0}
77 | m_SortingLayerID: 0
78 | m_SortingLayer: 0
79 | m_SortingOrder: 0
80 |
--------------------------------------------------------------------------------
/Assets/PlasticApps/Test/Cube.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9020ca8b8b06e4644b3d1f9d69932c6a
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/PlasticApps/Test/Test.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: Test
11 | m_Shader: {fileID: 10703, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords: _GLOSSYREFLECTIONS_OFF _SPECULARHIGHLIGHTS_OFF
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 1
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BackTex:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _BumpMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailAlbedoMap:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailMask:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _DetailNormalMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _DownTex:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _EmissionMap:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _FrontTex:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _LeftTex:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | - _MainTex:
59 | m_Texture: {fileID: 0}
60 | m_Scale: {x: 1, y: 1}
61 | m_Offset: {x: 0, y: 0}
62 | - _MetallicGlossMap:
63 | m_Texture: {fileID: 0}
64 | m_Scale: {x: 1, y: 1}
65 | m_Offset: {x: 0, y: 0}
66 | - _OcclusionMap:
67 | m_Texture: {fileID: 0}
68 | m_Scale: {x: 1, y: 1}
69 | m_Offset: {x: 0, y: 0}
70 | - _ParallaxMap:
71 | m_Texture: {fileID: 0}
72 | m_Scale: {x: 1, y: 1}
73 | m_Offset: {x: 0, y: 0}
74 | - _RightTex:
75 | m_Texture: {fileID: 0}
76 | m_Scale: {x: 1, y: 1}
77 | m_Offset: {x: 0, y: 0}
78 | - _UpTex:
79 | m_Texture: {fileID: 0}
80 | m_Scale: {x: 1, y: 1}
81 | m_Offset: {x: 0, y: 0}
82 | m_Floats:
83 | - _BumpScale: 1
84 | - _Cutoff: 0.5
85 | - _DetailNormalMapScale: 1
86 | - _DstBlend: 0
87 | - _GlossMapScale: 1
88 | - _Glossiness: 0
89 | - _GlossyReflections: 0
90 | - _Metallic: 0
91 | - _Mode: 0
92 | - _OcclusionStrength: 1
93 | - _Parallax: 0.02
94 | - _SmoothnessTextureChannel: 0
95 | - _SpecularHighlights: 0
96 | - _SrcBlend: 1
97 | - _UVSec: 0
98 | - _ZWrite: 1
99 | m_Colors:
100 | - _Color: {r: 1, g: 1, b: 1, a: 1}
101 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
102 |
--------------------------------------------------------------------------------
/Assets/PlasticApps/Test/Test.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 84066d2346a5b4154b2bd4d4a2272845
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/PlasticApps/Test/TweenCube.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1 &5885000119006282108
4 | GameObject:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | serializedVersion: 6
10 | m_Component:
11 | - component: {fileID: 2215840075097666897}
12 | - component: {fileID: 463527024897756223}
13 | - component: {fileID: 8121523666190241652}
14 | - component: {fileID: 5885000119006281987}
15 | m_Layer: 0
16 | m_Name: TweenCube
17 | m_TagString: Untagged
18 | m_Icon: {fileID: 0}
19 | m_NavMeshLayer: 0
20 | m_StaticEditorFlags: 0
21 | m_IsActive: 1
22 | --- !u!4 &2215840075097666897
23 | Transform:
24 | m_ObjectHideFlags: 0
25 | m_CorrespondingSourceObject: {fileID: 0}
26 | m_PrefabInstance: {fileID: 0}
27 | m_PrefabAsset: {fileID: 0}
28 | m_GameObject: {fileID: 5885000119006282108}
29 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
30 | m_LocalPosition: {x: 0, y: 0, z: 0}
31 | m_LocalScale: {x: 1, y: 1, z: 1}
32 | m_Children: []
33 | m_Father: {fileID: 0}
34 | m_RootOrder: 0
35 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
36 | --- !u!33 &463527024897756223
37 | MeshFilter:
38 | m_ObjectHideFlags: 0
39 | m_CorrespondingSourceObject: {fileID: 0}
40 | m_PrefabInstance: {fileID: 0}
41 | m_PrefabAsset: {fileID: 0}
42 | m_GameObject: {fileID: 5885000119006282108}
43 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
44 | --- !u!23 &8121523666190241652
45 | MeshRenderer:
46 | m_ObjectHideFlags: 0
47 | m_CorrespondingSourceObject: {fileID: 0}
48 | m_PrefabInstance: {fileID: 0}
49 | m_PrefabAsset: {fileID: 0}
50 | m_GameObject: {fileID: 5885000119006282108}
51 | m_Enabled: 1
52 | m_CastShadows: 1
53 | m_ReceiveShadows: 1
54 | m_DynamicOccludee: 1
55 | m_MotionVectors: 1
56 | m_LightProbeUsage: 1
57 | m_ReflectionProbeUsage: 1
58 | m_RenderingLayerMask: 1
59 | m_RendererPriority: 0
60 | m_Materials:
61 | - {fileID: 2100000, guid: 84066d2346a5b4154b2bd4d4a2272845, type: 2}
62 | m_StaticBatchInfo:
63 | firstSubMesh: 0
64 | subMeshCount: 0
65 | m_StaticBatchRoot: {fileID: 0}
66 | m_ProbeAnchor: {fileID: 0}
67 | m_LightProbeVolumeOverride: {fileID: 0}
68 | m_ScaleInLightmap: 1
69 | m_PreserveUVs: 0
70 | m_IgnoreNormalsForChartDetection: 0
71 | m_ImportantGI: 0
72 | m_StitchLightmapSeams: 0
73 | m_SelectedEditorRenderState: 3
74 | m_MinimumChartSize: 4
75 | m_AutoUVMaxDistance: 0.5
76 | m_AutoUVMaxAngle: 89
77 | m_LightmapParameters: {fileID: 0}
78 | m_SortingLayerID: 0
79 | m_SortingLayer: 0
80 | m_SortingOrder: 0
81 | --- !u!114 &5885000119006281987
82 | MonoBehaviour:
83 | m_ObjectHideFlags: 0
84 | m_CorrespondingSourceObject: {fileID: 0}
85 | m_PrefabInstance: {fileID: 0}
86 | m_PrefabAsset: {fileID: 0}
87 | m_GameObject: {fileID: 5885000119006282108}
88 | m_Enabled: 1
89 | m_EditorHideFlags: 0
90 | m_Script: {fileID: 11500000, guid: 661795649ca234f6495572acd21c8ff7, type: 3}
91 | m_Name:
92 | m_EditorClassIdentifier:
93 | duration: 1
94 | ease: 0
95 | target: {x: 0, y: 10, z: 0}
96 | isLoop: 1
97 | isPingPong: 1
98 |
--------------------------------------------------------------------------------
/Assets/PlasticApps/Test/TweenCube.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4db8cfa56dcc7462d88b4619e6b6e1a7
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/PlasticApps/Test/TweenMoveStressTest.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps.Components;
2 | using PlasticApps.Components.Ease;
3 | using Unity.Collections;
4 | using Unity.Entities;
5 | using Unity.Mathematics;
6 | using Unity.Transforms;
7 | using UnityEngine;
8 | using Random = UnityEngine.Random;
9 |
10 | namespace PlasticApps.Test
11 | {
12 | public class TweenMoveStressTest : MonoBehaviour
13 | {
14 | public GameObject prefab;
15 |
16 | public int CountX = 100;
17 | public int CountY = 100;
18 |
19 | [System.Serializable]
20 | public struct TweenProp
21 | {
22 | public float duration;
23 | public EaseType easeType;
24 | public int loop;
25 | public bool pinPong;
26 | }
27 |
28 | public TweenProp moveProp;
29 | public TweenProp scaleProp;
30 | public TweenProp rotateProp;
31 |
32 | public float height = 10.0f;
33 | public float timeOffsetX = 0.1f;
34 | public float timeOffsetY = 0.2f;
35 |
36 | [Range(0.5f, 4)] public float timeScale = 1;
37 |
38 | private TweenProp m_LastMove;
39 | private TweenProp m_LastScale;
40 |
41 | void Start()
42 | {
43 | m_LastMove = moveProp;
44 | m_LastScale = scaleProp;
45 |
46 | Time.timeScale = timeScale;
47 |
48 | Entity prefab = GameObjectConversionUtility.ConvertGameObjectHierarchy(this.prefab, World.Active);
49 | var entityManager = World.Active.EntityManager;
50 |
51 | float halfX = CountX / 2.0f;
52 | float halfY = CountX / 2.0f;
53 | Vector2 c = new Vector2(halfX, halfY);
54 |
55 | for (int x = 0; x < CountX; x++)
56 | {
57 | for (int y = 0; y < CountY; y++)
58 | {
59 | var instance = entityManager.Instantiate(prefab);
60 | var position = transform.TransformPoint(new float3(x * 1.3F,
61 | noise.cnoise(new float2(x, y) * 0.21F) * 2, y * 1.3F));
62 |
63 | if (entityManager.HasComponent(instance, typeof(Translation)))
64 | entityManager.SetComponentData(instance, new Translation {Value = position});
65 | else
66 | entityManager.AddComponentData(instance, new Translation {Value = position});
67 |
68 | if (entityManager.HasComponent(instance, typeof(NonUniformScale)))
69 | entityManager.SetComponentData(instance, new NonUniformScale {Value = Vector3.one});
70 | else
71 | entityManager.AddComponentData(instance, new NonUniformScale {Value = Vector3.one});
72 |
73 | if (entityManager.HasComponent(instance, typeof(RotationEulerXYZ)))
74 | entityManager.SetComponentData(instance, new RotationEulerXYZ());
75 | else
76 | entityManager.AddComponentData(instance, new RotationEulerXYZ());
77 |
78 |
79 | float offset = 1.0f - Vector2.Distance(new Vector2(x, y), c) / c.magnitude;
80 | offset *= height;
81 |
82 | float tx = timeOffsetX * Mathf.Min(Mathf.Abs(CountX - x), x);
83 | float ty = timeOffsetY; // * Mathf.Abs(y - halfY);// * Mathf.Min(Mathf.Abs(CountY - y), y);
84 |
85 | Tween.Delay((tx + ty), () =>
86 | {
87 | //
88 | Tween.MoveEntity(instance, moveProp.duration,
89 | position + Vector3.up * offset, position,
90 | moveProp.easeType, moveProp.loop, moveProp.pinPong, x);
91 |
92 | Tween.ScaleEntity(instance, scaleProp.duration,
93 | Vector3.one * 0.01f, Vector3.one,
94 | scaleProp.easeType, scaleProp.loop, scaleProp.pinPong, x);
95 |
96 | Tween.RotateEntity(instance, rotateProp.duration,
97 | new Vector3(-30, 0, 0) * Mathf.Deg2Rad,
98 | new Vector3(60, 360, 0) * Mathf.Deg2Rad,
99 | rotateProp.easeType, rotateProp.loop, rotateProp.pinPong, x);
100 | });
101 | }
102 | }
103 | }
104 |
105 | void Update()
106 | {
107 | if (!m_LastMove.Equals(moveProp))
108 | {
109 | m_LastMove = moveProp;
110 | ForceTweenUpdate(m_LastMove.duration, m_LastMove.easeType, false);
111 | }
112 | if (!m_LastScale.Equals(scaleProp))
113 | {
114 | m_LastScale = scaleProp;
115 | ForceTweenUpdate(m_LastScale.duration, m_LastScale.easeType, true);
116 | }
117 | }
118 |
119 | void ForceTweenUpdate(float duration, EaseType easeType, bool scale)
120 | {
121 | var manager = World.Active.EntityManager;
122 | var entities = manager.GetAllEntities(Allocator.TempJob);
123 | for (var i = 0; i < entities.Length; i++)
124 | {
125 | var entity = entities[i];
126 | if (manager.HasComponent(entity, scale ? typeof(TweenScale) : typeof(TweenMove)))
127 | {
128 | var t = manager.GetComponentData(entity);
129 | manager.RemoveComponent(entity, TypeManager.GetType(t.EaseTypeId));
130 | t.Duration = duration;
131 | t.EaseTypeId = Tween.AddEase(entity, easeType);
132 | manager.SetComponentData(entity, t);
133 | }
134 | }
135 | entities.Dispose();
136 | }
137 | }
138 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Test/TweenMoveStressTest.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 178f08fb6daf49058edd3e47d9b2c10d
3 | timeCreated: 1554806234
--------------------------------------------------------------------------------
/Assets/PlasticApps/Test/TweenMoveTest.cs:
--------------------------------------------------------------------------------
1 | using PlasticApps;
2 | using PlasticApps.Components.Ease;
3 | using UnityEngine;
4 |
5 | public class TweenMoveTest : MonoBehaviour
6 | {
7 | public float delay = 0;
8 | public float duration;
9 | public EaseType ease;
10 | public Vector3 target = Vector3.up * 10;
11 | public bool isLoop;
12 | public bool isPingPong;
13 |
14 | void Awake()
15 | {
16 | Tween.Delay(delay,
17 | () => { Tween.MoveGameObject(gameObject, duration, transform.position + target, ease, isLoop ? -1 : 0, isPingPong); });
18 | }
19 | }
--------------------------------------------------------------------------------
/Assets/PlasticApps/Test/TweenMoveTest.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 661795649ca234f6495572acd21c8ff7
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/PlasticApps/Tween.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a49f8ffb63e0a47719d692ffbb4630a7
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/Plugins.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1ae11d58c79e34e8ab4f80823a4b594f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Plugins/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a07397b89d5cb408cbcd8d75d5f2412b
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Plugins/Editor/JetBrains.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 48314799a3d0d4d21b440bea84dc9b9a
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Plugins/Editor/JetBrains/Unity3DRider.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 97191c24764fa46eda510406f844c7cc
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/Scenes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4f704ae4b4f98ae41a0bce26658850c1
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scenes/01.Wave.unity:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!29 &1
4 | OcclusionCullingSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_OcclusionBakeSettings:
8 | smallestOccluder: 5
9 | smallestHole: 0.25
10 | backfaceThreshold: 100
11 | m_SceneGUID: 00000000000000000000000000000000
12 | m_OcclusionCullingData: {fileID: 0}
13 | --- !u!104 &2
14 | RenderSettings:
15 | m_ObjectHideFlags: 0
16 | serializedVersion: 9
17 | m_Fog: 0
18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
19 | m_FogMode: 3
20 | m_FogDensity: 0.01
21 | m_LinearFogStart: 0
22 | m_LinearFogEnd: 300
23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
26 | m_AmbientIntensity: 1
27 | m_AmbientMode: 0
28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
29 | m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
30 | m_HaloStrength: 0.5
31 | m_FlareStrength: 1
32 | m_FlareFadeSpeed: 3
33 | m_HaloTexture: {fileID: 0}
34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
35 | m_DefaultReflectionMode: 0
36 | m_DefaultReflectionResolution: 128
37 | m_ReflectionBounces: 1
38 | m_ReflectionIntensity: 1
39 | m_CustomReflection: {fileID: 0}
40 | m_Sun: {fileID: 170076734}
41 | m_IndirectSpecularColor: {r: 0.44657868, g: 0.49641263, b: 0.5748171, a: 1}
42 | m_UseRadianceAmbientProbe: 0
43 | --- !u!157 &3
44 | LightmapSettings:
45 | m_ObjectHideFlags: 0
46 | serializedVersion: 11
47 | m_GIWorkflowMode: 0
48 | m_GISettings:
49 | serializedVersion: 2
50 | m_BounceScale: 1
51 | m_IndirectOutputScale: 1
52 | m_AlbedoBoost: 1
53 | m_EnvironmentLightingMode: 0
54 | m_EnableBakedLightmaps: 1
55 | m_EnableRealtimeLightmaps: 0
56 | m_LightmapEditorSettings:
57 | serializedVersion: 12
58 | m_Resolution: 2
59 | m_BakeResolution: 10
60 | m_AtlasSize: 512
61 | m_AO: 0
62 | m_AOMaxDistance: 1
63 | m_CompAOExponent: 1
64 | m_CompAOExponentDirect: 0
65 | m_ExtractAmbientOcclusion: 0
66 | m_Padding: 2
67 | m_LightmapParameters: {fileID: 0}
68 | m_LightmapsBakeMode: 1
69 | m_TextureCompression: 1
70 | m_FinalGather: 0
71 | m_FinalGatherFiltering: 1
72 | m_FinalGatherRayCount: 256
73 | m_ReflectionCompression: 2
74 | m_MixedBakeMode: 2
75 | m_BakeBackend: 1
76 | m_PVRSampling: 1
77 | m_PVRDirectSampleCount: 32
78 | m_PVRSampleCount: 256
79 | m_PVRBounces: 2
80 | m_PVREnvironmentSampleCount: 256
81 | m_PVREnvironmentReferencePointCount: 2048
82 | m_PVRFilteringMode: 2
83 | m_PVRDenoiserTypeDirect: 0
84 | m_PVRDenoiserTypeIndirect: 0
85 | m_PVRDenoiserTypeAO: 0
86 | m_PVRFilterTypeDirect: 0
87 | m_PVRFilterTypeIndirect: 0
88 | m_PVRFilterTypeAO: 0
89 | m_PVREnvironmentMIS: 0
90 | m_PVRCulling: 1
91 | m_PVRFilteringGaussRadiusDirect: 1
92 | m_PVRFilteringGaussRadiusIndirect: 5
93 | m_PVRFilteringGaussRadiusAO: 2
94 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5
95 | m_PVRFilteringAtrousPositionSigmaIndirect: 2
96 | m_PVRFilteringAtrousPositionSigmaAO: 1
97 | m_ShowResolutionOverlay: 1
98 | m_ExportTrainingData: 0
99 | m_LightingDataAsset: {fileID: 0}
100 | m_UseShadowmask: 1
101 | --- !u!196 &4
102 | NavMeshSettings:
103 | serializedVersion: 2
104 | m_ObjectHideFlags: 0
105 | m_BuildSettings:
106 | serializedVersion: 2
107 | agentTypeID: 0
108 | agentRadius: 0.5
109 | agentHeight: 2
110 | agentSlope: 45
111 | agentClimb: 0.4
112 | ledgeDropHeight: 0
113 | maxJumpAcrossDistance: 0
114 | minRegionArea: 2
115 | manualCellSize: 0
116 | cellSize: 0.16666667
117 | manualTileSize: 0
118 | tileSize: 256
119 | accuratePlacement: 0
120 | debug:
121 | m_Flags: 0
122 | m_NavMeshData: {fileID: 0}
123 | --- !u!1 &170076733
124 | GameObject:
125 | m_ObjectHideFlags: 0
126 | m_CorrespondingSourceObject: {fileID: 0}
127 | m_PrefabInstance: {fileID: 0}
128 | m_PrefabAsset: {fileID: 0}
129 | serializedVersion: 6
130 | m_Component:
131 | - component: {fileID: 170076735}
132 | - component: {fileID: 170076734}
133 | m_Layer: 0
134 | m_Name: Directional Light
135 | m_TagString: Untagged
136 | m_Icon: {fileID: 0}
137 | m_NavMeshLayer: 0
138 | m_StaticEditorFlags: 0
139 | m_IsActive: 1
140 | --- !u!108 &170076734
141 | Light:
142 | m_ObjectHideFlags: 0
143 | m_CorrespondingSourceObject: {fileID: 0}
144 | m_PrefabInstance: {fileID: 0}
145 | m_PrefabAsset: {fileID: 0}
146 | m_GameObject: {fileID: 170076733}
147 | m_Enabled: 1
148 | serializedVersion: 9
149 | m_Type: 1
150 | m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
151 | m_Intensity: 1
152 | m_Range: 10
153 | m_SpotAngle: 30
154 | m_InnerSpotAngle: 21.802082
155 | m_CookieSize: 10
156 | m_Shadows:
157 | m_Type: 0
158 | m_Resolution: -1
159 | m_CustomResolution: -1
160 | m_Strength: 1
161 | m_Bias: 0.05
162 | m_NormalBias: 0.4
163 | m_NearPlane: 0.2
164 | m_CullingMatrixOverride:
165 | e00: 1
166 | e01: 0
167 | e02: 0
168 | e03: 0
169 | e10: 0
170 | e11: 1
171 | e12: 0
172 | e13: 0
173 | e20: 0
174 | e21: 0
175 | e22: 1
176 | e23: 0
177 | e30: 0
178 | e31: 0
179 | e32: 0
180 | e33: 1
181 | m_UseCullingMatrixOverride: 0
182 | m_Cookie: {fileID: 0}
183 | m_DrawHalo: 0
184 | m_Flare: {fileID: 0}
185 | m_RenderMode: 0
186 | m_CullingMask:
187 | serializedVersion: 2
188 | m_Bits: 4294967295
189 | m_RenderingLayerMask: 1
190 | m_Lightmapping: 1
191 | m_LightShadowCasterMode: 0
192 | m_AreaSize: {x: 1, y: 1}
193 | m_BounceIntensity: 1
194 | m_ColorTemperature: 6570
195 | m_UseColorTemperature: 0
196 | m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
197 | m_UseBoundingSphereOverride: 0
198 | m_ShadowRadius: 0
199 | m_ShadowAngle: 0
200 | --- !u!4 &170076735
201 | Transform:
202 | m_ObjectHideFlags: 0
203 | m_CorrespondingSourceObject: {fileID: 0}
204 | m_PrefabInstance: {fileID: 0}
205 | m_PrefabAsset: {fileID: 0}
206 | m_GameObject: {fileID: 170076733}
207 | m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
208 | m_LocalPosition: {x: 0, y: 3, z: 0}
209 | m_LocalScale: {x: 1, y: 1, z: 1}
210 | m_Children: []
211 | m_Father: {fileID: 0}
212 | m_RootOrder: 1
213 | m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
214 | --- !u!1 &534669902
215 | GameObject:
216 | m_ObjectHideFlags: 0
217 | m_CorrespondingSourceObject: {fileID: 0}
218 | m_PrefabInstance: {fileID: 0}
219 | m_PrefabAsset: {fileID: 0}
220 | serializedVersion: 6
221 | m_Component:
222 | - component: {fileID: 534669905}
223 | - component: {fileID: 534669904}
224 | - component: {fileID: 534669903}
225 | m_Layer: 0
226 | m_Name: Main Camera
227 | m_TagString: MainCamera
228 | m_Icon: {fileID: 0}
229 | m_NavMeshLayer: 0
230 | m_StaticEditorFlags: 0
231 | m_IsActive: 1
232 | --- !u!81 &534669903
233 | AudioListener:
234 | m_ObjectHideFlags: 0
235 | m_CorrespondingSourceObject: {fileID: 0}
236 | m_PrefabInstance: {fileID: 0}
237 | m_PrefabAsset: {fileID: 0}
238 | m_GameObject: {fileID: 534669902}
239 | m_Enabled: 1
240 | --- !u!20 &534669904
241 | Camera:
242 | m_ObjectHideFlags: 0
243 | m_CorrespondingSourceObject: {fileID: 0}
244 | m_PrefabInstance: {fileID: 0}
245 | m_PrefabAsset: {fileID: 0}
246 | m_GameObject: {fileID: 534669902}
247 | m_Enabled: 1
248 | serializedVersion: 2
249 | m_ClearFlags: 2
250 | m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0}
251 | m_projectionMatrixMode: 1
252 | m_GateFitMode: 2
253 | m_FOVAxisMode: 0
254 | m_SensorSize: {x: 36, y: 24}
255 | m_LensShift: {x: 0, y: 0}
256 | m_FocalLength: 50
257 | m_NormalizedViewPortRect:
258 | serializedVersion: 2
259 | x: 0
260 | y: 0
261 | width: 1
262 | height: 1
263 | near clip plane: 0.3
264 | far clip plane: 1000
265 | field of view: 60
266 | orthographic: 0
267 | orthographic size: 5
268 | m_Depth: -1
269 | m_CullingMask:
270 | serializedVersion: 2
271 | m_Bits: 4294967295
272 | m_RenderingPath: -1
273 | m_TargetTexture: {fileID: 0}
274 | m_TargetDisplay: 0
275 | m_TargetEye: 3
276 | m_HDR: 0
277 | m_AllowMSAA: 0
278 | m_AllowDynamicResolution: 0
279 | m_ForceIntoRT: 0
280 | m_OcclusionCulling: 0
281 | m_StereoConvergence: 10
282 | m_StereoSeparation: 0.022
283 | --- !u!4 &534669905
284 | Transform:
285 | m_ObjectHideFlags: 0
286 | m_CorrespondingSourceObject: {fileID: 0}
287 | m_PrefabInstance: {fileID: 0}
288 | m_PrefabAsset: {fileID: 0}
289 | m_GameObject: {fileID: 534669902}
290 | m_LocalRotation: {x: 0.2959581, y: 0, z: 0, w: 0.95520097}
291 | m_LocalPosition: {x: 86.8, y: 77.6, z: -50}
292 | m_LocalScale: {x: 1, y: 1, z: 1}
293 | m_Children: []
294 | m_Father: {fileID: 0}
295 | m_RootOrder: 0
296 | m_LocalEulerAnglesHint: {x: 34.43, y: 0, z: 0}
297 | --- !u!1 &1588233072
298 | GameObject:
299 | m_ObjectHideFlags: 0
300 | m_CorrespondingSourceObject: {fileID: 0}
301 | m_PrefabInstance: {fileID: 0}
302 | m_PrefabAsset: {fileID: 0}
303 | serializedVersion: 6
304 | m_Component:
305 | - component: {fileID: 1588233074}
306 | - component: {fileID: 1588233073}
307 | m_Layer: 0
308 | m_Name: Grid
309 | m_TagString: Untagged
310 | m_Icon: {fileID: 0}
311 | m_NavMeshLayer: 0
312 | m_StaticEditorFlags: 0
313 | m_IsActive: 1
314 | --- !u!114 &1588233073
315 | MonoBehaviour:
316 | m_ObjectHideFlags: 0
317 | m_CorrespondingSourceObject: {fileID: 0}
318 | m_PrefabInstance: {fileID: 0}
319 | m_PrefabAsset: {fileID: 0}
320 | m_GameObject: {fileID: 1588233072}
321 | m_Enabled: 1
322 | m_EditorHideFlags: 0
323 | m_Script: {fileID: 11500000, guid: 178f08fb6daf49058edd3e47d9b2c10d, type: 3}
324 | m_Name:
325 | m_EditorClassIdentifier:
326 | prefab: {fileID: 851407407286961622, guid: 9020ca8b8b06e4644b3d1f9d69932c6a, type: 3}
327 | CountX: 150
328 | CountY: 150
329 | moveProp:
330 | duration: 1
331 | easeType: 17
332 | loop: -1
333 | pinPong: 1
334 | scaleProp:
335 | duration: 1
336 | easeType: 2
337 | loop: -1
338 | pinPong: 1
339 | rotateProp:
340 | duration: 2
341 | easeType: 32
342 | loop: -1
343 | pinPong: 0
344 | height: 40
345 | timeOffsetX: 0.1
346 | timeOffsetY: 0.1
347 | timeScale: 1
348 | --- !u!4 &1588233074
349 | Transform:
350 | m_ObjectHideFlags: 0
351 | m_CorrespondingSourceObject: {fileID: 0}
352 | m_PrefabInstance: {fileID: 0}
353 | m_PrefabAsset: {fileID: 0}
354 | m_GameObject: {fileID: 1588233072}
355 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
356 | m_LocalPosition: {x: -11.239754, y: 5.118881, z: 1.5901909}
357 | m_LocalScale: {x: 1, y: 1, z: 1}
358 | m_Children: []
359 | m_Father: {fileID: 0}
360 | m_RootOrder: 2
361 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
362 |
--------------------------------------------------------------------------------
/Assets/Scenes/01.Wave.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 99c9720ab356a0642a771bea13969a05
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Scenes/02.GameObjects.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 795ba00f84f7d44adb01a169bf70c6de
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Scenes/03.Eases.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9931b82c465d24d799bbd8bd55dfa59a
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 PlasticApps
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Packages/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "com.unity.ads": "2.0.8",
4 | "com.unity.analytics": "3.3.2",
5 | "com.unity.burst": "1.0.0-preview.10",
6 | "com.unity.collab-proxy": "1.2.15",
7 | "com.unity.collections": "0.0.9-preview.17",
8 | "com.unity.entities": "0.0.12-preview.30",
9 | "com.unity.jobs": "0.0.7-preview.10",
10 | "com.unity.mathematics": "1.0.0-preview.1",
11 | "com.unity.multiplayer-hlapi": "1.0.1",
12 | "com.unity.package-manager-ui": "2.1.2",
13 | "com.unity.purchasing": "2.0.1",
14 | "com.unity.rendering.hybrid": "0.0.1-preview.10",
15 | "com.unity.textmeshpro": "2.0.0",
16 | "com.unity.timeline": "1.0.0",
17 | "com.unity.xr.legacyinputhelpers": "2.0.2",
18 | "com.unity.modules.ai": "1.0.0",
19 | "com.unity.modules.animation": "1.0.0",
20 | "com.unity.modules.assetbundle": "1.0.0",
21 | "com.unity.modules.audio": "1.0.0",
22 | "com.unity.modules.cloth": "1.0.0",
23 | "com.unity.modules.director": "1.0.0",
24 | "com.unity.modules.imageconversion": "1.0.0",
25 | "com.unity.modules.imgui": "1.0.0",
26 | "com.unity.modules.jsonserialize": "1.0.0",
27 | "com.unity.modules.particlesystem": "1.0.0",
28 | "com.unity.modules.physics": "1.0.0",
29 | "com.unity.modules.physics2d": "1.0.0",
30 | "com.unity.modules.screencapture": "1.0.0",
31 | "com.unity.modules.terrain": "1.0.0",
32 | "com.unity.modules.terrainphysics": "1.0.0",
33 | "com.unity.modules.tilemap": "1.0.0",
34 | "com.unity.modules.ui": "1.0.0",
35 | "com.unity.modules.uielements": "1.0.0",
36 | "com.unity.modules.umbra": "1.0.0",
37 | "com.unity.modules.unityanalytics": "1.0.0",
38 | "com.unity.modules.unitywebrequest": "1.0.0",
39 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
40 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
41 | "com.unity.modules.unitywebrequesttexture": "1.0.0",
42 | "com.unity.modules.unitywebrequestwww": "1.0.0",
43 | "com.unity.modules.vehicles": "1.0.0",
44 | "com.unity.modules.video": "1.0.0",
45 | "com.unity.modules.vr": "1.0.0",
46 | "com.unity.modules.wind": "1.0.0",
47 | "com.unity.modules.xr": "1.0.0"
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/ProjectSettings/AudioManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!11 &1
4 | AudioManager:
5 | m_ObjectHideFlags: 0
6 | m_Volume: 1
7 | Rolloff Scale: 1
8 | Doppler Factor: 1
9 | Default Speaker Mode: 2
10 | m_SampleRate: 0
11 | m_DSPBufferSize: 1024
12 | m_VirtualVoiceCount: 512
13 | m_RealVoiceCount: 32
14 | m_SpatializerPlugin:
15 | m_AmbisonicDecoderPlugin:
16 | m_DisableAudio: 0
17 | m_VirtualizeEffects: 1
18 |
--------------------------------------------------------------------------------
/ProjectSettings/ClusterInputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!236 &1
4 | ClusterInputManager:
5 | m_ObjectHideFlags: 0
6 | m_Inputs: []
7 |
--------------------------------------------------------------------------------
/ProjectSettings/DynamicsManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!55 &1
4 | PhysicsManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 8
7 | m_Gravity: {x: 0, y: -9.81, z: 0}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_BounceThreshold: 2
10 | m_SleepThreshold: 0.005
11 | m_DefaultContactOffset: 0.01
12 | m_DefaultSolverIterations: 6
13 | m_DefaultSolverVelocityIterations: 1
14 | m_QueriesHitBackfaces: 0
15 | m_QueriesHitTriggers: 1
16 | m_EnableAdaptiveForce: 0
17 | m_ClothInterCollisionDistance: 0
18 | m_ClothInterCollisionStiffness: 0
19 | m_ContactsGeneration: 1
20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
21 | m_AutoSimulation: 1
22 | m_AutoSyncTransforms: 0
23 | m_ClothInterCollisionSettingsToggle: 0
24 | m_ContactPairsMode: 0
25 | m_BroadphaseType: 0
26 | m_WorldBounds:
27 | m_Center: {x: 0, y: 0, z: 0}
28 | m_Extent: {x: 250, y: 250, z: 250}
29 | m_WorldSubdivisions: 8
30 |
--------------------------------------------------------------------------------
/ProjectSettings/EditorBuildSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1045 &1
4 | EditorBuildSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Scenes:
8 | - enabled: 1
9 | path: Assets/Scenes/01.Wave.unity
10 | guid: 99c9720ab356a0642a771bea13969a05
11 | m_configObjects: {}
12 |
--------------------------------------------------------------------------------
/ProjectSettings/EditorSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!159 &1
4 | EditorSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 7
7 | m_ExternalVersionControlSupport: Visible Meta Files
8 | m_SerializationMode: 2
9 | m_LineEndingsForNewScripts: 2
10 | m_DefaultBehaviorMode: 0
11 | m_SpritePackerMode: 0
12 | m_SpritePackerPaddingPower: 1
13 | m_EtcTextureCompressorBehavior: 1
14 | m_EtcTextureFastCompressor: 1
15 | m_EtcTextureNormalCompressor: 2
16 | m_EtcTextureBestCompressor: 4
17 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd
18 | m_ProjectGenerationRootNamespace:
19 | m_UserGeneratedProjectSuffix:
20 | m_CollabEditorSettings:
21 | inProgressEnabled: 1
22 |
--------------------------------------------------------------------------------
/ProjectSettings/GraphicsSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!30 &1
4 | GraphicsSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 12
7 | m_Deferred:
8 | m_Mode: 1
9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
10 | m_DeferredReflections:
11 | m_Mode: 1
12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
13 | m_ScreenSpaceShadows:
14 | m_Mode: 1
15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
16 | m_LegacyDeferred:
17 | m_Mode: 1
18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
19 | m_DepthNormals:
20 | m_Mode: 1
21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
22 | m_MotionVectors:
23 | m_Mode: 1
24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
25 | m_LightHalo:
26 | m_Mode: 1
27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
28 | m_LensFlare:
29 | m_Mode: 1
30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
31 | m_AlwaysIncludedShaders:
32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
38 | - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0}
39 | m_PreloadedShaders: []
40 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
41 | type: 0}
42 | m_CustomRenderPipeline: {fileID: 0}
43 | m_TransparencySortMode: 0
44 | m_TransparencySortAxis: {x: 0, y: 0, z: 1}
45 | m_DefaultRenderingPath: 1
46 | m_DefaultMobileRenderingPath: 1
47 | m_TierSettings: []
48 | m_LightmapStripping: 0
49 | m_FogStripping: 0
50 | m_InstancingStripping: 0
51 | m_LightmapKeepPlain: 1
52 | m_LightmapKeepDirCombined: 1
53 | m_LightmapKeepDynamicPlain: 1
54 | m_LightmapKeepDynamicDirCombined: 1
55 | m_LightmapKeepShadowMask: 1
56 | m_LightmapKeepSubtractive: 1
57 | m_FogKeepLinear: 1
58 | m_FogKeepExp: 1
59 | m_FogKeepExp2: 1
60 | m_AlbedoSwatchInfos: []
61 | m_LightsUseLinearIntensity: 0
62 | m_LightsUseColorTemperature: 0
63 |
--------------------------------------------------------------------------------
/ProjectSettings/InputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!13 &1
4 | InputManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Axes:
8 | - serializedVersion: 3
9 | m_Name: Horizontal
10 | descriptiveName:
11 | descriptiveNegativeName:
12 | negativeButton: left
13 | positiveButton: right
14 | altNegativeButton: a
15 | altPositiveButton: d
16 | gravity: 3
17 | dead: 0.001
18 | sensitivity: 3
19 | snap: 1
20 | invert: 0
21 | type: 0
22 | axis: 0
23 | joyNum: 0
24 | - serializedVersion: 3
25 | m_Name: Vertical
26 | descriptiveName:
27 | descriptiveNegativeName:
28 | negativeButton: down
29 | positiveButton: up
30 | altNegativeButton: s
31 | altPositiveButton: w
32 | gravity: 3
33 | dead: 0.001
34 | sensitivity: 3
35 | snap: 1
36 | invert: 0
37 | type: 0
38 | axis: 0
39 | joyNum: 0
40 | - serializedVersion: 3
41 | m_Name: Fire1
42 | descriptiveName:
43 | descriptiveNegativeName:
44 | negativeButton:
45 | positiveButton: left ctrl
46 | altNegativeButton:
47 | altPositiveButton: mouse 0
48 | gravity: 1000
49 | dead: 0.001
50 | sensitivity: 1000
51 | snap: 0
52 | invert: 0
53 | type: 0
54 | axis: 0
55 | joyNum: 0
56 | - serializedVersion: 3
57 | m_Name: Fire2
58 | descriptiveName:
59 | descriptiveNegativeName:
60 | negativeButton:
61 | positiveButton: left alt
62 | altNegativeButton:
63 | altPositiveButton: mouse 1
64 | gravity: 1000
65 | dead: 0.001
66 | sensitivity: 1000
67 | snap: 0
68 | invert: 0
69 | type: 0
70 | axis: 0
71 | joyNum: 0
72 | - serializedVersion: 3
73 | m_Name: Fire3
74 | descriptiveName:
75 | descriptiveNegativeName:
76 | negativeButton:
77 | positiveButton: left shift
78 | altNegativeButton:
79 | altPositiveButton: mouse 2
80 | gravity: 1000
81 | dead: 0.001
82 | sensitivity: 1000
83 | snap: 0
84 | invert: 0
85 | type: 0
86 | axis: 0
87 | joyNum: 0
88 | - serializedVersion: 3
89 | m_Name: Jump
90 | descriptiveName:
91 | descriptiveNegativeName:
92 | negativeButton:
93 | positiveButton: space
94 | altNegativeButton:
95 | altPositiveButton:
96 | gravity: 1000
97 | dead: 0.001
98 | sensitivity: 1000
99 | snap: 0
100 | invert: 0
101 | type: 0
102 | axis: 0
103 | joyNum: 0
104 | - serializedVersion: 3
105 | m_Name: Mouse X
106 | descriptiveName:
107 | descriptiveNegativeName:
108 | negativeButton:
109 | positiveButton:
110 | altNegativeButton:
111 | altPositiveButton:
112 | gravity: 0
113 | dead: 0
114 | sensitivity: 0.1
115 | snap: 0
116 | invert: 0
117 | type: 1
118 | axis: 0
119 | joyNum: 0
120 | - serializedVersion: 3
121 | m_Name: Mouse Y
122 | descriptiveName:
123 | descriptiveNegativeName:
124 | negativeButton:
125 | positiveButton:
126 | altNegativeButton:
127 | altPositiveButton:
128 | gravity: 0
129 | dead: 0
130 | sensitivity: 0.1
131 | snap: 0
132 | invert: 0
133 | type: 1
134 | axis: 1
135 | joyNum: 0
136 | - serializedVersion: 3
137 | m_Name: Mouse ScrollWheel
138 | descriptiveName:
139 | descriptiveNegativeName:
140 | negativeButton:
141 | positiveButton:
142 | altNegativeButton:
143 | altPositiveButton:
144 | gravity: 0
145 | dead: 0
146 | sensitivity: 0.1
147 | snap: 0
148 | invert: 0
149 | type: 1
150 | axis: 2
151 | joyNum: 0
152 | - serializedVersion: 3
153 | m_Name: Horizontal
154 | descriptiveName:
155 | descriptiveNegativeName:
156 | negativeButton:
157 | positiveButton:
158 | altNegativeButton:
159 | altPositiveButton:
160 | gravity: 0
161 | dead: 0.19
162 | sensitivity: 1
163 | snap: 0
164 | invert: 0
165 | type: 2
166 | axis: 0
167 | joyNum: 0
168 | - serializedVersion: 3
169 | m_Name: Vertical
170 | descriptiveName:
171 | descriptiveNegativeName:
172 | negativeButton:
173 | positiveButton:
174 | altNegativeButton:
175 | altPositiveButton:
176 | gravity: 0
177 | dead: 0.19
178 | sensitivity: 1
179 | snap: 0
180 | invert: 1
181 | type: 2
182 | axis: 1
183 | joyNum: 0
184 | - serializedVersion: 3
185 | m_Name: Fire1
186 | descriptiveName:
187 | descriptiveNegativeName:
188 | negativeButton:
189 | positiveButton: joystick button 0
190 | altNegativeButton:
191 | altPositiveButton:
192 | gravity: 1000
193 | dead: 0.001
194 | sensitivity: 1000
195 | snap: 0
196 | invert: 0
197 | type: 0
198 | axis: 0
199 | joyNum: 0
200 | - serializedVersion: 3
201 | m_Name: Fire2
202 | descriptiveName:
203 | descriptiveNegativeName:
204 | negativeButton:
205 | positiveButton: joystick button 1
206 | altNegativeButton:
207 | altPositiveButton:
208 | gravity: 1000
209 | dead: 0.001
210 | sensitivity: 1000
211 | snap: 0
212 | invert: 0
213 | type: 0
214 | axis: 0
215 | joyNum: 0
216 | - serializedVersion: 3
217 | m_Name: Fire3
218 | descriptiveName:
219 | descriptiveNegativeName:
220 | negativeButton:
221 | positiveButton: joystick button 2
222 | altNegativeButton:
223 | altPositiveButton:
224 | gravity: 1000
225 | dead: 0.001
226 | sensitivity: 1000
227 | snap: 0
228 | invert: 0
229 | type: 0
230 | axis: 0
231 | joyNum: 0
232 | - serializedVersion: 3
233 | m_Name: Jump
234 | descriptiveName:
235 | descriptiveNegativeName:
236 | negativeButton:
237 | positiveButton: joystick button 3
238 | altNegativeButton:
239 | altPositiveButton:
240 | gravity: 1000
241 | dead: 0.001
242 | sensitivity: 1000
243 | snap: 0
244 | invert: 0
245 | type: 0
246 | axis: 0
247 | joyNum: 0
248 | - serializedVersion: 3
249 | m_Name: Submit
250 | descriptiveName:
251 | descriptiveNegativeName:
252 | negativeButton:
253 | positiveButton: return
254 | altNegativeButton:
255 | altPositiveButton: joystick button 0
256 | gravity: 1000
257 | dead: 0.001
258 | sensitivity: 1000
259 | snap: 0
260 | invert: 0
261 | type: 0
262 | axis: 0
263 | joyNum: 0
264 | - serializedVersion: 3
265 | m_Name: Submit
266 | descriptiveName:
267 | descriptiveNegativeName:
268 | negativeButton:
269 | positiveButton: enter
270 | altNegativeButton:
271 | altPositiveButton: space
272 | gravity: 1000
273 | dead: 0.001
274 | sensitivity: 1000
275 | snap: 0
276 | invert: 0
277 | type: 0
278 | axis: 0
279 | joyNum: 0
280 | - serializedVersion: 3
281 | m_Name: Cancel
282 | descriptiveName:
283 | descriptiveNegativeName:
284 | negativeButton:
285 | positiveButton: escape
286 | altNegativeButton:
287 | altPositiveButton: joystick button 1
288 | gravity: 1000
289 | dead: 0.001
290 | sensitivity: 1000
291 | snap: 0
292 | invert: 0
293 | type: 0
294 | axis: 0
295 | joyNum: 0
296 |
--------------------------------------------------------------------------------
/ProjectSettings/NavMeshAreas.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!126 &1
4 | NavMeshProjectSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | areas:
8 | - name: Walkable
9 | cost: 1
10 | - name: Not Walkable
11 | cost: 1
12 | - name: Jump
13 | cost: 2
14 | - name:
15 | cost: 1
16 | - name:
17 | cost: 1
18 | - name:
19 | cost: 1
20 | - name:
21 | cost: 1
22 | - name:
23 | cost: 1
24 | - name:
25 | cost: 1
26 | - name:
27 | cost: 1
28 | - name:
29 | cost: 1
30 | - name:
31 | cost: 1
32 | - name:
33 | cost: 1
34 | - name:
35 | cost: 1
36 | - name:
37 | cost: 1
38 | - name:
39 | cost: 1
40 | - name:
41 | cost: 1
42 | - name:
43 | cost: 1
44 | - name:
45 | cost: 1
46 | - name:
47 | cost: 1
48 | - name:
49 | cost: 1
50 | - name:
51 | cost: 1
52 | - name:
53 | cost: 1
54 | - name:
55 | cost: 1
56 | - name:
57 | cost: 1
58 | - name:
59 | cost: 1
60 | - name:
61 | cost: 1
62 | - name:
63 | cost: 1
64 | - name:
65 | cost: 1
66 | - name:
67 | cost: 1
68 | - name:
69 | cost: 1
70 | - name:
71 | cost: 1
72 | m_LastAgentTypeID: -887442657
73 | m_Settings:
74 | - serializedVersion: 2
75 | agentTypeID: 0
76 | agentRadius: 0.5
77 | agentHeight: 2
78 | agentSlope: 45
79 | agentClimb: 0.75
80 | ledgeDropHeight: 0
81 | maxJumpAcrossDistance: 0
82 | minRegionArea: 2
83 | manualCellSize: 0
84 | cellSize: 0.16666667
85 | manualTileSize: 0
86 | tileSize: 256
87 | accuratePlacement: 0
88 | debug:
89 | m_Flags: 0
90 | m_SettingNames:
91 | - Humanoid
92 |
--------------------------------------------------------------------------------
/ProjectSettings/NetworkManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!149 &1
4 | NetworkManager:
5 | m_ObjectHideFlags: 0
6 | m_DebugLevel: 0
7 | m_Sendrate: 15
8 | m_AssetToPrefab: {}
9 |
--------------------------------------------------------------------------------
/ProjectSettings/Physics2DSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!19 &1
4 | Physics2DSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 4
7 | m_Gravity: {x: 0, y: -9.81}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_VelocityIterations: 8
10 | m_PositionIterations: 3
11 | m_VelocityThreshold: 1
12 | m_MaxLinearCorrection: 0.2
13 | m_MaxAngularCorrection: 8
14 | m_MaxTranslationSpeed: 100
15 | m_MaxRotationSpeed: 360
16 | m_BaumgarteScale: 0.2
17 | m_BaumgarteTimeOfImpactScale: 0.75
18 | m_TimeToSleep: 0.5
19 | m_LinearSleepTolerance: 0.01
20 | m_AngularSleepTolerance: 2
21 | m_DefaultContactOffset: 0.01
22 | m_AutoSimulation: 1
23 | m_QueriesHitTriggers: 1
24 | m_QueriesStartInColliders: 1
25 | m_ChangeStopsCallbacks: 0
26 | m_CallbacksOnDisable: 1
27 | m_AutoSyncTransforms: 0
28 | m_AlwaysShowColliders: 0
29 | m_ShowColliderSleep: 1
30 | m_ShowColliderContacts: 0
31 | m_ShowColliderAABB: 0
32 | m_ContactArrowScale: 0.2
33 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
34 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
35 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
36 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
37 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
38 |
--------------------------------------------------------------------------------
/ProjectSettings/PresetManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1386491679 &1
4 | PresetManager:
5 | m_ObjectHideFlags: 0
6 | m_DefaultList:
7 | - type:
8 | m_NativeTypeID: 108
9 | m_ManagedTypePPtr: {fileID: 0}
10 | m_ManagedTypeFallback:
11 | defaultPresets:
12 | - m_Preset: {fileID: 2655988077585873504, guid: c1cf8506f04ef2c4a88b64b6c4202eea,
13 | type: 2}
14 | - type:
15 | m_NativeTypeID: 1020
16 | m_ManagedTypePPtr: {fileID: 0}
17 | m_ManagedTypeFallback:
18 | defaultPresets:
19 | - m_Preset: {fileID: 2655988077585873504, guid: 0cd792cc87e492d43b4e95b205fc5cc6,
20 | type: 2}
21 | - type:
22 | m_NativeTypeID: 1006
23 | m_ManagedTypePPtr: {fileID: 0}
24 | m_ManagedTypeFallback:
25 | defaultPresets:
26 | - m_Preset: {fileID: 2655988077585873504, guid: 7a99f8aa944efe94cb9bd74562b7d5f9,
27 | type: 2}
28 |
--------------------------------------------------------------------------------
/ProjectSettings/ProjectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!129 &1
4 | PlayerSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 16
7 | productGUID: cf96ab0bb8376408da2f0ffe7ee1c63e
8 | AndroidProfiler: 0
9 | AndroidFilterTouchesWhenObscured: 0
10 | AndroidEnableSustainedPerformanceMode: 0
11 | defaultScreenOrientation: 4
12 | targetDevice: 2
13 | useOnDemandResources: 0
14 | accelerometerFrequency: 60
15 | companyName: DefaultCompany
16 | productName: PlasticTween
17 | defaultCursor: {fileID: 0}
18 | cursorHotspot: {x: 0, y: 0}
19 | m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}
20 | m_ShowUnitySplashScreen: 1
21 | m_ShowUnitySplashLogo: 1
22 | m_SplashScreenOverlayOpacity: 1
23 | m_SplashScreenAnimation: 1
24 | m_SplashScreenLogoStyle: 1
25 | m_SplashScreenDrawMode: 0
26 | m_SplashScreenBackgroundAnimationZoom: 1
27 | m_SplashScreenLogoAnimationZoom: 1
28 | m_SplashScreenBackgroundLandscapeAspect: 1
29 | m_SplashScreenBackgroundPortraitAspect: 1
30 | m_SplashScreenBackgroundLandscapeUvs:
31 | serializedVersion: 2
32 | x: 0
33 | y: 0
34 | width: 1
35 | height: 1
36 | m_SplashScreenBackgroundPortraitUvs:
37 | serializedVersion: 2
38 | x: 0
39 | y: 0
40 | width: 1
41 | height: 1
42 | m_SplashScreenLogos: []
43 | m_VirtualRealitySplashScreen: {fileID: 0}
44 | m_HolographicTrackingLossScreen: {fileID: 0}
45 | defaultScreenWidth: 1024
46 | defaultScreenHeight: 768
47 | defaultScreenWidthWeb: 960
48 | defaultScreenHeightWeb: 600
49 | m_StereoRenderingPath: 0
50 | m_ActiveColorSpace: 0
51 | m_MTRendering: 1
52 | m_StackTraceTypes: 010000000100000001000000010000000100000001000000
53 | iosShowActivityIndicatorOnLoading: -1
54 | androidShowActivityIndicatorOnLoading: -1
55 | iosAppInBackgroundBehavior: 0
56 | displayResolutionDialog: 1
57 | iosAllowHTTPDownload: 1
58 | allowedAutorotateToPortrait: 1
59 | allowedAutorotateToPortraitUpsideDown: 1
60 | allowedAutorotateToLandscapeRight: 1
61 | allowedAutorotateToLandscapeLeft: 1
62 | useOSAutorotation: 1
63 | use32BitDisplayBuffer: 1
64 | preserveFramebufferAlpha: 0
65 | disableDepthAndStencilBuffers: 0
66 | androidStartInFullscreen: 1
67 | androidRenderOutsideSafeArea: 0
68 | androidBlitType: 0
69 | defaultIsNativeResolution: 1
70 | macRetinaSupport: 1
71 | runInBackground: 1
72 | captureSingleScreen: 0
73 | muteOtherAudioSources: 0
74 | Prepare IOS For Recording: 0
75 | Force IOS Speakers When Recording: 0
76 | deferSystemGesturesMode: 0
77 | hideHomeButton: 0
78 | submitAnalytics: 1
79 | usePlayerLog: 1
80 | bakeCollisionMeshes: 0
81 | forceSingleInstance: 0
82 | resizableWindow: 0
83 | useMacAppStoreValidation: 0
84 | macAppStoreCategory: public.app-category.games
85 | gpuSkinning: 1
86 | graphicsJobs: 0
87 | xboxPIXTextureCapture: 0
88 | xboxEnableAvatar: 0
89 | xboxEnableKinect: 0
90 | xboxEnableKinectAutoTracking: 0
91 | xboxEnableFitness: 0
92 | visibleInBackground: 1
93 | allowFullscreenSwitch: 1
94 | graphicsJobMode: 0
95 | fullscreenMode: 1
96 | xboxSpeechDB: 0
97 | xboxEnableHeadOrientation: 0
98 | xboxEnableGuest: 0
99 | xboxEnablePIXSampling: 0
100 | metalFramebufferOnly: 0
101 | xboxOneResolution: 0
102 | xboxOneSResolution: 0
103 | xboxOneXResolution: 3
104 | xboxOneMonoLoggingLevel: 0
105 | xboxOneLoggingLevel: 1
106 | xboxOneDisableEsram: 0
107 | xboxOnePresentImmediateThreshold: 0
108 | switchQueueCommandMemory: 0
109 | switchQueueControlMemory: 16384
110 | switchQueueComputeMemory: 262144
111 | switchNVNShaderPoolsGranularity: 33554432
112 | switchNVNDefaultPoolsGranularity: 16777216
113 | switchNVNOtherPoolsGranularity: 16777216
114 | vulkanEnableSetSRGBWrite: 0
115 | m_SupportedAspectRatios:
116 | 4:3: 1
117 | 5:4: 1
118 | 16:10: 1
119 | 16:9: 1
120 | Others: 1
121 | bundleVersion: 0.1
122 | preloadedAssets: []
123 | metroInputSource: 0
124 | wsaTransparentSwapchain: 0
125 | m_HolographicPauseOnTrackingLoss: 1
126 | xboxOneDisableKinectGpuReservation: 0
127 | xboxOneEnable7thCore: 0
128 | vrSettings:
129 | cardboard:
130 | depthFormat: 0
131 | enableTransitionView: 0
132 | daydream:
133 | depthFormat: 0
134 | useSustainedPerformanceMode: 0
135 | enableVideoLayer: 0
136 | useProtectedVideoMemory: 0
137 | minimumSupportedHeadTracking: 0
138 | maximumSupportedHeadTracking: 1
139 | hololens:
140 | depthFormat: 1
141 | depthBufferSharingEnabled: 0
142 | lumin:
143 | depthFormat: 0
144 | frameTiming: 2
145 | enableGLCache: 0
146 | glCacheMaxBlobSize: 524288
147 | glCacheMaxFileSize: 8388608
148 | oculus:
149 | sharedDepthBuffer: 1
150 | dashSupport: 1
151 | enable360StereoCapture: 0
152 | isWsaHolographicRemotingEnabled: 0
153 | protectGraphicsMemory: 0
154 | enableFrameTimingStats: 0
155 | useHDRDisplay: 0
156 | m_ColorGamuts: 00000000
157 | targetPixelDensity: 30
158 | resolutionScalingMode: 0
159 | androidSupportedAspectRatio: 1
160 | androidMaxAspectRatio: 2.1
161 | applicationIdentifier: {}
162 | buildNumber: {}
163 | AndroidBundleVersionCode: 1
164 | AndroidMinSdkVersion: 16
165 | AndroidTargetSdkVersion: 0
166 | AndroidPreferredInstallLocation: 1
167 | aotOptions:
168 | stripEngineCode: 1
169 | iPhoneStrippingLevel: 0
170 | iPhoneScriptCallOptimization: 0
171 | ForceInternetPermission: 0
172 | ForceSDCardPermission: 0
173 | CreateWallpaper: 0
174 | APKExpansionFiles: 0
175 | keepLoadedShadersAlive: 0
176 | StripUnusedMeshComponents: 1
177 | VertexChannelCompressionMask: 4054
178 | iPhoneSdkVersion: 988
179 | iOSTargetOSVersionString: 9.0
180 | tvOSSdkVersion: 0
181 | tvOSRequireExtendedGameController: 0
182 | tvOSTargetOSVersionString: 9.0
183 | uIPrerenderedIcon: 0
184 | uIRequiresPersistentWiFi: 0
185 | uIRequiresFullScreen: 1
186 | uIStatusBarHidden: 1
187 | uIExitOnSuspend: 0
188 | uIStatusBarStyle: 0
189 | iPhoneSplashScreen: {fileID: 0}
190 | iPhoneHighResSplashScreen: {fileID: 0}
191 | iPhoneTallHighResSplashScreen: {fileID: 0}
192 | iPhone47inSplashScreen: {fileID: 0}
193 | iPhone55inPortraitSplashScreen: {fileID: 0}
194 | iPhone55inLandscapeSplashScreen: {fileID: 0}
195 | iPhone58inPortraitSplashScreen: {fileID: 0}
196 | iPhone58inLandscapeSplashScreen: {fileID: 0}
197 | iPadPortraitSplashScreen: {fileID: 0}
198 | iPadHighResPortraitSplashScreen: {fileID: 0}
199 | iPadLandscapeSplashScreen: {fileID: 0}
200 | iPadHighResLandscapeSplashScreen: {fileID: 0}
201 | iPhone65inPortraitSplashScreen: {fileID: 0}
202 | iPhone65inLandscapeSplashScreen: {fileID: 0}
203 | iPhone61inPortraitSplashScreen: {fileID: 0}
204 | iPhone61inLandscapeSplashScreen: {fileID: 0}
205 | appleTVSplashScreen: {fileID: 0}
206 | appleTVSplashScreen2x: {fileID: 0}
207 | tvOSSmallIconLayers: []
208 | tvOSSmallIconLayers2x: []
209 | tvOSLargeIconLayers: []
210 | tvOSLargeIconLayers2x: []
211 | tvOSTopShelfImageLayers: []
212 | tvOSTopShelfImageLayers2x: []
213 | tvOSTopShelfImageWideLayers: []
214 | tvOSTopShelfImageWideLayers2x: []
215 | iOSLaunchScreenType: 0
216 | iOSLaunchScreenPortrait: {fileID: 0}
217 | iOSLaunchScreenLandscape: {fileID: 0}
218 | iOSLaunchScreenBackgroundColor:
219 | serializedVersion: 2
220 | rgba: 0
221 | iOSLaunchScreenFillPct: 100
222 | iOSLaunchScreenSize: 100
223 | iOSLaunchScreenCustomXibPath:
224 | iOSLaunchScreeniPadType: 0
225 | iOSLaunchScreeniPadImage: {fileID: 0}
226 | iOSLaunchScreeniPadBackgroundColor:
227 | serializedVersion: 2
228 | rgba: 0
229 | iOSLaunchScreeniPadFillPct: 100
230 | iOSLaunchScreeniPadSize: 100
231 | iOSLaunchScreeniPadCustomXibPath:
232 | iOSUseLaunchScreenStoryboard: 0
233 | iOSLaunchScreenCustomStoryboardPath:
234 | iOSDeviceRequirements: []
235 | iOSURLSchemes: []
236 | iOSBackgroundModes: 0
237 | iOSMetalForceHardShadows: 0
238 | metalEditorSupport: 1
239 | metalAPIValidation: 1
240 | iOSRenderExtraFrameOnPause: 0
241 | appleDeveloperTeamID:
242 | iOSManualSigningProvisioningProfileID:
243 | tvOSManualSigningProvisioningProfileID:
244 | iOSManualSigningProvisioningProfileType: 0
245 | tvOSManualSigningProvisioningProfileType: 0
246 | appleEnableAutomaticSigning: 0
247 | iOSRequireARKit: 0
248 | iOSAutomaticallyDetectAndAddCapabilities: 1
249 | appleEnableProMotion: 0
250 | clonedFromGUID: c0afd0d1d80e3634a9dac47e8a0426ea
251 | templatePackageId: com.unity.template.3d@1.0.4
252 | templateDefaultScene: Assets/Scenes/SampleScene.unity
253 | AndroidTargetArchitectures: 5
254 | AndroidSplashScreenScale: 0
255 | androidSplashScreen: {fileID: 0}
256 | AndroidKeystoreName: '{inproject}: '
257 | AndroidKeyaliasName:
258 | AndroidBuildApkPerCpuArchitecture: 0
259 | AndroidTVCompatibility: 1
260 | AndroidIsGame: 1
261 | AndroidEnableTango: 0
262 | androidEnableBanner: 1
263 | androidUseLowAccuracyLocation: 0
264 | androidUseCustomKeystore: 0
265 | m_AndroidBanners:
266 | - width: 320
267 | height: 180
268 | banner: {fileID: 0}
269 | androidGamepadSupportLevel: 0
270 | resolutionDialogBanner: {fileID: 0}
271 | m_BuildTargetIcons: []
272 | m_BuildTargetPlatformIcons: []
273 | m_BuildTargetBatching:
274 | - m_BuildTarget: Standalone
275 | m_StaticBatching: 1
276 | m_DynamicBatching: 0
277 | - m_BuildTarget: tvOS
278 | m_StaticBatching: 1
279 | m_DynamicBatching: 0
280 | - m_BuildTarget: Android
281 | m_StaticBatching: 1
282 | m_DynamicBatching: 0
283 | - m_BuildTarget: iPhone
284 | m_StaticBatching: 1
285 | m_DynamicBatching: 0
286 | - m_BuildTarget: WebGL
287 | m_StaticBatching: 0
288 | m_DynamicBatching: 0
289 | m_BuildTargetGraphicsAPIs:
290 | - m_BuildTarget: AndroidPlayer
291 | m_APIs: 0b00000008000000
292 | m_Automatic: 1
293 | - m_BuildTarget: iOSSupport
294 | m_APIs: 10000000
295 | m_Automatic: 1
296 | - m_BuildTarget: AppleTVSupport
297 | m_APIs: 10000000
298 | m_Automatic: 0
299 | - m_BuildTarget: WebGLSupport
300 | m_APIs: 0b000000
301 | m_Automatic: 1
302 | m_BuildTargetVRSettings:
303 | - m_BuildTarget: Standalone
304 | m_Enabled: 0
305 | m_Devices:
306 | - Oculus
307 | - OpenVR
308 | m_BuildTargetEnableVuforiaSettings: []
309 | openGLRequireES31: 0
310 | openGLRequireES31AEP: 0
311 | openGLRequireES32: 0
312 | m_TemplateCustomTags: {}
313 | mobileMTRendering:
314 | Android: 1
315 | iPhone: 1
316 | tvOS: 1
317 | m_BuildTargetGroupLightmapEncodingQuality: []
318 | m_BuildTargetGroupLightmapSettings: []
319 | playModeTestRunnerEnabled: 0
320 | runPlayModeTestAsEditModeTest: 0
321 | actionOnDotNetUnhandledException: 1
322 | enableInternalProfiler: 0
323 | logObjCUncaughtExceptions: 1
324 | enableCrashReportAPI: 0
325 | cameraUsageDescription:
326 | locationUsageDescription:
327 | microphoneUsageDescription:
328 | switchNetLibKey:
329 | switchSocketMemoryPoolSize: 6144
330 | switchSocketAllocatorPoolSize: 128
331 | switchSocketConcurrencyLimit: 14
332 | switchScreenResolutionBehavior: 2
333 | switchUseCPUProfiler: 0
334 | switchApplicationID: 0x01004b9000490000
335 | switchNSODependencies:
336 | switchTitleNames_0:
337 | switchTitleNames_1:
338 | switchTitleNames_2:
339 | switchTitleNames_3:
340 | switchTitleNames_4:
341 | switchTitleNames_5:
342 | switchTitleNames_6:
343 | switchTitleNames_7:
344 | switchTitleNames_8:
345 | switchTitleNames_9:
346 | switchTitleNames_10:
347 | switchTitleNames_11:
348 | switchTitleNames_12:
349 | switchTitleNames_13:
350 | switchTitleNames_14:
351 | switchPublisherNames_0:
352 | switchPublisherNames_1:
353 | switchPublisherNames_2:
354 | switchPublisherNames_3:
355 | switchPublisherNames_4:
356 | switchPublisherNames_5:
357 | switchPublisherNames_6:
358 | switchPublisherNames_7:
359 | switchPublisherNames_8:
360 | switchPublisherNames_9:
361 | switchPublisherNames_10:
362 | switchPublisherNames_11:
363 | switchPublisherNames_12:
364 | switchPublisherNames_13:
365 | switchPublisherNames_14:
366 | switchIcons_0: {fileID: 0}
367 | switchIcons_1: {fileID: 0}
368 | switchIcons_2: {fileID: 0}
369 | switchIcons_3: {fileID: 0}
370 | switchIcons_4: {fileID: 0}
371 | switchIcons_5: {fileID: 0}
372 | switchIcons_6: {fileID: 0}
373 | switchIcons_7: {fileID: 0}
374 | switchIcons_8: {fileID: 0}
375 | switchIcons_9: {fileID: 0}
376 | switchIcons_10: {fileID: 0}
377 | switchIcons_11: {fileID: 0}
378 | switchIcons_12: {fileID: 0}
379 | switchIcons_13: {fileID: 0}
380 | switchIcons_14: {fileID: 0}
381 | switchSmallIcons_0: {fileID: 0}
382 | switchSmallIcons_1: {fileID: 0}
383 | switchSmallIcons_2: {fileID: 0}
384 | switchSmallIcons_3: {fileID: 0}
385 | switchSmallIcons_4: {fileID: 0}
386 | switchSmallIcons_5: {fileID: 0}
387 | switchSmallIcons_6: {fileID: 0}
388 | switchSmallIcons_7: {fileID: 0}
389 | switchSmallIcons_8: {fileID: 0}
390 | switchSmallIcons_9: {fileID: 0}
391 | switchSmallIcons_10: {fileID: 0}
392 | switchSmallIcons_11: {fileID: 0}
393 | switchSmallIcons_12: {fileID: 0}
394 | switchSmallIcons_13: {fileID: 0}
395 | switchSmallIcons_14: {fileID: 0}
396 | switchManualHTML:
397 | switchAccessibleURLs:
398 | switchLegalInformation:
399 | switchMainThreadStackSize: 1048576
400 | switchPresenceGroupId:
401 | switchLogoHandling: 0
402 | switchReleaseVersion: 0
403 | switchDisplayVersion: 1.0.0
404 | switchStartupUserAccount: 0
405 | switchTouchScreenUsage: 0
406 | switchSupportedLanguagesMask: 0
407 | switchLogoType: 0
408 | switchApplicationErrorCodeCategory:
409 | switchUserAccountSaveDataSize: 0
410 | switchUserAccountSaveDataJournalSize: 0
411 | switchApplicationAttribute: 0
412 | switchCardSpecSize: -1
413 | switchCardSpecClock: -1
414 | switchRatingsMask: 0
415 | switchRatingsInt_0: 0
416 | switchRatingsInt_1: 0
417 | switchRatingsInt_2: 0
418 | switchRatingsInt_3: 0
419 | switchRatingsInt_4: 0
420 | switchRatingsInt_5: 0
421 | switchRatingsInt_6: 0
422 | switchRatingsInt_7: 0
423 | switchRatingsInt_8: 0
424 | switchRatingsInt_9: 0
425 | switchRatingsInt_10: 0
426 | switchRatingsInt_11: 0
427 | switchLocalCommunicationIds_0:
428 | switchLocalCommunicationIds_1:
429 | switchLocalCommunicationIds_2:
430 | switchLocalCommunicationIds_3:
431 | switchLocalCommunicationIds_4:
432 | switchLocalCommunicationIds_5:
433 | switchLocalCommunicationIds_6:
434 | switchLocalCommunicationIds_7:
435 | switchParentalControl: 0
436 | switchAllowsScreenshot: 1
437 | switchAllowsVideoCapturing: 1
438 | switchAllowsRuntimeAddOnContentInstall: 0
439 | switchDataLossConfirmation: 0
440 | switchUserAccountLockEnabled: 0
441 | switchSystemResourceMemory: 16777216
442 | switchSupportedNpadStyles: 3
443 | switchNativeFsCacheSize: 32
444 | switchIsHoldTypeHorizontal: 0
445 | switchSupportedNpadCount: 8
446 | switchSocketConfigEnabled: 0
447 | switchTcpInitialSendBufferSize: 32
448 | switchTcpInitialReceiveBufferSize: 64
449 | switchTcpAutoSendBufferSizeMax: 256
450 | switchTcpAutoReceiveBufferSizeMax: 256
451 | switchUdpSendBufferSize: 9
452 | switchUdpReceiveBufferSize: 42
453 | switchSocketBufferEfficiency: 4
454 | switchSocketInitializeEnabled: 1
455 | switchNetworkInterfaceManagerInitializeEnabled: 1
456 | switchPlayerConnectionEnabled: 1
457 | ps4NPAgeRating: 12
458 | ps4NPTitleSecret:
459 | ps4NPTrophyPackPath:
460 | ps4ParentalLevel: 11
461 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000
462 | ps4Category: 0
463 | ps4MasterVersion: 01.00
464 | ps4AppVersion: 01.00
465 | ps4AppType: 0
466 | ps4ParamSfxPath:
467 | ps4VideoOutPixelFormat: 0
468 | ps4VideoOutInitialWidth: 1920
469 | ps4VideoOutBaseModeInitialWidth: 1920
470 | ps4VideoOutReprojectionRate: 60
471 | ps4PronunciationXMLPath:
472 | ps4PronunciationSIGPath:
473 | ps4BackgroundImagePath:
474 | ps4StartupImagePath:
475 | ps4StartupImagesFolder:
476 | ps4IconImagesFolder:
477 | ps4SaveDataImagePath:
478 | ps4SdkOverride:
479 | ps4BGMPath:
480 | ps4ShareFilePath:
481 | ps4ShareOverlayImagePath:
482 | ps4PrivacyGuardImagePath:
483 | ps4NPtitleDatPath:
484 | ps4RemotePlayKeyAssignment: -1
485 | ps4RemotePlayKeyMappingDir:
486 | ps4PlayTogetherPlayerCount: 0
487 | ps4EnterButtonAssignment: 1
488 | ps4ApplicationParam1: 0
489 | ps4ApplicationParam2: 0
490 | ps4ApplicationParam3: 0
491 | ps4ApplicationParam4: 0
492 | ps4DownloadDataSize: 0
493 | ps4GarlicHeapSize: 2048
494 | ps4ProGarlicHeapSize: 2560
495 | playerPrefsMaxSize: 32768
496 | ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ
497 | ps4pnSessions: 1
498 | ps4pnPresence: 1
499 | ps4pnFriends: 1
500 | ps4pnGameCustomData: 1
501 | playerPrefsSupport: 0
502 | enableApplicationExit: 0
503 | resetTempFolder: 1
504 | restrictedAudioUsageRights: 0
505 | ps4UseResolutionFallback: 0
506 | ps4ReprojectionSupport: 0
507 | ps4UseAudio3dBackend: 0
508 | ps4SocialScreenEnabled: 0
509 | ps4ScriptOptimizationLevel: 0
510 | ps4Audio3dVirtualSpeakerCount: 14
511 | ps4attribCpuUsage: 0
512 | ps4PatchPkgPath:
513 | ps4PatchLatestPkgPath:
514 | ps4PatchChangeinfoPath:
515 | ps4PatchDayOne: 0
516 | ps4attribUserManagement: 0
517 | ps4attribMoveSupport: 0
518 | ps4attrib3DSupport: 0
519 | ps4attribShareSupport: 0
520 | ps4attribExclusiveVR: 0
521 | ps4disableAutoHideSplash: 0
522 | ps4videoRecordingFeaturesUsed: 0
523 | ps4contentSearchFeaturesUsed: 0
524 | ps4attribEyeToEyeDistanceSettingVR: 0
525 | ps4IncludedModules: []
526 | monoEnv:
527 | splashScreenBackgroundSourceLandscape: {fileID: 0}
528 | splashScreenBackgroundSourcePortrait: {fileID: 0}
529 | spritePackerPolicy:
530 | webGLMemorySize: 256
531 | webGLExceptionSupport: 1
532 | webGLNameFilesAsHashes: 0
533 | webGLDataCaching: 1
534 | webGLDebugSymbols: 0
535 | webGLEmscriptenArgs:
536 | webGLModulesDirectory:
537 | webGLTemplate: APPLICATION:Default
538 | webGLAnalyzeBuildSize: 0
539 | webGLUseEmbeddedResources: 0
540 | webGLCompressionFormat: 1
541 | webGLLinkerTarget: 1
542 | webGLThreadsSupport: 0
543 | webGLWasmStreaming: 0
544 | scriptingDefineSymbols:
545 | 1:
546 | platformArchitecture: {}
547 | scriptingBackend: {}
548 | il2cppCompilerConfiguration: {}
549 | managedStrippingLevel: {}
550 | incrementalIl2cppBuild: {}
551 | allowUnsafeCode: 0
552 | additionalIl2CppArgs:
553 | scriptingRuntimeVersion: 1
554 | gcIncremental: 0
555 | gcWBarrierValidation: 0
556 | apiCompatibilityLevelPerPlatform: {}
557 | m_RenderingPath: 1
558 | m_MobileRenderingPath: 1
559 | metroPackageName: Template_3D
560 | metroPackageVersion:
561 | metroCertificatePath:
562 | metroCertificatePassword:
563 | metroCertificateSubject:
564 | metroCertificateIssuer:
565 | metroCertificateNotAfter: 0000000000000000
566 | metroApplicationDescription: Template_3D
567 | wsaImages: {}
568 | metroTileShortName:
569 | metroTileShowName: 0
570 | metroMediumTileShowName: 0
571 | metroLargeTileShowName: 0
572 | metroWideTileShowName: 0
573 | metroSupportStreamingInstall: 0
574 | metroLastRequiredScene: 0
575 | metroDefaultTileSize: 1
576 | metroTileForegroundText: 2
577 | metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0}
578 | metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628,
579 | a: 1}
580 | metroSplashScreenUseBackgroundColor: 0
581 | platformCapabilities: {}
582 | metroTargetDeviceFamilies: {}
583 | metroFTAName:
584 | metroFTAFileTypes: []
585 | metroProtocolName:
586 | XboxOneProductId:
587 | XboxOneUpdateKey:
588 | XboxOneSandboxId:
589 | XboxOneContentId:
590 | XboxOneTitleId:
591 | XboxOneSCId:
592 | XboxOneGameOsOverridePath:
593 | XboxOnePackagingOverridePath:
594 | XboxOneAppManifestOverridePath:
595 | XboxOneVersion: 1.0.0.0
596 | XboxOnePackageEncryption: 0
597 | XboxOnePackageUpdateGranularity: 2
598 | XboxOneDescription:
599 | XboxOneLanguage:
600 | - enus
601 | XboxOneCapability: []
602 | XboxOneGameRating: {}
603 | XboxOneIsContentPackage: 0
604 | XboxOneEnableGPUVariability: 0
605 | XboxOneSockets: {}
606 | XboxOneSplashScreen: {fileID: 0}
607 | XboxOneAllowedProductIds: []
608 | XboxOnePersistentLocalStorageSize: 0
609 | XboxOneXTitleMemory: 8
610 | xboxOneScriptCompiler: 1
611 | XboxOneOverrideIdentityName:
612 | vrEditorSettings:
613 | daydream:
614 | daydreamIconForeground: {fileID: 0}
615 | daydreamIconBackground: {fileID: 0}
616 | cloudServicesEnabled:
617 | UNet: 1
618 | luminIcon:
619 | m_Name:
620 | m_ModelFolderPath:
621 | m_PortalFolderPath:
622 | luminCert:
623 | m_CertPath:
624 | m_SignPackage: 1
625 | luminIsChannelApp: 0
626 | luminVersion:
627 | m_VersionCode: 1
628 | m_VersionName:
629 | facebookSdkVersion: 7.9.4
630 | facebookAppId:
631 | facebookCookies: 1
632 | facebookLogging: 1
633 | facebookStatus: 1
634 | facebookXfbml: 0
635 | facebookFrictionlessRequests: 1
636 | apiCompatibilityLevel: 6
637 | cloudProjectId:
638 | framebufferDepthMemorylessMode: 0
639 | projectName:
640 | organizationId:
641 | cloudEnabled: 0
642 | enableNativePlatformBackendsForNewInputSystem: 0
643 | disableOldInputManagerSupport: 0
644 | legacyClampBlendShapeWeights: 0
645 |
--------------------------------------------------------------------------------
/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 2019.1.0b10
2 | m_EditorVersionWithRevision: 2019.1.0b10 (dbf1e96a8b63)
3 |
--------------------------------------------------------------------------------
/ProjectSettings/QualitySettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!47 &1
4 | QualitySettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 5
7 | m_CurrentQuality: 4
8 | m_QualitySettings:
9 | - serializedVersion: 2
10 | name: Very Low
11 | pixelLightCount: 0
12 | shadows: 0
13 | shadowResolution: 0
14 | shadowProjection: 1
15 | shadowCascades: 1
16 | shadowDistance: 15
17 | shadowNearPlaneOffset: 3
18 | shadowCascade2Split: 0.33333334
19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
20 | shadowmaskMode: 0
21 | blendWeights: 1
22 | textureQuality: 1
23 | anisotropicTextures: 0
24 | antiAliasing: 0
25 | softParticles: 0
26 | softVegetation: 0
27 | realtimeReflectionProbes: 0
28 | billboardsFaceCameraPosition: 0
29 | vSyncCount: 0
30 | lodBias: 0.3
31 | maximumLODLevel: 0
32 | particleRaycastBudget: 4
33 | asyncUploadTimeSlice: 2
34 | asyncUploadBufferSize: 16
35 | resolutionScalingFixedDPIFactor: 1
36 | excludedTargetPlatforms: []
37 | - serializedVersion: 2
38 | name: Low
39 | pixelLightCount: 0
40 | shadows: 0
41 | shadowResolution: 0
42 | shadowProjection: 1
43 | shadowCascades: 1
44 | shadowDistance: 20
45 | shadowNearPlaneOffset: 3
46 | shadowCascade2Split: 0.33333334
47 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
48 | shadowmaskMode: 0
49 | blendWeights: 2
50 | textureQuality: 0
51 | anisotropicTextures: 0
52 | antiAliasing: 0
53 | softParticles: 0
54 | softVegetation: 0
55 | realtimeReflectionProbes: 0
56 | billboardsFaceCameraPosition: 0
57 | vSyncCount: 0
58 | lodBias: 0.4
59 | maximumLODLevel: 0
60 | particleRaycastBudget: 16
61 | asyncUploadTimeSlice: 2
62 | asyncUploadBufferSize: 16
63 | resolutionScalingFixedDPIFactor: 1
64 | excludedTargetPlatforms: []
65 | - serializedVersion: 2
66 | name: Medium
67 | pixelLightCount: 1
68 | shadows: 1
69 | shadowResolution: 0
70 | shadowProjection: 1
71 | shadowCascades: 1
72 | shadowDistance: 20
73 | shadowNearPlaneOffset: 3
74 | shadowCascade2Split: 0.33333334
75 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
76 | shadowmaskMode: 0
77 | blendWeights: 2
78 | textureQuality: 0
79 | anisotropicTextures: 1
80 | antiAliasing: 0
81 | softParticles: 0
82 | softVegetation: 0
83 | realtimeReflectionProbes: 0
84 | billboardsFaceCameraPosition: 0
85 | vSyncCount: 1
86 | lodBias: 0.7
87 | maximumLODLevel: 0
88 | particleRaycastBudget: 64
89 | asyncUploadTimeSlice: 2
90 | asyncUploadBufferSize: 16
91 | resolutionScalingFixedDPIFactor: 1
92 | excludedTargetPlatforms: []
93 | - serializedVersion: 2
94 | name: High
95 | pixelLightCount: 2
96 | shadows: 2
97 | shadowResolution: 1
98 | shadowProjection: 1
99 | shadowCascades: 2
100 | shadowDistance: 40
101 | shadowNearPlaneOffset: 3
102 | shadowCascade2Split: 0.33333334
103 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
104 | shadowmaskMode: 1
105 | blendWeights: 2
106 | textureQuality: 0
107 | anisotropicTextures: 1
108 | antiAliasing: 2
109 | softParticles: 0
110 | softVegetation: 1
111 | realtimeReflectionProbes: 1
112 | billboardsFaceCameraPosition: 1
113 | vSyncCount: 1
114 | lodBias: 1
115 | maximumLODLevel: 0
116 | particleRaycastBudget: 256
117 | asyncUploadTimeSlice: 2
118 | asyncUploadBufferSize: 16
119 | resolutionScalingFixedDPIFactor: 1
120 | excludedTargetPlatforms: []
121 | - serializedVersion: 2
122 | name: Very High
123 | pixelLightCount: 3
124 | shadows: 2
125 | shadowResolution: 2
126 | shadowProjection: 1
127 | shadowCascades: 2
128 | shadowDistance: 40
129 | shadowNearPlaneOffset: 3
130 | shadowCascade2Split: 0.33333334
131 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
132 | shadowmaskMode: 1
133 | blendWeights: 4
134 | textureQuality: 0
135 | anisotropicTextures: 1
136 | antiAliasing: 4
137 | softParticles: 1
138 | softVegetation: 1
139 | realtimeReflectionProbes: 1
140 | billboardsFaceCameraPosition: 1
141 | vSyncCount: 1
142 | lodBias: 1.5
143 | maximumLODLevel: 0
144 | particleRaycastBudget: 1024
145 | asyncUploadTimeSlice: 2
146 | asyncUploadBufferSize: 16
147 | resolutionScalingFixedDPIFactor: 1
148 | excludedTargetPlatforms: []
149 | - serializedVersion: 2
150 | name: Ultra
151 | pixelLightCount: 4
152 | shadows: 2
153 | shadowResolution: 2
154 | shadowProjection: 1
155 | shadowCascades: 4
156 | shadowDistance: 150
157 | shadowNearPlaneOffset: 3
158 | shadowCascade2Split: 0.33333334
159 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
160 | shadowmaskMode: 1
161 | blendWeights: 4
162 | textureQuality: 0
163 | anisotropicTextures: 1
164 | antiAliasing: 4
165 | softParticles: 1
166 | softVegetation: 1
167 | realtimeReflectionProbes: 1
168 | billboardsFaceCameraPosition: 1
169 | vSyncCount: 1
170 | lodBias: 2
171 | maximumLODLevel: 0
172 | particleRaycastBudget: 4096
173 | asyncUploadTimeSlice: 2
174 | asyncUploadBufferSize: 16
175 | resolutionScalingFixedDPIFactor: 1
176 | excludedTargetPlatforms: []
177 | m_PerPlatformDefaultQuality:
178 | Android: 2
179 | Nintendo 3DS: 5
180 | Nintendo Switch: 5
181 | PS4: 5
182 | PSP2: 2
183 | Standalone: 5
184 | Tizen: 2
185 | WebGL: 3
186 | WiiU: 5
187 | Windows Store Apps: 5
188 | XboxOne: 5
189 | iPhone: 2
190 | tvOS: 2
191 |
--------------------------------------------------------------------------------
/ProjectSettings/TagManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!78 &1
4 | TagManager:
5 | serializedVersion: 2
6 | tags: []
7 | layers:
8 | - Default
9 | - TransparentFX
10 | - Ignore Raycast
11 | -
12 | - Water
13 | - UI
14 | -
15 | -
16 | - PostProcessing
17 | -
18 | -
19 | -
20 | -
21 | -
22 | -
23 | -
24 | -
25 | -
26 | -
27 | -
28 | -
29 | -
30 | -
31 | -
32 | -
33 | -
34 | -
35 | -
36 | -
37 | -
38 | -
39 | -
40 | m_SortingLayers:
41 | - name: Default
42 | uniqueID: 0
43 | locked: 0
44 |
--------------------------------------------------------------------------------
/ProjectSettings/TimeManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!5 &1
4 | TimeManager:
5 | m_ObjectHideFlags: 0
6 | Fixed Timestep: 0.02
7 | Maximum Allowed Timestep: 0.1
8 | m_TimeScale: 1
9 | Maximum Particle Timestep: 0.03
10 |
--------------------------------------------------------------------------------
/ProjectSettings/UnityConnectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!310 &1
4 | UnityConnectSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 1
7 | m_Enabled: 0
8 | m_TestMode: 0
9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events
11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com
12 | m_TestInitMode: 0
13 | CrashReportingSettings:
14 | m_EventUrl: https://perf-events.cloud.unity3d.com
15 | m_Enabled: 0
16 | m_LogBufferSize: 10
17 | m_CaptureEditorExceptions: 1
18 | UnityPurchasingSettings:
19 | m_Enabled: 0
20 | m_TestMode: 0
21 | UnityAnalyticsSettings:
22 | m_Enabled: 0
23 | m_TestMode: 0
24 | m_InitializeOnStartup: 1
25 | UnityAdsSettings:
26 | m_Enabled: 0
27 | m_InitializeOnStartup: 1
28 | m_TestMode: 0
29 | m_IosGameId:
30 | m_AndroidGameId:
31 | m_GameIds: {}
32 | m_GameId:
33 | PerformanceReportingSettings:
34 | m_Enabled: 0
35 |
--------------------------------------------------------------------------------
/ProjectSettings/VFXManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!937362698 &1
4 | VFXManager:
5 | m_ObjectHideFlags: 0
6 | m_IndirectShader: {fileID: 0}
7 | m_CopyBufferShader: {fileID: 0}
8 | m_SortShader: {fileID: 0}
9 | m_RenderPipeSettingsPath:
10 | m_FixedTimeStep: 0.016666668
11 | m_MaxDeltaTime: 0.05
12 |
--------------------------------------------------------------------------------
/ProjectSettings/XRSettings.asset:
--------------------------------------------------------------------------------
1 | {
2 | "m_SettingKeys": [
3 | "VR Device Disabled",
4 | "VR Device User Alert"
5 | ],
6 | "m_SettingValues": [
7 | "False",
8 | "False"
9 | ]
10 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # PlasticTween
2 | **Tween Library for Unity3D(ECS+JOBS)**
3 |
4 |
5 | Testing ECS+Jobs - Tween Library implementation.
6 | Works with Entity(as relationship) and GameObjects, also has 12 eases(Linear, Lerp, Quad, Cubic, Quint, Spring, Sine, Back, Bounce, Expo, Elastic, Circ, Square).
7 |
8 | **Requirements: Unity3D 2019.1.0b9 or later**
9 |
10 | 
11 | 
12 |
13 | _Callbacks_
14 |
15 | ````
16 | Tween.Delay(1.0f, () => { // do things })
17 | Tween.MoveEntity(...).OnTweenComplete(() => {});
18 | ````
19 |
20 | _Entities_
21 |
22 | ```csharp
23 | Tween.MoveEntity(
24 | entity,
25 | duration,
26 | targetPosition, originPosition,
27 | EasyType.Spring,
28 | -1,
29 | true,
30 | -1
31 | );
32 | ```
33 |
34 | _GameObjects_
35 |
36 | ```csharp
37 | Tween.MoveGameObject(
38 | gameObject,
39 | duration,
40 | targetVector,
41 | EasyType.Spring,
42 | -1,
43 | isPingPong
44 | );
45 | ```
46 |
47 | _Pause and Stop_
48 |
49 | ```csharp
50 | Tween.PauseByTag(int tagId);
51 | Tween.UnPauseByTag(int tagId);
52 | Tween.PauseAll();
53 | Tween.UnPauseAll();
54 |
55 | Tween.StopByTag(int tagId);
56 | Tween.StopAll();
57 | ```
58 |
59 | _Similar projects:_
60 |
61 | ECS-Tween - https://github.com/Xerios/ECS-Tween
62 |
--------------------------------------------------------------------------------
/Screenshots/Stresstest.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PlasticApps/PlasticTween/1eae0c72375e2d2457fa474e527d40fcaa6c91db/Screenshots/Stresstest.png
--------------------------------------------------------------------------------
/Screenshots/SystemGroups.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PlasticApps/PlasticTween/1eae0c72375e2d2457fa474e527d40fcaa6c91db/Screenshots/SystemGroups.png
--------------------------------------------------------------------------------