├── .gitignore
├── .gitmodules
├── Assets.meta
├── Assets
├── Common.meta
├── Common
│ ├── DecreaseHealth.cs
│ ├── DecreaseHealth.cs.meta
│ ├── HealthLogger.meta
│ ├── HealthLogger
│ │ ├── HealthLogger.asset
│ │ ├── HealthLogger.asset.meta
│ │ ├── HealthLogger.cs
│ │ └── HealthLogger.cs.meta
│ ├── Input.meta
│ ├── Input
│ │ ├── DemoControls.cs
│ │ ├── DemoControls.cs.meta
│ │ ├── DemoControls.inputactions
│ │ ├── DemoControls.inputactions.meta
│ │ ├── DemoInputSystem.prefab
│ │ ├── DemoInputSystem.prefab.meta
│ │ ├── MovementCallbackContextInterpreter.asset
│ │ ├── MovementCallbackContextInterpreter.asset.meta
│ │ ├── MovementInput.asset
│ │ ├── MovementInput.asset.meta
│ │ ├── OnShootingDown.asset
│ │ ├── OnShootingDown.asset.meta
│ │ ├── OnShootingLeft.asset
│ │ ├── OnShootingLeft.asset.meta
│ │ ├── OnShootingRight.asset
│ │ ├── OnShootingRight.asset.meta
│ │ ├── OnShootingUp.asset
│ │ ├── OnShootingUp.asset.meta
│ │ ├── PlayerMove.cs
│ │ ├── PlayerMove.cs.meta
│ │ ├── ShootingDownCallbackContextInterpreter.asset
│ │ ├── ShootingDownCallbackContextInterpreter.asset.meta
│ │ ├── ShootingLeftCallbackContextInterpreter.asset
│ │ ├── ShootingLeftCallbackContextInterpreter.asset.meta
│ │ ├── ShootingRightCallbackContextInterpreter.asset
│ │ ├── ShootingRightCallbackContextInterpreter.asset.meta
│ │ ├── ShootingUpCallbackContextInterpreter.asset
│ │ └── ShootingUpCallbackContextInterpreter.asset.meta
│ ├── Sprites.meta
│ ├── Sprites
│ │ ├── Square.png
│ │ └── Square.png.meta
│ ├── UI.meta
│ ├── UI
│ │ ├── HealthBar.meta
│ │ ├── HealthBar
│ │ │ ├── HealthBar.cs
│ │ │ └── HealthBar.cs.meta
│ │ ├── MenuButton.meta
│ │ ├── MenuButton
│ │ │ ├── OnMenuClicked.asset
│ │ │ ├── OnMenuClicked.asset.meta
│ │ │ ├── SetUIStateSecond.asset
│ │ │ └── SetUIStateSecond.asset.meta
│ │ ├── QuitButton.meta
│ │ ├── QuitButton
│ │ │ ├── OnQuitClicked.asset
│ │ │ ├── OnQuitClicked.asset.meta
│ │ │ ├── QuitApplication.asset
│ │ │ └── QuitApplication.asset.meta
│ │ ├── ResetHealthButton.meta
│ │ ├── ResetHealthButton
│ │ │ ├── OnResetHealthClicked.asset
│ │ │ └── OnResetHealthClicked.asset.meta
│ │ ├── ResumeButton.meta
│ │ └── ResumeButton
│ │ │ ├── OnResumeClicked.asset
│ │ │ ├── OnResumeClicked.asset.meta
│ │ │ ├── SetUIStateFirst.asset
│ │ │ └── SetUIStateFirst.asset.meta
│ ├── UnitHealth.cs
│ └── UnitHealth.cs.meta
├── InfiniteWaves.meta
├── InfiniteWaves
│ ├── Common.meta
│ ├── Common
│ │ ├── DestroyMe.cs
│ │ ├── DestroyMe.cs.meta
│ │ ├── Rigidbody2DExtensions.cs
│ │ ├── Rigidbody2DExtensions.cs.meta
│ │ ├── SyncPositionWithVariable.cs
│ │ └── SyncPositionWithVariable.cs.meta
│ ├── Enemy.meta
│ ├── Enemy
│ │ ├── Enemies.asset
│ │ ├── Enemies.asset.meta
│ │ ├── Enemy.prefab
│ │ ├── Enemy.prefab.meta
│ │ ├── EnemyAdded.asset
│ │ ├── EnemyAdded.asset.meta
│ │ ├── EnemyDataAddedBase.asset
│ │ ├── EnemyDataAddedBase.asset.meta
│ │ ├── EnemyDataBase.asset
│ │ ├── EnemyDataBase.asset.meta
│ │ ├── EnemyDataRemovedBase.asset
│ │ ├── EnemyDataRemovedBase.asset.meta
│ │ ├── EnemyHealthBase.asset
│ │ ├── EnemyHealthBase.asset.meta
│ │ ├── EnemyHealthChangedBase.asset
│ │ ├── EnemyHealthChangedBase.asset.meta
│ │ ├── EnemyMovement.cs
│ │ ├── EnemyMovement.cs.meta
│ │ ├── EnemyPositionBase.asset
│ │ ├── EnemyPositionBase.asset.meta
│ │ ├── EnemyPositionChangedBase.asset
│ │ ├── EnemyPositionChangedBase.asset.meta
│ │ ├── EnemyRemoved.asset
│ │ ├── EnemyRemoved.asset.meta
│ │ ├── EnemyShooting.cs
│ │ ├── EnemyShooting.cs.meta
│ │ ├── EnemyShootingRange.asset
│ │ ├── EnemyShootingRange.asset.meta
│ │ ├── EnemyStateChangedBase.asset
│ │ ├── EnemyStateChangedBase.asset.meta
│ │ ├── EnemyStateMachineBase.asset
│ │ ├── EnemyStateMachineBase.asset.meta
│ │ ├── TagEnemy.asset
│ │ └── TagEnemy.asset.meta
│ ├── EnemyWaveManager.meta
│ ├── EnemyWaveManager
│ │ ├── EnemyWaveManager.cs
│ │ ├── EnemyWaveManager.cs.meta
│ │ ├── EnemyWaveManager.prefab
│ │ ├── EnemyWaveManager.prefab.meta
│ │ ├── SpawnedEnemies.asset
│ │ ├── SpawnedEnemies.asset.meta
│ │ ├── SpawnedEnemyRemoved.asset
│ │ ├── SpawnedEnemyRemoved.asset.meta
│ │ ├── WaveCount.asset
│ │ ├── WaveCount.asset.meta
│ │ ├── WaveCountChanged.asset
│ │ └── WaveCountChanged.asset.meta
│ ├── GlobalState.meta
│ ├── GlobalState
│ │ ├── GameStateDispatcher.cs
│ │ ├── GameStateDispatcher.cs.meta
│ │ ├── GameStateMachine.asset
│ │ └── GameStateMachine.asset.meta
│ ├── InfiniteWaves.unity
│ ├── InfiniteWaves.unity.meta
│ ├── Player.meta
│ ├── Player
│ │ ├── DirectionIndicator.png
│ │ ├── DirectionIndicator.png.meta
│ │ ├── PlayerShooting.cs
│ │ └── PlayerShooting.cs.meta
│ ├── Projectile.meta
│ ├── Projectile
│ │ ├── MoveInDirection.cs
│ │ ├── MoveInDirection.cs.meta
│ │ ├── Projectile.png
│ │ ├── Projectile.png.meta
│ │ ├── Projectile.prefab
│ │ ├── Projectile.prefab.meta
│ │ ├── ProjectileDidCollideBase.asset
│ │ ├── ProjectileDidCollideBase.asset.meta
│ │ ├── ProjectileTriggerBase.asset
│ │ └── ProjectileTriggerBase.asset.meta
│ ├── UI.meta
│ └── UI
│ │ ├── EnemyHealthBars.meta
│ │ ├── EnemyHealthBars
│ │ ├── EnemyHealthBarManager.cs
│ │ ├── EnemyHealthBarManager.cs.meta
│ │ ├── HealthBar.prefab
│ │ └── HealthBar.prefab.meta
│ │ ├── TryAgainButton.meta
│ │ ├── TryAgainButton
│ │ ├── RestartCurrentScene.cs
│ │ ├── RestartCurrentScene.cs.meta
│ │ ├── TryAgainButtonClicked.asset
│ │ └── TryAgainButtonClicked.asset.meta
│ │ ├── UIStateChanged.asset
│ │ ├── UIStateChanged.asset.meta
│ │ ├── WaveCountText.cs
│ │ └── WaveCountText.cs.meta
├── Intro.meta
├── Intro
│ ├── GlobalState.meta
│ ├── GlobalState
│ │ ├── ClampHealth.asset
│ │ ├── ClampHealth.asset.meta
│ │ ├── Health.asset
│ │ ├── Health.asset.meta
│ │ ├── HealthChangedEvent.asset
│ │ ├── HealthChangedEvent.asset.meta
│ │ ├── UIState.asset
│ │ ├── UIState.asset.meta
│ │ ├── UIStateChanged.asset
│ │ └── UIStateChanged.asset.meta
│ ├── Harmful.meta
│ ├── Harmful
│ │ ├── Harmful.prefab
│ │ ├── Harmful.prefab.meta
│ │ ├── HarmfulTriggerEvent.asset
│ │ └── HarmfulTriggerEvent.asset.meta
│ ├── HealthListener.meta
│ ├── HealthListener
│ │ ├── HealthListener.prefab
│ │ └── HealthListener.prefab.meta
│ ├── Intro.unity
│ ├── Intro.unity.meta
│ ├── IntroSettings.lighting
│ ├── IntroSettings.lighting.meta
│ ├── SharedConstants.meta
│ └── SharedConstants
│ │ ├── MaxHealth.asset
│ │ ├── MaxHealth.asset.meta
│ │ ├── TagPlayer.asset
│ │ ├── TagPlayer.asset.meta
│ │ ├── UIState_First.asset
│ │ ├── UIState_First.asset.meta
│ │ ├── UIState_Second.asset
│ │ └── UIState_Second.asset.meta
├── Test.meta
├── Test
│ ├── TODO.md
│ └── TODO.md.meta
├── UniRx.meta
├── UniRx
│ ├── Player.meta
│ ├── Player
│ │ ├── PlayerMoveUniRx.cs
│ │ └── PlayerMoveUniRx.cs.meta
│ ├── UI.meta
│ ├── UI
│ │ ├── HealthBarUniRx.cs
│ │ └── HealthBarUniRx.cs.meta
│ ├── UniRx.unity
│ ├── UniRx.unity.meta
│ ├── UniRxSettings.lighting
│ └── UniRxSettings.lighting.meta
├── csc.rsp
├── csc.rsp.meta
└── unity-atoms.meta
├── LICENSE
├── Logs.meta
├── Logs
├── Packages-Update.log
└── Packages-Update.log.meta
├── Packages.meta
├── Packages
├── manifest.json
├── manifest.json.meta
└── packages-lock.json
├── ProjectSettings.meta
├── ProjectSettings
├── AudioManager.asset
├── AudioManager.asset.meta
├── ClusterInputManager.asset
├── ClusterInputManager.asset.meta
├── DynamicsManager.asset
├── DynamicsManager.asset.meta
├── EditorBuildSettings.asset
├── EditorBuildSettings.asset.meta
├── EditorSettings.asset
├── EditorSettings.asset.meta
├── GraphicsSettings.asset
├── GraphicsSettings.asset.meta
├── InputManager.asset
├── InputManager.asset.meta
├── NavMeshAreas.asset
├── NavMeshAreas.asset.meta
├── NetworkManager.asset
├── NetworkManager.asset.meta
├── PackageManagerSettings.asset
├── Physics2DSettings.asset
├── Physics2DSettings.asset.meta
├── PresetManager.asset
├── PresetManager.asset.meta
├── ProjectSettings.asset
├── ProjectSettings.asset.meta
├── ProjectVersion.txt
├── ProjectVersion.txt.meta
├── QualitySettings.asset
├── QualitySettings.asset.meta
├── TagManager.asset
├── TagManager.asset.meta
├── TimeManager.asset
├── TimeManager.asset.meta
├── UnityConnectSettings.asset
├── UnityConnectSettings.asset.meta
├── VFXManager.asset
├── VFXManager.asset.meta
├── VersionControlSettings.asset
└── XRSettings.asset
├── README.md
└── UserSettings
└── EditorUserSettings.asset
/.gitignore:
--------------------------------------------------------------------------------
1 | /[Ll]ibrary/
2 | /[Tt]emp/
3 | /[Oo]bj/
4 | /[Bb]uild/
5 | /[Bb]uilds/
6 | /Assets/AssetStoreTools*
7 |
8 | # Visual Studio 2015 cache directory
9 | /.vs/
10 | /.idea/
11 |
12 | /Assets/Plugins/Editor/JetBrains*
13 |
14 | # Autogenerated VS/MD/Consulo solution and project files
15 | ExportedObj/
16 | .consulo/
17 | *.csproj
18 | *.unityproj
19 | *.sln
20 | *.suo
21 | *.tmp
22 | *.user
23 | *.userprefs
24 | *.pidb
25 | *.booproj
26 | *.svd
27 | *.pdb
28 |
29 | # Unity3D generated meta files
30 | *.pidb.meta
31 |
32 | # Unity3D Generated File On Crash Reports
33 | sysinfo.txt
34 |
35 | # Builds
36 | *.apk
37 | *.unitypackage
38 |
39 | # VS Code Settings
40 | .vscode
41 |
42 | .DS_Store
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "Assets/unity-atoms"]
2 | path = Assets/unity-atoms
3 | url = https://github.com/unity-atoms/unity-atoms.git
4 |
--------------------------------------------------------------------------------
/Assets.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5b7c8f15e9ec041bca48a46033596bde
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fc03c828d96fe49ca9d73d6971357d6b
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/DecreaseHealth.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using UnityEngine;
3 | using UnityEngine.Assertions;
4 | using UnityAtoms.BaseAtoms;
5 | using UnityAtoms.Tags;
6 |
7 | namespace UnityAtoms.Examples
8 | {
9 | ///
10 | /// Script to decrease a Unit's health.
11 | ///
12 | public class DecreaseHealth : MonoBehaviour
13 | {
14 | public List TagsAffected { get => _tags; }
15 |
16 | [SerializeField]
17 | private IntReference _decreaseBy;
18 |
19 | [SerializeField]
20 | private List _tags;
21 |
22 | [SerializeField]
23 | private VoidBaseEventReference _didCollide;
24 |
25 | void Start()
26 | {
27 | Assert.IsNotNull(_decreaseBy);
28 | Assert.IsNotNull(_tags);
29 | }
30 |
31 | public void Do(Collider2D collider)
32 | {
33 | if (collider == null) return;
34 |
35 | if (collider.gameObject.HasAnyTag(_tags))
36 | {
37 | collider.GetComponent().Health -= _decreaseBy;
38 | }
39 |
40 | if (_didCollide != null && _didCollide.Event != null)
41 | {
42 | _didCollide.Event.Raise();
43 | }
44 | }
45 | }
46 | }
--------------------------------------------------------------------------------
/Assets/Common/DecreaseHealth.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2eb8227755d4543bba34358ca3a9ab6f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/Common/HealthLogger.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9804f9778f6664f4c88b0fafedc17868
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/HealthLogger/HealthLogger.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 49bba051ac5c14a298288dc289ab85d7, type: 3}
13 | m_Name: HealthLogger
14 | m_EditorClassIdentifier:
15 | _developerDescription: IntAction that Debug.Logs the value it receives.
16 |
--------------------------------------------------------------------------------
/Assets/Common/HealthLogger/HealthLogger.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 58f78c691d84e44cd84c884aadacf21a
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/HealthLogger/HealthLogger.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityAtoms.BaseAtoms;
3 |
4 | namespace UnityAtoms.Examples
5 | {
6 | ///
7 | /// An IntAction that Debug.Logs the value it recieves.
8 | ///
9 | [CreateAssetMenu(menuName = "Unity Atoms/Examples/Intro/Health Logger")]
10 | public sealed class HealthLogger : IntAction
11 | {
12 | public override void Do(int health)
13 | {
14 | Debug.Log("<3: " + health);
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Assets/Common/HealthLogger/HealthLogger.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 49bba051ac5c14a298288dc289ab85d7
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/Common/Input.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3e27550bc64044a5cb644f796c56f48d
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/Input/DemoControls.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9bca082e3f7314051a0c44b62e723d20
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/Common/Input/DemoControls.inputactions:
--------------------------------------------------------------------------------
1 | {
2 | "name": "DemoControls",
3 | "maps": [
4 | {
5 | "name": "InGame",
6 | "id": "35062ae5-10ae-466d-a7b9-0c5f472a2177",
7 | "actions": [
8 | {
9 | "name": "ShootingUp",
10 | "type": "Button",
11 | "id": "8615d9fb-93b0-400c-9a4c-a39b681a4158",
12 | "expectedControlType": "Button",
13 | "processors": "",
14 | "interactions": ""
15 | },
16 | {
17 | "name": "ShootingDown",
18 | "type": "Button",
19 | "id": "e8aafec1-4a00-4799-a689-0a3539a1f366",
20 | "expectedControlType": "Button",
21 | "processors": "",
22 | "interactions": ""
23 | },
24 | {
25 | "name": "ShootingLeft",
26 | "type": "Button",
27 | "id": "8a55130d-5906-4c5d-a6d6-d07eba034237",
28 | "expectedControlType": "Button",
29 | "processors": "",
30 | "interactions": ""
31 | },
32 | {
33 | "name": "ShootingRight",
34 | "type": "Button",
35 | "id": "9c8b6bc1-5757-4974-8b43-87c5d3a87c22",
36 | "expectedControlType": "Button",
37 | "processors": "",
38 | "interactions": ""
39 | },
40 | {
41 | "name": "Moving",
42 | "type": "PassThrough",
43 | "id": "2fa85faf-2966-4a67-9329-4635ac11afc0",
44 | "expectedControlType": "Vector2",
45 | "processors": "",
46 | "interactions": ""
47 | }
48 | ],
49 | "bindings": [
50 | {
51 | "name": "2D Vector",
52 | "id": "47c8590a-3c81-4dea-afd6-b0a9d3c83605",
53 | "path": "2DVector",
54 | "interactions": "",
55 | "processors": "",
56 | "groups": "",
57 | "action": "Moving",
58 | "isComposite": true,
59 | "isPartOfComposite": false
60 | },
61 | {
62 | "name": "up",
63 | "id": "82ae0eaa-eb7c-4add-a472-11116057a230",
64 | "path": "/w",
65 | "interactions": "",
66 | "processors": "",
67 | "groups": "Keyboard",
68 | "action": "Moving",
69 | "isComposite": false,
70 | "isPartOfComposite": true
71 | },
72 | {
73 | "name": "down",
74 | "id": "28c9cd27-13eb-4cda-8e92-b3c7fc01dd66",
75 | "path": "/s",
76 | "interactions": "",
77 | "processors": "",
78 | "groups": "Keyboard",
79 | "action": "Moving",
80 | "isComposite": false,
81 | "isPartOfComposite": true
82 | },
83 | {
84 | "name": "left",
85 | "id": "b56720bd-3c31-4930-ae99-c97d4d9eafd0",
86 | "path": "/a",
87 | "interactions": "",
88 | "processors": "",
89 | "groups": "Keyboard",
90 | "action": "Moving",
91 | "isComposite": false,
92 | "isPartOfComposite": true
93 | },
94 | {
95 | "name": "right",
96 | "id": "830e6dc2-9a81-494e-8cb9-ed45cf3f4ce8",
97 | "path": "/d",
98 | "interactions": "",
99 | "processors": "",
100 | "groups": "Keyboard",
101 | "action": "Moving",
102 | "isComposite": false,
103 | "isPartOfComposite": true
104 | },
105 | {
106 | "name": "",
107 | "id": "5fbd74f7-a2e9-4925-bf3b-9a6671633b59",
108 | "path": "/downArrow",
109 | "interactions": "",
110 | "processors": "",
111 | "groups": "Keyboard",
112 | "action": "ShootingDown",
113 | "isComposite": false,
114 | "isPartOfComposite": false
115 | },
116 | {
117 | "name": "",
118 | "id": "00c3e6b4-8344-4337-9c83-359be513fab1",
119 | "path": "/upArrow",
120 | "interactions": "",
121 | "processors": "",
122 | "groups": "Keyboard",
123 | "action": "ShootingUp",
124 | "isComposite": false,
125 | "isPartOfComposite": false
126 | },
127 | {
128 | "name": "",
129 | "id": "a11346b4-31ae-488a-abc2-afb9c363f7d9",
130 | "path": "/rightArrow",
131 | "interactions": "",
132 | "processors": "",
133 | "groups": "Keyboard",
134 | "action": "ShootingRight",
135 | "isComposite": false,
136 | "isPartOfComposite": false
137 | },
138 | {
139 | "name": "",
140 | "id": "75e36175-01cb-4cf3-aa06-56945d7904cf",
141 | "path": "/leftArrow",
142 | "interactions": "",
143 | "processors": "",
144 | "groups": "Keyboard",
145 | "action": "ShootingLeft",
146 | "isComposite": false,
147 | "isPartOfComposite": false
148 | }
149 | ]
150 | }
151 | ],
152 | "controlSchemes": [
153 | {
154 | "name": "Keyboard",
155 | "bindingGroup": "Keyboard",
156 | "devices": [
157 | {
158 | "devicePath": "",
159 | "isOptional": false,
160 | "isOR": false
161 | }
162 | ]
163 | }
164 | ]
165 | }
--------------------------------------------------------------------------------
/Assets/Common/Input/DemoControls.inputactions.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e99306deb66c44fd1b3e1338ae134db1
3 | ScriptedImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 2
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 | script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3}
11 | generateWrapperCode: 1
12 | wrapperCodePath: Assets/Common/Input/DemoControls.cs
13 | wrapperClassName:
14 | wrapperCodeNamespace:
15 |
--------------------------------------------------------------------------------
/Assets/Common/Input/DemoInputSystem.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1 &7107865494949338114
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: 7107865494949338112}
12 | - component: {fileID: 7107865494949338113}
13 | m_Layer: 0
14 | m_Name: DemoInputSystem
15 | m_TagString: Untagged
16 | m_Icon: {fileID: 0}
17 | m_NavMeshLayer: 0
18 | m_StaticEditorFlags: 0
19 | m_IsActive: 1
20 | --- !u!4 &7107865494949338112
21 | Transform:
22 | m_ObjectHideFlags: 0
23 | m_CorrespondingSourceObject: {fileID: 0}
24 | m_PrefabInstance: {fileID: 0}
25 | m_PrefabAsset: {fileID: 0}
26 | m_GameObject: {fileID: 7107865494949338114}
27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
28 | m_LocalPosition: {x: 0, y: 0, z: 0}
29 | m_LocalScale: {x: 1, y: 1, z: 1}
30 | m_Children: []
31 | m_Father: {fileID: 0}
32 | m_RootOrder: 0
33 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
34 | --- !u!114 &7107865494949338113
35 | MonoBehaviour:
36 | m_ObjectHideFlags: 0
37 | m_CorrespondingSourceObject: {fileID: 0}
38 | m_PrefabInstance: {fileID: 0}
39 | m_PrefabAsset: {fileID: 0}
40 | m_GameObject: {fileID: 7107865494949338114}
41 | m_Enabled: 1
42 | m_EditorHideFlags: 0
43 | m_Script: {fileID: 11500000, guid: 62899f850307741f2a39c98a8b639597, type: 3}
44 | m_Name:
45 | m_EditorClassIdentifier:
46 | m_Actions: {fileID: -944628639613478452, guid: e99306deb66c44fd1b3e1338ae134db1,
47 | type: 3}
48 | m_NotificationBehavior: 2
49 | m_UIInputModule: {fileID: 0}
50 | m_DeviceLostEvent:
51 | m_PersistentCalls:
52 | m_Calls: []
53 | m_DeviceRegainedEvent:
54 | m_PersistentCalls:
55 | m_Calls: []
56 | m_ControlsChangedEvent:
57 | m_PersistentCalls:
58 | m_Calls: []
59 | m_ActionEvents:
60 | - m_PersistentCalls:
61 | m_Calls:
62 | - m_Target: {fileID: 11400000, guid: 55f39a1f960994082ac7ca2a59c5c2c4, type: 2}
63 | m_TargetAssemblyTypeName: UnityAtoms.InputSystem.CallbackContextInterpreter`8[[System.Single,
64 | mscorlib
65 | m_MethodName: Raise
66 | m_Mode: 0
67 | m_Arguments:
68 | m_ObjectArgument: {fileID: 0}
69 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
70 | m_IntArgument: 0
71 | m_FloatArgument: 0
72 | m_StringArgument:
73 | m_BoolArgument: 0
74 | m_CallState: 2
75 | m_ActionId: 8615d9fb-93b0-400c-9a4c-a39b681a4158
76 | m_ActionName: InGame1/ShootingUp[/Keyboard/upArrow]
77 | - m_PersistentCalls:
78 | m_Calls:
79 | - m_Target: {fileID: 11400000, guid: fca5bed70eb7e422ab1687d879872650, type: 2}
80 | m_TargetAssemblyTypeName: UnityAtoms.InputSystem.CallbackContextInterpreter`8[[System.Single,
81 | mscorlib
82 | m_MethodName: Raise
83 | m_Mode: 0
84 | m_Arguments:
85 | m_ObjectArgument: {fileID: 0}
86 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
87 | m_IntArgument: 0
88 | m_FloatArgument: 0
89 | m_StringArgument:
90 | m_BoolArgument: 0
91 | m_CallState: 2
92 | m_ActionId: e8aafec1-4a00-4799-a689-0a3539a1f366
93 | m_ActionName: InGame1/ShootingDown[/Keyboard/downArrow]
94 | - m_PersistentCalls:
95 | m_Calls:
96 | - m_Target: {fileID: 11400000, guid: dfa466f1136794e6280b39e8d9da8c19, type: 2}
97 | m_TargetAssemblyTypeName: UnityAtoms.InputSystem.CallbackContextInterpreter`8[[System.Single,
98 | mscorlib
99 | m_MethodName: Raise
100 | m_Mode: 0
101 | m_Arguments:
102 | m_ObjectArgument: {fileID: 0}
103 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
104 | m_IntArgument: 0
105 | m_FloatArgument: 0
106 | m_StringArgument:
107 | m_BoolArgument: 0
108 | m_CallState: 2
109 | m_ActionId: 8a55130d-5906-4c5d-a6d6-d07eba034237
110 | m_ActionName: InGame1/ShootingLeft[/Keyboard/leftArrow]
111 | - m_PersistentCalls:
112 | m_Calls:
113 | - m_Target: {fileID: 11400000, guid: ef17971b2601e4e0586c7e79524a1a3c, type: 2}
114 | m_TargetAssemblyTypeName: UnityAtoms.InputSystem.CallbackContextInterpreter`8[[System.Single,
115 | mscorlib
116 | m_MethodName: Raise
117 | m_Mode: 0
118 | m_Arguments:
119 | m_ObjectArgument: {fileID: 0}
120 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
121 | m_IntArgument: 0
122 | m_FloatArgument: 0
123 | m_StringArgument:
124 | m_BoolArgument: 0
125 | m_CallState: 2
126 | m_ActionId: 9c8b6bc1-5757-4974-8b43-87c5d3a87c22
127 | m_ActionName: InGame1/ShootingRight[/Keyboard/rightArrow]
128 | - m_PersistentCalls:
129 | m_Calls:
130 | - m_Target: {fileID: 11400000, guid: b7cef7c3529da46778b6c3457f50eb5b, type: 2}
131 | m_TargetAssemblyTypeName: UnityAtoms.InputSystem.CallbackContextInterpreter`8[[UnityEngine.Vector2,
132 | UnityEngine
133 | m_MethodName: UpdateValues
134 | m_Mode: 0
135 | m_Arguments:
136 | m_ObjectArgument: {fileID: 0}
137 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
138 | m_IntArgument: 0
139 | m_FloatArgument: 0
140 | m_StringArgument:
141 | m_BoolArgument: 0
142 | m_CallState: 2
143 | m_ActionId: 2fa85faf-2966-4a67-9329-4635ac11afc0
144 | m_ActionName: InGame1/Moving[/Keyboard/w,/Keyboard/s,/Keyboard/a,/Keyboard/d]
145 | m_NeverAutoSwitchControlSchemes: 0
146 | m_DefaultControlScheme: Keyboard
147 | m_DefaultActionMap: InGame
148 | m_SplitScreenIndex: -1
149 | m_Camera: {fileID: 0}
150 |
--------------------------------------------------------------------------------
/Assets/Common/Input/DemoInputSystem.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 187af25211528403abd2acb144491fcf
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Common/Input/MovementCallbackContextInterpreter.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 80b673161316f484e9270ad0bb251029, type: 3}
13 | m_Name: MovementCallbackContextInterpreter
14 | m_EditorClassIdentifier:
15 | _developerDescription:
16 | _started: {fileID: 0}
17 | _performed: {fileID: 0}
18 | _canceled: {fileID: 0}
19 | _waiting: {fileID: 0}
20 | _disabled: {fileID: 0}
21 | _value: {fileID: 11400000, guid: b952c784efa0c4a6aa87458b7c46574c, type: 2}
22 | _valueAsButton: {fileID: 0}
23 |
--------------------------------------------------------------------------------
/Assets/Common/Input/MovementCallbackContextInterpreter.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b7cef7c3529da46778b6c3457f50eb5b
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/Input/MovementInput.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: f76a04b727336433cb49bbba3dbe9175, type: 3}
13 | m_Name: MovementInput
14 | m_EditorClassIdentifier:
15 | _developerDescription:
16 | _id:
17 | _value: {x: 0, y: 0}
18 | _changed: {fileID: 0}
19 | _changedWithHistory: {fileID: 0}
20 | _triggerChangedOnOnEnable: 0
21 | _triggerChangedWithHistoryOnOnEnable: 0
22 | _oldValue: {x: 0, y: 0}
23 | _initialValue: {x: 0, y: 0}
24 | _preChangeTransformers: []
25 |
--------------------------------------------------------------------------------
/Assets/Common/Input/MovementInput.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b952c784efa0c4a6aa87458b7c46574c
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/Input/OnShootingDown.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 1a52ef257dc24452785b714bb0ae0008, type: 3}
13 | m_Name: OnShootingDown
14 | m_EditorClassIdentifier:
15 | _developerDescription:
16 | _replayBufferSize: 1
17 | _inspectorRaiseValue: 0
18 |
--------------------------------------------------------------------------------
/Assets/Common/Input/OnShootingDown.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6c64ec8b6f8794f1a8be090c4f561e90
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/Input/OnShootingLeft.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 1a52ef257dc24452785b714bb0ae0008, type: 3}
13 | m_Name: OnShootingLeft
14 | m_EditorClassIdentifier:
15 | _developerDescription:
16 | _replayBufferSize: 1
17 | _inspectorRaiseValue: 0
18 |
--------------------------------------------------------------------------------
/Assets/Common/Input/OnShootingLeft.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1a1fe4c58350744389f230c9c18ecd0f
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/Input/OnShootingRight.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 1a52ef257dc24452785b714bb0ae0008, type: 3}
13 | m_Name: OnShootingRight
14 | m_EditorClassIdentifier:
15 | _developerDescription:
16 | _replayBufferSize: 1
17 | _inspectorRaiseValue: 0
18 |
--------------------------------------------------------------------------------
/Assets/Common/Input/OnShootingRight.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 950aac376c1d64a479a06f7355813534
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/Input/OnShootingUp.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 1a52ef257dc24452785b714bb0ae0008, type: 3}
13 | m_Name: OnShootingUp
14 | m_EditorClassIdentifier:
15 | _developerDescription:
16 | _replayBufferSize: 1
17 | _inspectorRaiseValue: 0
18 |
--------------------------------------------------------------------------------
/Assets/Common/Input/OnShootingUp.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 79660c28ed2954c4daa4dfdaaa523f07
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/Input/PlayerMove.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityAtoms.BaseAtoms;
3 |
4 | namespace UnityAtoms.Examples
5 | {
6 | ///
7 | /// Simple move script for the Player.
8 | ///
9 | [AddComponentMenu("Unity Atoms/Examples/PlayerMove")]
10 | public class PlayerMove : MonoBehaviour
11 | {
12 | [SerializeField]
13 | private Vector2Variable _movementInput;
14 |
15 | private void Update()
16 | {
17 | GetComponent().Move(_movementInput.Value, 5f, Time.deltaTime);
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/Assets/Common/Input/PlayerMove.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fe09a2350f1f64d15b116366c3e6630f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/Common/Input/ShootingDownCallbackContextInterpreter.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: b8db79be4274a0145b4f5c655df19225, type: 3}
13 | m_Name: ShootingDownCallbackContextInterpreter
14 | m_EditorClassIdentifier:
15 | _developerDescription:
16 | _started: {fileID: 0}
17 | _performed: {fileID: 11400000, guid: 6c64ec8b6f8794f1a8be090c4f561e90, type: 2}
18 | _canceled: {fileID: 0}
19 | _waiting: {fileID: 0}
20 | _disabled: {fileID: 0}
21 | _value: {fileID: 0}
22 | _valueAsButton: {fileID: 0}
23 |
--------------------------------------------------------------------------------
/Assets/Common/Input/ShootingDownCallbackContextInterpreter.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fca5bed70eb7e422ab1687d879872650
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/Input/ShootingLeftCallbackContextInterpreter.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: b8db79be4274a0145b4f5c655df19225, type: 3}
13 | m_Name: ShootingLeftCallbackContextInterpreter
14 | m_EditorClassIdentifier:
15 | _developerDescription:
16 | _started: {fileID: 0}
17 | _performed: {fileID: 11400000, guid: 1a1fe4c58350744389f230c9c18ecd0f, type: 2}
18 | _canceled: {fileID: 0}
19 | _waiting: {fileID: 0}
20 | _disabled: {fileID: 0}
21 | _value: {fileID: 0}
22 | _valueAsButton: {fileID: 0}
23 |
--------------------------------------------------------------------------------
/Assets/Common/Input/ShootingLeftCallbackContextInterpreter.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dfa466f1136794e6280b39e8d9da8c19
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/Input/ShootingRightCallbackContextInterpreter.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: b8db79be4274a0145b4f5c655df19225, type: 3}
13 | m_Name: ShootingRightCallbackContextInterpreter
14 | m_EditorClassIdentifier:
15 | _developerDescription:
16 | _started: {fileID: 0}
17 | _performed: {fileID: 11400000, guid: 950aac376c1d64a479a06f7355813534, type: 2}
18 | _canceled: {fileID: 0}
19 | _waiting: {fileID: 0}
20 | _disabled: {fileID: 0}
21 | _value: {fileID: 0}
22 | _valueAsButton: {fileID: 0}
23 |
--------------------------------------------------------------------------------
/Assets/Common/Input/ShootingRightCallbackContextInterpreter.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ef17971b2601e4e0586c7e79524a1a3c
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/Input/ShootingUpCallbackContextInterpreter.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: b8db79be4274a0145b4f5c655df19225, type: 3}
13 | m_Name: ShootingUpCallbackContextInterpreter
14 | m_EditorClassIdentifier:
15 | _developerDescription:
16 | _started: {fileID: 0}
17 | _performed: {fileID: 11400000, guid: 79660c28ed2954c4daa4dfdaaa523f07, type: 2}
18 | _canceled: {fileID: 0}
19 | _waiting: {fileID: 0}
20 | _disabled: {fileID: 0}
21 | _value: {fileID: 0}
22 | _valueAsButton: {fileID: 0}
23 |
--------------------------------------------------------------------------------
/Assets/Common/Input/ShootingUpCallbackContextInterpreter.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 55f39a1f960994082ac7ca2a59c5c2c4
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/Sprites.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 90fb67e49d52f458fba2277fd38ae43d
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/Sprites/Square.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unity-atoms/unity-atoms-examples/04675cff4231bbcc2d9f508bdc1c2f44c24aa493/Assets/Common/Sprites/Square.png
--------------------------------------------------------------------------------
/Assets/Common/Sprites/Square.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bcb9bdff5d4664c74a932c679135aff5
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 10
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | grayScaleToAlpha: 0
27 | generateCubemap: 6
28 | cubemapConvolution: 0
29 | seamlessCubemap: 0
30 | textureFormat: 1
31 | maxTextureSize: 2048
32 | textureSettings:
33 | serializedVersion: 2
34 | filterMode: 0
35 | aniso: 1
36 | mipBias: 0
37 | wrapU: 0
38 | wrapV: 0
39 | wrapW: 0
40 | nPOTScale: 0
41 | lightmap: 0
42 | compressionQuality: 50
43 | spriteMode: 3
44 | spriteExtrude: 1
45 | spriteMeshType: 1
46 | alignment: 0
47 | spritePivot: {x: 0.5, y: 0.5}
48 | spritePixelsToUnits: 4
49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
50 | spriteGenerateFallbackPhysicsShape: 1
51 | alphaUsage: 1
52 | alphaIsTransparency: 0
53 | spriteTessellationDetail: -1
54 | textureType: 8
55 | textureShape: 1
56 | singleChannelComponent: 0
57 | maxTextureSizeSet: 0
58 | compressionQualitySet: 0
59 | textureFormatSet: 0
60 | platformSettings:
61 | - serializedVersion: 3
62 | buildTarget: DefaultTexturePlatform
63 | maxTextureSize: 2048
64 | resizeAlgorithm: 0
65 | textureFormat: 4
66 | textureCompression: 1
67 | compressionQuality: 50
68 | crunchedCompression: 0
69 | allowsAlphaSplitting: 0
70 | overridden: 0
71 | androidETC2FallbackOverride: 0
72 | forceMaximumCompressionQuality_BC6H_BC7: 1
73 | spriteSheet:
74 | serializedVersion: 2
75 | sprites: []
76 | outline:
77 | - - {x: -2, y: -2}
78 | - {x: -2, y: 2}
79 | - {x: 2, y: 2}
80 | - {x: 2, y: -2}
81 | physicsShape:
82 | - - {x: -2, y: -2}
83 | - {x: -2, y: 2}
84 | - {x: 2, y: 2}
85 | - {x: 2, y: -2}
86 | bones: []
87 | spriteID: e5460c57af88340f99d55d782eaad19e
88 | internalID: 0
89 | vertices: []
90 | indices:
91 | edges: []
92 | weights: []
93 | secondaryTextures: []
94 | spritePackingTag:
95 | pSDRemoveMatte: 0
96 | pSDShowRemoveMatteOption: 0
97 | userData:
98 | assetBundleName:
99 | assetBundleVariant:
100 |
--------------------------------------------------------------------------------
/Assets/Common/UI.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9d093fbd43b1a40afa13a67f7c3657c8
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/UI/HealthBar.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 55e062114b35d41fe9926ca9d7d82413
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/UI/HealthBar/HealthBar.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEngine.UI;
3 | using UnityAtoms.BaseAtoms;
4 |
5 | namespace UnityAtoms.Examples
6 | {
7 | ///
8 | /// A healthbar component that sets the fill amount of its associated UI Image accordingly.
9 | ///
10 | [AddComponentMenu("Unity Atoms/Examples/HealthBar")]
11 | public class HealthBar : MonoBehaviour
12 | {
13 | public IntReference InitialHealth { get => _initialHealth; }
14 |
15 | [SerializeField]
16 | private IntReference _initialHealth = null;
17 |
18 | [SerializeField]
19 | private Image _image;
20 |
21 | void Awake()
22 | {
23 | if (_image == null)
24 | {
25 | _image = GetComponent();
26 | }
27 | }
28 |
29 | public void HealthChanged(int health) => _image.fillAmount = 1.0f * health / _initialHealth.Value;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/Assets/Common/UI/HealthBar/HealthBar.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dbd80c08b2c1349c0839fcab63bcf9a3
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/Common/UI/MenuButton.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 48ddcc0576215451b89bb724b269f95b
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/UI/MenuButton/OnMenuClicked.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 04d35e2eb934747da9d77a3af62bb8ca, type: 3}
13 | m_Name: OnMenuClicked
14 | m_EditorClassIdentifier:
15 | _developerDescription: Raised when the menu button is clicked.
16 | _replayBufferSize: 1
17 |
--------------------------------------------------------------------------------
/Assets/Common/UI/MenuButton/OnMenuClicked.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b6434f074450b40fbb398ffe95df8fbb
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/UI/MenuButton/SetUIStateSecond.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: f796f0a47da0e421cb954ef7aa235812, type: 3}
13 | m_Name: SetUIStateSecond
14 | m_EditorClassIdentifier:
15 | _developerDescription: Sets the UI State to "Second".
16 | _variable: {fileID: 11400000, guid: ca4bd447b40154988be601bad9c84506, type: 2}
17 | _value:
18 | _usage: 1
19 | _value:
20 | _constant: {fileID: 11400000, guid: 0f191ae005f2448dfb420563d3f089a7, type: 2}
21 | _variable: {fileID: 0}
22 | _variableInstancer: {fileID: 0}
23 |
--------------------------------------------------------------------------------
/Assets/Common/UI/MenuButton/SetUIStateSecond.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 23bac2fbe8e7545e78e859bde7d6573c
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/UI/QuitButton.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a2d1db6f1b7be45348083ee45e25b7ef
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/UI/QuitButton/OnQuitClicked.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 04d35e2eb934747da9d77a3af62bb8ca, type: 3}
13 | m_Name: OnQuitClicked
14 | m_EditorClassIdentifier:
15 | _developerDescription: Raised when the quit application button is clicked.
16 | _replayBufferSize: 1
17 |
--------------------------------------------------------------------------------
/Assets/Common/UI/QuitButton/OnQuitClicked.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: da495ab8344c04faaa60b210efd9e317
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/UI/QuitButton/QuitApplication.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: efd09b740ed5a4ae0be92b4b95bead40, type: 3}
13 | m_Name: QuitApplication
14 | m_EditorClassIdentifier:
15 | _developerDescription: VoidAction that quits the application.
16 |
--------------------------------------------------------------------------------
/Assets/Common/UI/QuitButton/QuitApplication.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1ec7260c4832945c8b7bc4bb1cd57ff2
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/UI/ResetHealthButton.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 59b2d554ff2bd4d4e83127b588dfb6eb
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/UI/ResetHealthButton/OnResetHealthClicked.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 04d35e2eb934747da9d77a3af62bb8ca, type: 3}
13 | m_Name: OnResetHealthClicked
14 | m_EditorClassIdentifier:
15 | _developerDescription: Raised when the reset health button is clicked.
16 | _replayBufferSize: 1
17 |
--------------------------------------------------------------------------------
/Assets/Common/UI/ResetHealthButton/OnResetHealthClicked.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b9a2b51edbbb543bd87d8b8a1275f3b7
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/UI/ResumeButton.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b8d4850e83c774527956af298ecb94a7
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/UI/ResumeButton/OnResumeClicked.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 04d35e2eb934747da9d77a3af62bb8ca, type: 3}
13 | m_Name: OnResumeClicked
14 | m_EditorClassIdentifier:
15 | _developerDescription: Raised when the resume button is clicked.
16 | _replayBufferSize: 1
17 |
--------------------------------------------------------------------------------
/Assets/Common/UI/ResumeButton/OnResumeClicked.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d5f344a0d70af41f9a7288e5572f0234
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/UI/ResumeButton/SetUIStateFirst.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: f796f0a47da0e421cb954ef7aa235812, type: 3}
13 | m_Name: SetUIStateFirst
14 | m_EditorClassIdentifier:
15 | _developerDescription: Sets the UI State to "First".
16 | _variable: {fileID: 11400000, guid: ca4bd447b40154988be601bad9c84506, type: 2}
17 | _value:
18 | _usage: 1
19 | _value:
20 | _constant: {fileID: 11400000, guid: cb8238ac7ef5d407fb31219fe114d2ae, type: 2}
21 | _variable: {fileID: 0}
22 | _variableInstancer: {fileID: 0}
23 |
--------------------------------------------------------------------------------
/Assets/Common/UI/ResumeButton/SetUIStateFirst.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ffb54297f78ca406286c62b7a33578df
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Common/UnitHealth.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityAtoms.BaseAtoms;
3 |
4 | namespace UnityAtoms.Examples
5 | {
6 | ///
7 | /// A component that contains the Player's health.
8 | ///
9 | public class UnitHealth : MonoBehaviour
10 | {
11 | public int Health { get => _health.Value; set => _health.Value = value; }
12 |
13 |
14 | [SerializeField]
15 | private IntReference _health;
16 | }
17 | }
--------------------------------------------------------------------------------
/Assets/Common/UnitHealth.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 521fccafae8ab41e8b91a6aebdf2a1f1
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fec437b5ab1cd4af9a4ea069d1610fcf
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Common.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 32f3c8136b3654e0f893f4821d7ac08f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Common/DestroyMe.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEngine.Assertions;
3 | using UnityAtoms.BaseAtoms;
4 |
5 | namespace UnityAtoms.Examples
6 | {
7 | ///
8 | /// Script intending to destroy the GameObject it's attached to.
9 | ///
10 | public class DestroyMe : MonoBehaviour
11 | {
12 | [SerializeField]
13 | FloatReference _delay = new FloatReference(-1f);
14 |
15 | void Start()
16 | {
17 | Assert.IsNotNull(_delay);
18 | if (_delay.Value >= 0f)
19 | {
20 | Destroy(gameObject, _delay.Value);
21 | }
22 | }
23 |
24 | public void DestroyImmediate() => Destroy(gameObject);
25 |
26 | public void DestroyIfZeroOrBelow(int value)
27 | {
28 | if (value <= 0)
29 | {
30 | DestroyImmediate();
31 | }
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Common/DestroyMe.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6a57cc968d2764ec0bc2de2bd308d451
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Common/Rigidbody2DExtensions.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace UnityAtoms.Examples
4 | {
5 | public static class Rigidbody2DExtensions
6 | {
7 | ///
8 | /// Simple extension to move a Rigidbody2D using input.
9 | ///
10 | /// The Rigidbody2D.
11 | /// Move input.
12 | /// The speed multiplier.
13 | /// Time since last Update tick.
14 | public static void Move(this Rigidbody2D body, Vector2 input, float speed, float deltaTime)
15 | {
16 | var direction = input.normalized;
17 | var targetVelocity = direction * speed;
18 | body.velocity = Vector2.Lerp(body.velocity, targetVelocity, 10f * deltaTime);
19 |
20 | if (direction.magnitude > 0f)
21 | {
22 | float lookAtTargetAngle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
23 | body.transform.rotation = Quaternion.AngleAxis(lookAtTargetAngle, Vector3.forward);
24 | }
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Common/Rigidbody2DExtensions.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 65ccada6f42ae49518ebdb6b31b679eb
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Common/SyncPositionWithVariable.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityAtoms.BaseAtoms;
3 |
4 | namespace UnityAtoms.Examples
5 | {
6 | ///
7 | /// Script to sync the Vector3 Variable with this GameObject's current position.
8 | ///
9 | public class SyncPositionWithVariable : MonoBehaviour
10 | {
11 | [SerializeField]
12 | private Vector3Reference _reference;
13 |
14 | void LateUpdate()
15 | {
16 | _reference.Value = transform.position;
17 | }
18 | }
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Common/SyncPositionWithVariable.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a208484d52a9148f2b664132607d7deb
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d9148141bd7144726a78ecbf2c6f8495
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/Enemies.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: ecd0f51e6cdda4338b8adc4542076829, type: 3}
13 | m_Name: Enemies
14 | m_EditorClassIdentifier:
15 | _developerDescription: A list of Enemy data that will be added to this list whenever
16 | a new Enemy is instantiated.
17 | _id:
18 | _value:
19 | _serializedList: []
20 | _added: {fileID: 11400000, guid: 1f43d5301a4b244c6873d8cf5e465083, type: 2}
21 | _removed: {fileID: 11400000, guid: bbead2c649eb14ada9e9672807bbd0b2, type: 2}
22 | _cleared: {fileID: 0}
23 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/Enemies.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 17112074d7b52489893e5dce0c45df02
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/Enemy.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1326bc3a5a491414d936c2cbaaf52c53
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyAdded.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 10a2b6c04f1da42f0ba0b469ec86f689, type: 3}
13 | m_Name: EnemyAdded
14 | m_EditorClassIdentifier:
15 | _developerDescription: Raised when an Enemy is added to the Enemies List.
16 | _replayBufferSize: 0
17 | _inspectorRaiseValue: {fileID: 0}
18 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyAdded.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1f43d5301a4b244c6873d8cf5e465083
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyDataAddedBase.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 10a2b6c04f1da42f0ba0b469ec86f689, type: 3}
13 | m_Name: EnemyDataAddedBase
14 | m_EditorClassIdentifier:
15 | _developerDescription: Raised when Enemy data is added to an Enemy Data Collection.
16 | This is a base Event that will be used as a base in an Instancer.
17 | _replayBufferSize: 2
18 | _inspectorRaiseValue: {fileID: 0}
19 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyDataAddedBase.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e940aaaaaca2e4ccfa65f3159e6cf8ec
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyDataBase.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: f905a459d97c84162be2fdcd2bc3a39a, type: 3}
13 | m_Name: EnemyDataBase
14 | m_EditorClassIdentifier:
15 | _developerDescription: A Collection of Enemy data. This is a base Collection that
16 | will be used as a base in an Instancer.
17 | _id:
18 | _value:
19 | _serializedKeys: []
20 | _serializedValues: []
21 | _duplicateKeyIndices:
22 | _added: {fileID: 11400000, guid: e940aaaaaca2e4ccfa65f3159e6cf8ec, type: 2}
23 | _removed: {fileID: 11400000, guid: 955d19fc5a0a9412a8e3444652119b2d, type: 2}
24 | _cleared: {fileID: 0}
25 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyDataBase.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2c1c7dbe7b14d458892c7621ea08daa5
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyDataRemovedBase.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 10a2b6c04f1da42f0ba0b469ec86f689, type: 3}
13 | m_Name: EnemyDataRemovedBase
14 | m_EditorClassIdentifier:
15 | _developerDescription: Raised when Enemy data is removed from the Enemy data Collection
16 | its associated with. This is a base Event used for creating in memory copies.
17 | _replayBufferSize: 2
18 | _inspectorRaiseValue: {fileID: 0}
19 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyDataRemovedBase.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 955d19fc5a0a9412a8e3444652119b2d
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyHealthBase.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: cf8a67b68db3d4650908f8cf6adeda60, type: 3}
13 | m_Name: EnemyHealthBase
14 | m_EditorClassIdentifier:
15 | _developerDescription: This is a base Variable used for creating in memory copies
16 | of Enemy health.
17 | _id: Health
18 | _value: 20
19 | Changed: {fileID: 11400000, guid: d481ae3b5fe854cd187b0e79017e8d1e, type: 2}
20 | ChangedWithHistory: {fileID: 0}
21 | _oldValue: 20
22 | _initialValue: 20
23 | _preChangeTransformers: []
24 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyHealthBase.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 16bf069429937474390ce1ed7d17a8bf
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyHealthChangedBase.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 9fce12a4beec24778830e555cb6e5ca3, type: 3}
13 | m_Name: EnemyHealthChangedBase
14 | m_EditorClassIdentifier:
15 | _developerDescription: Raised when Enemy health is changed. This is a base Event
16 | used for creating in memory copies.
17 | _replayBufferSize: 1
18 | _inspectorRaiseValue: 0
19 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyHealthChangedBase.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d481ae3b5fe854cd187b0e79017e8d1e
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyMovement.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityAtoms.BaseAtoms;
3 | using UnityAtoms.Tags;
4 | using UnityAtoms.FSM;
5 |
6 | namespace UnityAtoms.Examples
7 | {
8 | ///
9 | /// Moves the Enemy based on the state of the enemy.
10 | ///
11 | public class EnemyMovement : MonoBehaviour
12 | {
13 | [SerializeField]
14 | private StringReference _tagToTarget;
15 |
16 | [SerializeField]
17 | private FloatReference _shootingRange = new FloatReference(5f);
18 |
19 | [SerializeField]
20 | private FloatReference _moveSpeedMultiplier = new FloatReference(2f);
21 |
22 | [SerializeField]
23 | private FiniteStateMachineReference _enemyState;
24 |
25 |
26 | void Awake()
27 | {
28 | Transform target = null;
29 | AtomTags.OnInitialization(() => target = AtomTags.FindByTag(_tagToTarget.Value).transform);
30 | var body = GetComponent();
31 |
32 | _enemyState.Machine.OnUpdate((deltaTime, value) =>
33 | {
34 | if (target)
35 | {
36 | body.Move((target.position - transform.position), value == "CHASING" ? 2f : 0f, deltaTime);
37 | }
38 | else
39 | {
40 | body.Move(Vector2.zero, 0f, deltaTime);
41 | }
42 | }, gameObject);
43 | _enemyState.Machine.DispatchWhen(command: "ATTACK", (value) => target != null && value == "CHASING" && (_shootingRange.Value >= Vector3.Distance(target.position, transform.position)), gameObject);
44 | _enemyState.Machine.DispatchWhen(command: "CHASE", (value) => target != null && value == "ATTACKING" && (_shootingRange.Value < Vector3.Distance(target.position, transform.position)), gameObject);
45 | }
46 | }
47 | }
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyMovement.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0cf9e86ff89e64f7fb046969f9297b7f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyPositionBase.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 2f868f8b3380b47a38cf0b95f42c134b, type: 3}
13 | m_Name: EnemyPositionBase
14 | m_EditorClassIdentifier:
15 | _developerDescription: This is a base Variable used for creating in memory copies
16 | of Enemy position.
17 | _id: Position
18 | _value: {x: 0, y: 0, z: 0}
19 | Changed: {fileID: 11400000, guid: d422efc48be6541469a4a6467ad76cd7, type: 2}
20 | ChangedWithHistory: {fileID: 0}
21 | _oldValue: {x: 0, y: 0, z: 0}
22 | _initialValue: {x: 0, y: 0, z: 0}
23 | _preChangeTransformers: []
24 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyPositionBase.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f133550ba7db7498c84c4b53cc471932
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyPositionChangedBase.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: c19800e64279c44e1ae4529ee6a2d780, type: 3}
13 | m_Name: EnemyPositionChangedBase
14 | m_EditorClassIdentifier:
15 | _developerDescription: Raised when Enemy position is changed. This is a base Event
16 | used for creating in memory copies.
17 | _replayBufferSize: 1
18 | _inspectorRaiseValue: {x: 0, y: 0, z: 0}
19 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyPositionChangedBase.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d422efc48be6541469a4a6467ad76cd7
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyRemoved.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 10a2b6c04f1da42f0ba0b469ec86f689, type: 3}
13 | m_Name: EnemyRemoved
14 | m_EditorClassIdentifier:
15 | _developerDescription: Raised when an Enemy is removed from Enemies list.
16 | _replayBufferSize: 0
17 | _inspectorRaiseValue: {fileID: 0}
18 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyRemoved.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bbead2c649eb14ada9e9672807bbd0b2
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyShooting.cs:
--------------------------------------------------------------------------------
1 | using UnityAtoms.BaseAtoms;
2 | using UnityAtoms.FSM;
3 | using UnityEngine;
4 | using UnityAtoms.Tags;
5 |
6 | namespace UnityAtoms.Examples
7 | {
8 | ///
9 | /// Scipt that listens to the state of the enemy and shoots towards the Player if it's in the correct state.
10 | ///
11 | public class EnemyShooting : MonoBehaviour
12 | {
13 | [SerializeField]
14 | private StringReference _tagToTarget;
15 | [SerializeField]
16 | private FiniteStateMachineReference _enemyState;
17 | [SerializeField]
18 | private GameObject _projectile;
19 |
20 | void Awake()
21 | {
22 | Transform target = null;
23 | AtomTags.OnInitialization(() => target = AtomTags.FindByTag(_tagToTarget.Value).transform);
24 |
25 | _enemyState.Machine.OnStateCooldown("ATTACKING", (value) =>
26 | {
27 | if (target)
28 | {
29 | var spawnPos = transform.position + transform.right;
30 | Instantiate(_projectile, spawnPos, transform.rotation);
31 | }
32 | }, gameObject);
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyShooting.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b6d7e87282ce6479184ce08bf6dbe121
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyShootingRange.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 708376110c05a4e20b0ce756930c3bb0, type: 3}
13 | m_Name: EnemyShootingRange
14 | m_EditorClassIdentifier:
15 | _developerDescription: Shooting range of an enemy, meaning the min distance from
16 | the Player the Enemy has to be in order to attack.
17 | _id:
18 | _value: 5
19 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyShootingRange.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8eeed365578d048ff9b2098ce261db1c
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyStateChangedBase.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 75feba4dec8d44f0fb83f34e749e4dc3, type: 3}
13 | m_Name: EnemyStateChangedBase
14 | m_EditorClassIdentifier:
15 | _developerDescription: Event raised when Enemy state is changed. This is a base
16 | Event used for creating in memory copies.
17 | _replayBufferSize: 0
18 | _inspectorRaiseValue:
19 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyStateChangedBase.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: da1401f0da9c44ed98d933c0f6b86d10
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyStateMachineBase.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: a56d454e768904df09296076c1aaea26, type: 3}
13 | m_Name: EnemyStateMachineBase
14 | m_EditorClassIdentifier:
15 | _developerDescription: A simple FSM for Enemy state.
16 | _id:
17 | _value: CHASING
18 | Changed: {fileID: 11400000, guid: da1401f0da9c44ed98d933c0f6b86d10, type: 2}
19 | ChangedWithHistory: {fileID: 0}
20 | _oldValue: CHASING
21 | _initialValue: CHASING
22 | _preChangeTransformers: []
23 | _transitionStarted: {fileID: 0}
24 | _completeCurrentTransition: {fileID: 0}
25 | _states:
26 | _list:
27 | - _id:
28 | _usage: 0
29 | _value: CHASING
30 | _constant: {fileID: 0}
31 | _variable: {fileID: 0}
32 | _variableInstancer: {fileID: 0}
33 | _cooldown:
34 | _usage: 0
35 | _value: 0
36 | _constant: {fileID: 0}
37 | _variable: {fileID: 0}
38 | _variableInstancer: {fileID: 0}
39 | _subMachine: {fileID: 0}
40 | - _id:
41 | _usage: 0
42 | _value: ATTACKING
43 | _constant: {fileID: 0}
44 | _variable: {fileID: 0}
45 | _variableInstancer: {fileID: 0}
46 | _cooldown:
47 | _usage: 0
48 | _value: 2
49 | _constant: {fileID: 0}
50 | _variable: {fileID: 0}
51 | _variableInstancer: {fileID: 0}
52 | _subMachine: {fileID: 0}
53 | _transitions:
54 | _list:
55 | - _fromState:
56 | _usage: 0
57 | _value: CHASING
58 | _constant: {fileID: 0}
59 | _variable: {fileID: 0}
60 | _variableInstancer: {fileID: 0}
61 | _toState:
62 | _usage: 0
63 | _value: ATTACKING
64 | _constant: {fileID: 0}
65 | _variable: {fileID: 0}
66 | _variableInstancer: {fileID: 0}
67 | _command:
68 | _usage: 0
69 | _value: ATTACK
70 | _constant: {fileID: 0}
71 | _variable: {fileID: 0}
72 | _variableInstancer: {fileID: 0}
73 | _testCondition: {fileID: 0}
74 | _raiseEventToCompleteTransition: 0
75 | - _fromState:
76 | _usage: 0
77 | _value: ATTACKING
78 | _constant: {fileID: 0}
79 | _variable: {fileID: 0}
80 | _variableInstancer: {fileID: 0}
81 | _toState:
82 | _usage: 0
83 | _value: CHASING
84 | _constant: {fileID: 0}
85 | _variable: {fileID: 0}
86 | _variableInstancer: {fileID: 0}
87 | _command:
88 | _usage: 0
89 | _value: CHASE
90 | _constant: {fileID: 0}
91 | _variable: {fileID: 0}
92 | _variableInstancer: {fileID: 0}
93 | _testCondition: {fileID: 0}
94 | _raiseEventToCompleteTransition: 0
95 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/EnemyStateMachineBase.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 574b826f5842e400eb4cb44d63b60077
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/TagEnemy.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 44fe6f8275613408d9adc4435b52bf4f, type: 3}
13 | m_Name: TagEnemy
14 | m_EditorClassIdentifier:
15 | _developerDescription: Tag for identifying an Enemy.
16 | _id:
17 | _value: Enemy
18 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Enemy/TagEnemy.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 548d717e096e245aa93d91687b22e1f7
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/EnemyWaveManager.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4c5e603952dc542b6b8384e822b3ab36
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/EnemyWaveManager/EnemyWaveManager.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using UnityEngine;
3 | using UnityEngine.Assertions;
4 | using UnityAtoms.BaseAtoms;
5 |
6 | namespace UnityAtoms.Examples
7 | {
8 | ///
9 | /// Manager responsible of spawning enmeies and keep track of which enemy wave we are currently facing.
10 | ///
11 | public class EnemyWaveManager : MonoBehaviour
12 | {
13 | [SerializeField]
14 | private Transform _player;
15 |
16 | [SerializeField]
17 | private GameObject _enemyPrefab;
18 |
19 | [SerializeField]
20 | private GameObjectValueList _spawnedEnemies;
21 |
22 | [SerializeField]
23 | private IntReference _waveCount = new IntReference(0);
24 |
25 | void Awake()
26 | {
27 | Assert.IsNotNull(_player);
28 | Assert.IsNotNull(_enemyPrefab);
29 | Assert.IsNotNull(_spawnedEnemies);
30 | Assert.IsNotNull(_waveCount);
31 | }
32 |
33 | private Coroutine _waveRoutine;
34 |
35 | IEnumerator StartWaves()
36 | {
37 | yield return new WaitForSeconds(3);
38 |
39 | for (var i = 0; i < _waveCount.Value; ++i)
40 | {
41 | if (_player != null)
42 | {
43 | var randomMagnitude = 5f;
44 | var randomPosAroundPlayer = new Vector3(
45 | Random.Range(_player.transform.position.x - randomMagnitude, _player.transform.position.x + randomMagnitude),
46 | Random.Range(_player.transform.position.y - randomMagnitude, _player.transform.position.y + randomMagnitude),
47 | 0f
48 | );
49 | var enemy = Instantiate(_enemyPrefab, randomPosAroundPlayer, Quaternion.identity);
50 | }
51 | yield return new WaitForSeconds(0.1f);
52 | }
53 | }
54 |
55 | public void StartWaveIfNoEnemiesLeft(GameObject enemyToRemove)
56 | {
57 | if (_spawnedEnemies.Count <= 0)
58 | {
59 | _waveCount.Value++;
60 | if (_waveRoutine != null)
61 | {
62 | StopCoroutine(_waveRoutine);
63 | }
64 | _waveRoutine = StartCoroutine(StartWaves());
65 | }
66 | }
67 |
68 | public void StartWavesIfInGame(string gameState)
69 | {
70 | if (gameState == "InGame")
71 | {
72 | _waveCount.Value = 1;
73 | if (_waveRoutine != null)
74 | {
75 | StopCoroutine(_waveRoutine);
76 | }
77 | _waveRoutine = StartCoroutine(StartWaves());
78 | }
79 | }
80 | }
81 | }
82 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/EnemyWaveManager/EnemyWaveManager.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cf3f2ed232a5d4421a7480d00f1ac6ed
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/EnemyWaveManager/EnemyWaveManager.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1 &1788459492122731499
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: 1788459492122731501}
12 | - component: {fileID: 1788459492122731500}
13 | m_Layer: 0
14 | m_Name: EnemyWaveManager
15 | m_TagString: Untagged
16 | m_Icon: {fileID: 0}
17 | m_NavMeshLayer: 0
18 | m_StaticEditorFlags: 0
19 | m_IsActive: 1
20 | --- !u!4 &1788459492122731501
21 | Transform:
22 | m_ObjectHideFlags: 0
23 | m_CorrespondingSourceObject: {fileID: 0}
24 | m_PrefabInstance: {fileID: 0}
25 | m_PrefabAsset: {fileID: 0}
26 | m_GameObject: {fileID: 1788459492122731499}
27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
28 | m_LocalPosition: {x: 0, y: 0, z: 0}
29 | m_LocalScale: {x: 1, y: 1, z: 1}
30 | m_Children: []
31 | m_Father: {fileID: 0}
32 | m_RootOrder: 0
33 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
34 | --- !u!114 &1788459492122731500
35 | MonoBehaviour:
36 | m_ObjectHideFlags: 0
37 | m_CorrespondingSourceObject: {fileID: 0}
38 | m_PrefabInstance: {fileID: 0}
39 | m_PrefabAsset: {fileID: 0}
40 | m_GameObject: {fileID: 1788459492122731499}
41 | m_Enabled: 1
42 | m_EditorHideFlags: 0
43 | m_Script: {fileID: 11500000, guid: cf3f2ed232a5d4421a7480d00f1ac6ed, type: 3}
44 | m_Name:
45 | m_EditorClassIdentifier:
46 | _player: {fileID: 0}
47 | _enemyPrefab: {fileID: 2421445419809145576, guid: 1326bc3a5a491414d936c2cbaaf52c53,
48 | type: 3}
49 | _spawnedEnemies: {fileID: 11400000, guid: 118b16031adba41c2921b637788fa016, type: 2}
50 | _waveCount:
51 | _usage: 2
52 | _value: 0
53 | _constant: {fileID: 0}
54 | _variable: {fileID: 11400000, guid: fc9fadbe5ec824d7eb357f1f2e07a5f3, type: 2}
55 | _variableInstancer: {fileID: 0}
56 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/EnemyWaveManager/EnemyWaveManager.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2506bc32201bf46ff94ddb453c913fc0
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/EnemyWaveManager/SpawnedEnemies.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: ba615354262bb46d7add759502baf53f, type: 3}
13 | m_Name: SpawnedEnemies
14 | m_EditorClassIdentifier:
15 | _developerDescription: List of spawned enemies in the scene.
16 | Cleared: {fileID: 0}
17 | Added: {fileID: 0}
18 | Removed: {fileID: 11400000, guid: 30353c14e8a09474b853aff46b7e9c40, type: 2}
19 | list: []
20 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/EnemyWaveManager/SpawnedEnemies.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 118b16031adba41c2921b637788fa016
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/EnemyWaveManager/SpawnedEnemyRemoved.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 09747f8c6d9954e4a81c09bb7f6e44a6, type: 3}
13 | m_Name: SpawnedEnemyRemoved
14 | m_EditorClassIdentifier:
15 | _developerDescription: Raised when an Enemy is removed from the Spawned Enemies
16 | list.
17 | _replayBufferSize: 1
18 | _inspectorRaiseValue: {fileID: 0}
19 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/EnemyWaveManager/SpawnedEnemyRemoved.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 30353c14e8a09474b853aff46b7e9c40
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/EnemyWaveManager/WaveCount.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: cf8a67b68db3d4650908f8cf6adeda60, type: 3}
13 | m_Name: WaveCount
14 | m_EditorClassIdentifier:
15 | _developerDescription: Keeps track of the enemy wave count.
16 | _id:
17 | _value: 0
18 | Changed: {fileID: 11400000, guid: 2b556070e50ea4f83b41ead9f8583bc5, type: 2}
19 | ChangedWithHistory: {fileID: 0}
20 | _oldValue: 0
21 | _initialValue: 0
22 | _preChangeTransformers: []
23 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/EnemyWaveManager/WaveCount.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fc9fadbe5ec824d7eb357f1f2e07a5f3
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/EnemyWaveManager/WaveCountChanged.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 9fce12a4beec24778830e555cb6e5ca3, type: 3}
13 | m_Name: WaveCountChanged
14 | m_EditorClassIdentifier:
15 | _developerDescription: Raised when the wave count changes.
16 | _replayBufferSize: 1
17 | _inspectorRaiseValue: 0
18 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/EnemyWaveManager/WaveCountChanged.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2b556070e50ea4f83b41ead9f8583bc5
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/GlobalState.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1f8b4ffc287064c2c8e2d69bbdb8bcd3
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/GlobalState/GameStateDispatcher.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityAtoms.FSM;
3 |
4 | namespace UnityAtoms.Examples
5 | {
6 | ///
7 | /// Dispatches commands to the FSM.
8 | ///
9 | public class GameStateDispatcher : MonoBehaviour
10 | {
11 | [SerializeField]
12 | private FiniteStateMachineReference _gameStateRef;
13 |
14 | public void DispatchGameOverIfDead(int health)
15 | {
16 | if (health <= 0)
17 | {
18 | _gameStateRef.Machine.Dispatch("SetGameOver");
19 | }
20 | }
21 | }
22 | }
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/GlobalState/GameStateDispatcher.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 578b39322c0ba4e3fb1c53fbaf8ea6df
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/GlobalState/GameStateMachine.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: a56d454e768904df09296076c1aaea26, type: 3}
13 | m_Name: GameStateMachine
14 | m_EditorClassIdentifier:
15 | _developerDescription: Simple FSM keeping track of the main game state.
16 | _id:
17 | _value: GameOver
18 | Changed: {fileID: 11400000, guid: 3979f8535cda044809f98bde2acbadcd, type: 2}
19 | ChangedWithHistory: {fileID: 0}
20 | _oldValue: InGame
21 | _initialValue: InGame
22 | _preChangeTransformers: []
23 | _transitionStarted: {fileID: 0}
24 | _completeCurrentTransition: {fileID: 0}
25 | _states:
26 | _list:
27 | - _id:
28 | _usage: 0
29 | _value: InGame
30 | _constant: {fileID: 0}
31 | _variable: {fileID: 0}
32 | _variableInstancer: {fileID: 0}
33 | _cooldown:
34 | _usage: 0
35 | _value: 0
36 | _constant: {fileID: 0}
37 | _variable: {fileID: 0}
38 | _variableInstancer: {fileID: 0}
39 | _subMachine: {fileID: 0}
40 | - _id:
41 | _usage: 0
42 | _value: GameOver
43 | _constant: {fileID: 0}
44 | _variable: {fileID: 0}
45 | _variableInstancer: {fileID: 0}
46 | _cooldown:
47 | _usage: 0
48 | _value: 0
49 | _constant: {fileID: 0}
50 | _variable: {fileID: 0}
51 | _variableInstancer: {fileID: 0}
52 | _subMachine: {fileID: 0}
53 | _transitions:
54 | _list:
55 | - _fromState:
56 | _usage: 0
57 | _value: InGame
58 | _constant: {fileID: 0}
59 | _variable: {fileID: 0}
60 | _variableInstancer: {fileID: 0}
61 | _toState:
62 | _usage: 0
63 | _value: GameOver
64 | _constant: {fileID: 0}
65 | _variable: {fileID: 0}
66 | _variableInstancer: {fileID: 0}
67 | _command:
68 | _usage: 0
69 | _value: SetGameOver
70 | _constant: {fileID: 0}
71 | _variable: {fileID: 0}
72 | _variableInstancer: {fileID: 0}
73 | _testCondition: {fileID: 0}
74 | _raiseEventToCompleteTransition: 0
75 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/GlobalState/GameStateMachine.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 42e941e460d424571aa897b211cee70e
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/InfiniteWaves.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1884ae14ccb814c8194f6b64dcf0af90
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Player.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 608e332102c7a46aebc71ad84256dacf
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Player/DirectionIndicator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unity-atoms/unity-atoms-examples/04675cff4231bbcc2d9f508bdc1c2f44c24aa493/Assets/InfiniteWaves/Player/DirectionIndicator.png
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Player/PlayerShooting.cs:
--------------------------------------------------------------------------------
1 | using UnityAtoms.BaseAtoms;
2 | using UnityEngine;
3 |
4 | namespace UnityAtoms.Examples
5 | {
6 | ///
7 | /// Simple shooting scipt for the player using the arrow keys.
8 | ///
9 | public class PlayerShooting : MonoBehaviour
10 | {
11 | [SerializeField]
12 | private GameObject _projectile;
13 |
14 | [SerializeField]
15 | private StringConstant _playerTag;
16 |
17 |
18 | private enum Direction
19 | {
20 | Up,
21 | Down,
22 | Left,
23 | Right
24 | }
25 | void Shoot(Direction direction)
26 | {
27 | var shootDirection = Vector3.zero;
28 | var rot = Quaternion.identity;
29 | switch (direction)
30 | {
31 | case Direction.Up:
32 | {
33 | shootDirection = Vector3.up;
34 | rot = Quaternion.Euler(0f, 0f, 90f);
35 | break;
36 | }
37 | case Direction.Down:
38 | {
39 | shootDirection = Vector3.down;
40 | rot = Quaternion.Euler(0f, 0f, -90f);
41 | break;
42 | }
43 | case Direction.Right:
44 | {
45 | shootDirection = Vector3.right;
46 | rot = Quaternion.Euler(0f, 0f, 0f);
47 | break;
48 | }
49 | case Direction.Left:
50 | {
51 | shootDirection = Vector3.left;
52 | rot = Quaternion.Euler(0f, 0f, 180f);
53 | break;
54 | }
55 | }
56 |
57 | var spawnPos = transform.position + shootDirection * 0.6f;
58 | var projectile = Instantiate(_projectile, spawnPos, rot);
59 | projectile.GetComponent().TagsAffected.Remove(_playerTag); // Turn off friendly fire
60 | }
61 |
62 | public void ShootUp()
63 | {
64 | Shoot(Direction.Up);
65 | }
66 |
67 | public void ShootDown()
68 | {
69 | Shoot(Direction.Down);
70 | }
71 |
72 | public void ShootLeft()
73 | {
74 | Shoot(Direction.Left);
75 | }
76 |
77 | public void ShootRight()
78 | {
79 | Shoot(Direction.Right);
80 | }
81 | }
82 | }
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Player/PlayerShooting.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: eefa918545d944306849e05beda6ac63
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Projectile.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b76e2bb92c89e4b3dbb4d33198adb982
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Projectile/MoveInDirection.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityAtoms.BaseAtoms;
3 |
4 | namespace UnityAtoms.Examples
5 | {
6 | ///
7 | /// Sets a constant velocity on the attached Rigidbody 2D.
8 | ///
9 | [RequireComponent(typeof(Rigidbody2D))]
10 | public class MoveInDirection : MonoBehaviour
11 | {
12 | public float Speed { set => _speed.Value = value; }
13 |
14 | [SerializeField]
15 | private FloatReference _speed;
16 |
17 | private Rigidbody2D rb;
18 |
19 | void Start()
20 | {
21 | rb = GetComponent();
22 | rb.isKinematic = true;
23 | }
24 |
25 | void Update()
26 | {
27 | rb.velocity = transform.right * _speed.Value;
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Projectile/MoveInDirection.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: adf0d22e8586c4ddda7a4186d00cc32d
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Projectile/Projectile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/unity-atoms/unity-atoms-examples/04675cff4231bbcc2d9f508bdc1c2f44c24aa493/Assets/InfiniteWaves/Projectile/Projectile.png
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Projectile/Projectile.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1 &2729875676815699808
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: 2544472235185267225}
12 | - component: {fileID: 1294875927}
13 | - component: {fileID: 1294875923}
14 | - component: {fileID: 1294875924}
15 | - component: {fileID: 1294875917}
16 | - component: {fileID: 1294875918}
17 | - component: {fileID: 1294875919}
18 | - component: {fileID: 1294875920}
19 | - component: {fileID: 1294875921}
20 | - component: {fileID: 1294875922}
21 | - component: {fileID: 1294875925}
22 | - component: {fileID: 1294875926}
23 | m_Layer: 0
24 | m_Name: Projectile
25 | m_TagString: Untagged
26 | m_Icon: {fileID: 0}
27 | m_NavMeshLayer: 0
28 | m_StaticEditorFlags: 0
29 | m_IsActive: 1
30 | --- !u!4 &2544472235185267225
31 | Transform:
32 | m_ObjectHideFlags: 0
33 | m_CorrespondingSourceObject: {fileID: 0}
34 | m_PrefabInstance: {fileID: 0}
35 | m_PrefabAsset: {fileID: 0}
36 | m_GameObject: {fileID: 2729875676815699808}
37 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
38 | m_LocalPosition: {x: 0, y: 0, z: 0}
39 | m_LocalScale: {x: 0.2, y: 0.2, z: 0.2}
40 | m_Children: []
41 | m_Father: {fileID: 0}
42 | m_RootOrder: 0
43 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
44 | --- !u!50 &1294875927
45 | Rigidbody2D:
46 | serializedVersion: 4
47 | m_ObjectHideFlags: 0
48 | m_CorrespondingSourceObject: {fileID: 0}
49 | m_PrefabInstance: {fileID: 0}
50 | m_PrefabAsset: {fileID: 0}
51 | m_GameObject: {fileID: 2729875676815699808}
52 | m_BodyType: 1
53 | m_Simulated: 1
54 | m_UseFullKinematicContacts: 0
55 | m_UseAutoMass: 0
56 | m_Mass: 1
57 | m_LinearDrag: 0
58 | m_AngularDrag: 0.05
59 | m_GravityScale: 1
60 | m_Material: {fileID: 0}
61 | m_Interpolate: 0
62 | m_SleepingMode: 1
63 | m_CollisionDetection: 0
64 | m_Constraints: 0
65 | --- !u!58 &1294875923
66 | CircleCollider2D:
67 | m_ObjectHideFlags: 0
68 | m_CorrespondingSourceObject: {fileID: 0}
69 | m_PrefabInstance: {fileID: 0}
70 | m_PrefabAsset: {fileID: 0}
71 | m_GameObject: {fileID: 2729875676815699808}
72 | m_Enabled: 1
73 | m_Density: 1
74 | m_Material: {fileID: 0}
75 | m_IsTrigger: 1
76 | m_UsedByEffector: 0
77 | m_UsedByComposite: 0
78 | m_Offset: {x: 0, y: 0}
79 | serializedVersion: 2
80 | m_Radius: 0.5
81 | --- !u!212 &1294875924
82 | SpriteRenderer:
83 | m_ObjectHideFlags: 0
84 | m_CorrespondingSourceObject: {fileID: 0}
85 | m_PrefabInstance: {fileID: 0}
86 | m_PrefabAsset: {fileID: 0}
87 | m_GameObject: {fileID: 2729875676815699808}
88 | m_Enabled: 1
89 | m_CastShadows: 0
90 | m_ReceiveShadows: 0
91 | m_DynamicOccludee: 1
92 | m_MotionVectors: 1
93 | m_LightProbeUsage: 1
94 | m_ReflectionProbeUsage: 1
95 | m_RayTracingMode: 0
96 | m_RenderingLayerMask: 1
97 | m_RendererPriority: 0
98 | m_Materials:
99 | - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
100 | m_StaticBatchInfo:
101 | firstSubMesh: 0
102 | subMeshCount: 0
103 | m_StaticBatchRoot: {fileID: 0}
104 | m_ProbeAnchor: {fileID: 0}
105 | m_LightProbeVolumeOverride: {fileID: 0}
106 | m_ScaleInLightmap: 1
107 | m_ReceiveGI: 1
108 | m_PreserveUVs: 0
109 | m_IgnoreNormalsForChartDetection: 0
110 | m_ImportantGI: 0
111 | m_StitchLightmapSeams: 1
112 | m_SelectedEditorRenderState: 0
113 | m_MinimumChartSize: 4
114 | m_AutoUVMaxDistance: 0.5
115 | m_AutoUVMaxAngle: 89
116 | m_LightmapParameters: {fileID: 0}
117 | m_SortingLayerID: 0
118 | m_SortingLayer: 0
119 | m_SortingOrder: 0
120 | m_Sprite: {fileID: 21300000, guid: e73905c499d7b4660a64b7a956ebd018, type: 3}
121 | m_Color: {r: 0.9824066, g: 1, b: 0.8915094, a: 1}
122 | m_FlipX: 0
123 | m_FlipY: 0
124 | m_DrawMode: 0
125 | m_Size: {x: 1, y: 1}
126 | m_AdaptiveModeThreshold: 0.5
127 | m_SpriteTileMode: 0
128 | m_WasSpriteAssigned: 1
129 | m_MaskInteraction: 0
130 | m_SpriteSortPoint: 0
131 | --- !u!114 &1294875917
132 | MonoBehaviour:
133 | m_ObjectHideFlags: 0
134 | m_CorrespondingSourceObject: {fileID: 0}
135 | m_PrefabInstance: {fileID: 0}
136 | m_PrefabAsset: {fileID: 0}
137 | m_GameObject: {fileID: 2729875676815699808}
138 | m_Enabled: 1
139 | m_EditorHideFlags: 0
140 | m_Script: {fileID: 11500000, guid: d2458933140c54c9db0aec7a69c1b617, type: 3}
141 | m_Name:
142 | m_EditorClassIdentifier:
143 | _developerDescription:
144 | _unityEventResponse:
145 | m_PersistentCalls:
146 | m_Calls:
147 | - m_Target: {fileID: 1294875922}
148 | m_MethodName: DestroyImmediate
149 | m_Mode: 1
150 | m_Arguments:
151 | m_ObjectArgument: {fileID: 0}
152 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
153 | m_IntArgument: 0
154 | m_FloatArgument: 0
155 | m_StringArgument:
156 | m_BoolArgument: 0
157 | m_CallState: 2
158 | _actionResponses: []
159 | _eventReference:
160 | _usage: 1
161 | _event: {fileID: 0}
162 | _eventInstancer: {fileID: 1294875925}
163 | --- !u!114 &1294875918
164 | MonoBehaviour:
165 | m_ObjectHideFlags: 0
166 | m_CorrespondingSourceObject: {fileID: 0}
167 | m_PrefabInstance: {fileID: 0}
168 | m_PrefabAsset: {fileID: 0}
169 | m_GameObject: {fileID: 2729875676815699808}
170 | m_Enabled: 1
171 | m_EditorHideFlags: 0
172 | m_Script: {fileID: 11500000, guid: 64882d9a6a5104b579ad078658f093c6, type: 3}
173 | m_Name:
174 | m_EditorClassIdentifier:
175 | _developerDescription: Listens for On Trigger 2D Events
176 | _unityEventResponse:
177 | m_PersistentCalls:
178 | m_Calls:
179 | - m_Target: {fileID: 1294875920}
180 | m_MethodName: Do
181 | m_Mode: 0
182 | m_Arguments:
183 | m_ObjectArgument: {fileID: 0}
184 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
185 | m_IntArgument: 0
186 | m_FloatArgument: 0
187 | m_StringArgument:
188 | m_BoolArgument: 0
189 | m_CallState: 2
190 | _actionResponses: []
191 | _eventReference:
192 | _usage: 1
193 | _event: {fileID: 0}
194 | _eventInstancer: {fileID: 1294875919}
195 | _variable: {fileID: 0}
196 | _variableInstancer: {fileID: 0}
197 | --- !u!114 &1294875919
198 | MonoBehaviour:
199 | m_ObjectHideFlags: 0
200 | m_CorrespondingSourceObject: {fileID: 0}
201 | m_PrefabInstance: {fileID: 0}
202 | m_PrefabAsset: {fileID: 0}
203 | m_GameObject: {fileID: 2729875676815699808}
204 | m_Enabled: 1
205 | m_EditorHideFlags: 0
206 | m_Script: {fileID: 11500000, guid: 0f47abc31328c42c48e66af66a05c1f9, type: 3}
207 | m_Name:
208 | m_EditorClassIdentifier:
209 | _inMemoryCopy: {fileID: 0}
210 | _base: {fileID: 11400000, guid: c90e171d32d4c496fb2f2ecf7420f249, type: 2}
211 | --- !u!114 &1294875920
212 | MonoBehaviour:
213 | m_ObjectHideFlags: 0
214 | m_CorrespondingSourceObject: {fileID: 0}
215 | m_PrefabInstance: {fileID: 0}
216 | m_PrefabAsset: {fileID: 0}
217 | m_GameObject: {fileID: 2729875676815699808}
218 | m_Enabled: 1
219 | m_EditorHideFlags: 0
220 | m_Script: {fileID: 11500000, guid: 2eb8227755d4543bba34358ca3a9ab6f, type: 3}
221 | m_Name:
222 | m_EditorClassIdentifier:
223 | _decreaseBy:
224 | _usage: 0
225 | _value: 10
226 | _constant: {fileID: 0}
227 | _variable: {fileID: 0}
228 | _variableInstancer: {fileID: 0}
229 | _tags:
230 | - {fileID: 11400000, guid: 23f42a77324bd4158a00555f04f7824e, type: 2}
231 | - {fileID: 11400000, guid: 548d717e096e245aa93d91687b22e1f7, type: 2}
232 | _didCollide:
233 | _usage: 1
234 | _event: {fileID: 0}
235 | _eventInstancer: {fileID: 1294875925}
236 | --- !u!114 &1294875921
237 | MonoBehaviour:
238 | m_ObjectHideFlags: 0
239 | m_CorrespondingSourceObject: {fileID: 0}
240 | m_PrefabInstance: {fileID: 0}
241 | m_PrefabAsset: {fileID: 0}
242 | m_GameObject: {fileID: 2729875676815699808}
243 | m_Enabled: 1
244 | m_EditorHideFlags: 0
245 | m_Script: {fileID: 11500000, guid: d6b2ba18c3f8e4b409ccb9db0bcd4ce5, type: 3}
246 | m_Name:
247 | m_EditorClassIdentifier:
248 | _eventReference:
249 | _usage: 1
250 | _event: {fileID: 0}
251 | _eventInstancer: {fileID: 1294875919}
252 | _variable: {fileID: 0}
253 | _variableInstancer: {fileID: 0}
254 | _selectGameObjectReference: {fileID: 0}
255 | _eventWithGameObjectReference:
256 | _usage: 0
257 | _event: {fileID: 0}
258 | _eventInstancer: {fileID: 0}
259 | _variable: {fileID: 0}
260 | _variableInstancer: {fileID: 0}
261 | _triggerOnEnter: 1
262 | _triggerOnExit: 0
263 | _triggerOnStay: 1
264 | --- !u!114 &1294875922
265 | MonoBehaviour:
266 | m_ObjectHideFlags: 0
267 | m_CorrespondingSourceObject: {fileID: 0}
268 | m_PrefabInstance: {fileID: 0}
269 | m_PrefabAsset: {fileID: 0}
270 | m_GameObject: {fileID: 2729875676815699808}
271 | m_Enabled: 1
272 | m_EditorHideFlags: 0
273 | m_Script: {fileID: 11500000, guid: 6a57cc968d2764ec0bc2de2bd308d451, type: 3}
274 | m_Name:
275 | m_EditorClassIdentifier:
276 | _delay:
277 | _usage: 0
278 | _value: 5
279 | _constant: {fileID: 0}
280 | _variable: {fileID: 0}
281 | _variableInstancer: {fileID: 0}
282 | --- !u!114 &1294875925
283 | MonoBehaviour:
284 | m_ObjectHideFlags: 0
285 | m_CorrespondingSourceObject: {fileID: 0}
286 | m_PrefabInstance: {fileID: 0}
287 | m_PrefabAsset: {fileID: 0}
288 | m_GameObject: {fileID: 2729875676815699808}
289 | m_Enabled: 1
290 | m_EditorHideFlags: 0
291 | m_Script: {fileID: 11500000, guid: b7ddf86bc0bd24f30868f3a6a765342e, type: 3}
292 | m_Name:
293 | m_EditorClassIdentifier:
294 | _inMemoryCopy: {fileID: 0}
295 | _base: {fileID: 11400000, guid: 3ac34adcc7f114450a294921f7b6c441, type: 2}
296 | --- !u!114 &1294875926
297 | MonoBehaviour:
298 | m_ObjectHideFlags: 0
299 | m_CorrespondingSourceObject: {fileID: 0}
300 | m_PrefabInstance: {fileID: 0}
301 | m_PrefabAsset: {fileID: 0}
302 | m_GameObject: {fileID: 2729875676815699808}
303 | m_Enabled: 1
304 | m_EditorHideFlags: 0
305 | m_Script: {fileID: 11500000, guid: adf0d22e8586c4ddda7a4186d00cc32d, type: 3}
306 | m_Name:
307 | m_EditorClassIdentifier:
308 | _speed:
309 | _usage: 0
310 | _value: 5
311 | _constant: {fileID: 0}
312 | _variable: {fileID: 0}
313 | _variableInstancer: {fileID: 0}
314 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Projectile/Projectile.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e06c7b1d6f150401bbea0ac60adf80b1
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Projectile/ProjectileDidCollideBase.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 04d35e2eb934747da9d77a3af62bb8ca, type: 3}
13 | m_Name: ProjectileDidCollideBase
14 | m_EditorClassIdentifier:
15 | _developerDescription: Raised when a projectile do collide. This is a base Event
16 | used for creating in memory copies.
17 | _replayBufferSize: 1
18 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Projectile/ProjectileDidCollideBase.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3ac34adcc7f114450a294921f7b6c441
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Projectile/ProjectileTriggerBase.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 9712fe83f4a3a4887a58910aeb195c64, type: 3}
13 | m_Name: ProjectileTriggerBase
14 | m_EditorClassIdentifier:
15 | _developerDescription: Raised when a projectile enters a trigger. This is a base
16 | Event used for creating in memory copies.
17 | _replayBufferSize: 1
18 | _inspectorRaiseValue: {fileID: 0}
19 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/Projectile/ProjectileTriggerBase.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c90e171d32d4c496fb2f2ecf7420f249
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/UI.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c3f8284858a8a40508931a04d17630a3
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/UI/EnemyHealthBars.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 03d72942856114a35806ff2918f7a3a5
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/UI/EnemyHealthBars/EnemyHealthBarManager.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using UnityAtoms.BaseAtoms;
3 | using UnityEngine;
4 | using UnityEngine.Assertions;
5 | using UnityEngine.UI;
6 |
7 | namespace UnityAtoms.Examples
8 | {
9 | ///
10 | /// Listens to spawned and dead enemies and create and manage healthbars accordingly.
11 | ///
12 | public class EnemyHealthBarManager : MonoBehaviour
13 | {
14 | [SerializeField]
15 | private AtomList _enemies;
16 |
17 | [SerializeField]
18 | private GameObject _healthBarPrefab;
19 |
20 | [SerializeField]
21 | private RectTransform _canvasRectTransform;
22 |
23 | void Awake()
24 | {
25 | Assert.IsNotNull(_enemies);
26 | Assert.IsNotNull(_healthBarPrefab);
27 | Assert.IsNotNull(_canvasRectTransform);
28 | }
29 |
30 | public void SetupHealthBar(AtomBaseVariable enemyData)
31 | {
32 | var enemyDataCollection = (AtomCollection)enemyData;
33 | var healthBar = Instantiate(_healthBarPrefab).GetComponent();
34 | healthBar.transform.SetParent(transform);
35 |
36 | IntVariable health = default;
37 | Vector3Variable position = default;
38 | Action positionChangedHandler = default;
39 | Action varAddedHandler = (AtomBaseVariable baseVar) =>
40 | {
41 | switch (baseVar.Id)
42 | {
43 | case "Health":
44 | var healthVar = (IntVariable)baseVar;
45 | health = healthVar;
46 | healthBar.InitialHealth.Value = healthVar.InitialValue;
47 | healthVar.Changed.Register(healthBar.HealthChanged);
48 | break;
49 | case "Position":
50 | var positionVar = (Vector3Variable)baseVar;
51 | position = positionVar;
52 | positionChangedHandler = (pos) =>
53 | {
54 | Vector2 viewportPos = Camera.main.WorldToViewportPoint(pos);
55 | Vector2 healthBarPos = new Vector2(
56 | (viewportPos.x * _canvasRectTransform.sizeDelta.x) - (_canvasRectTransform.sizeDelta.x * 0.5f),
57 | (viewportPos.y * _canvasRectTransform.sizeDelta.y) - (_canvasRectTransform.sizeDelta.y * 0.5f) + 38f
58 | );
59 | healthBar.GetComponent().anchoredPosition = healthBarPos;
60 | };
61 | positionVar.Changed.Register(positionChangedHandler);
62 | break;
63 | }
64 | };
65 |
66 | Action varRemovedHandler = (AtomBaseVariable baseVar) =>
67 | {
68 | switch (baseVar.Id)
69 | {
70 | case "Health":
71 | var healthVar = (IntVariable)baseVar;
72 | healthVar.Changed.Unregister(healthBar.HealthChanged);
73 | break;
74 | case "Position":
75 | var positionVar = (Vector3Variable)baseVar;
76 | positionVar.Changed.Unregister(positionChangedHandler);
77 | break;
78 | }
79 | };
80 |
81 | enemyDataCollection.Added.Register(varAddedHandler);
82 | enemyDataCollection.Removed.Register(varRemovedHandler);
83 |
84 | Action enemyDataRemovedHandler = default;
85 | enemyDataRemovedHandler = (enemyDataToBeRemoved) =>
86 | {
87 | if (enemyDataToBeRemoved == enemyData)
88 | {
89 | enemyDataCollection.Added.Unregister(varAddedHandler);
90 | enemyDataCollection.Removed.Unregister(varRemovedHandler);
91 | _enemies.Removed.Unregister(enemyDataRemovedHandler);
92 |
93 | if (healthBar != null && healthBar.gameObject != null)
94 | {
95 | if (health != null)
96 | {
97 | health.Changed.Unregister(healthBar.HealthChanged);
98 | }
99 | else if (position != null)
100 | {
101 | position.Changed.Unregister(positionChangedHandler);
102 | }
103 |
104 | Destroy(healthBar.gameObject);
105 | }
106 |
107 | }
108 | };
109 | _enemies.Removed.Register(enemyDataRemovedHandler);
110 | }
111 | }
112 | }
113 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/UI/EnemyHealthBars/EnemyHealthBarManager.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e1b416f9725d24fe5b140a75157a371e
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/UI/EnemyHealthBars/HealthBar.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1 &5962985843664808544
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: 5962985843664808547}
12 | - component: {fileID: 5962985843664808549}
13 | - component: {fileID: 5962985843664808546}
14 | m_Layer: 0
15 | m_Name: Fill
16 | m_TagString: Untagged
17 | m_Icon: {fileID: 0}
18 | m_NavMeshLayer: 0
19 | m_StaticEditorFlags: 0
20 | m_IsActive: 1
21 | --- !u!224 &5962985843664808547
22 | RectTransform:
23 | m_ObjectHideFlags: 0
24 | m_CorrespondingSourceObject: {fileID: 0}
25 | m_PrefabInstance: {fileID: 0}
26 | m_PrefabAsset: {fileID: 0}
27 | m_GameObject: {fileID: 5962985843664808544}
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: 5962985845040392295}
33 | m_RootOrder: 0
34 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
35 | m_AnchorMin: {x: 0, y: 0}
36 | m_AnchorMax: {x: 1, y: 1}
37 | m_AnchoredPosition: {x: 0, y: 0}
38 | m_SizeDelta: {x: -2, y: -2}
39 | m_Pivot: {x: 0.5, y: 0.5}
40 | --- !u!222 &5962985843664808549
41 | CanvasRenderer:
42 | m_ObjectHideFlags: 0
43 | m_CorrespondingSourceObject: {fileID: 0}
44 | m_PrefabInstance: {fileID: 0}
45 | m_PrefabAsset: {fileID: 0}
46 | m_GameObject: {fileID: 5962985843664808544}
47 | m_CullTransparentMesh: 0
48 | --- !u!114 &5962985843664808546
49 | MonoBehaviour:
50 | m_ObjectHideFlags: 0
51 | m_CorrespondingSourceObject: {fileID: 0}
52 | m_PrefabInstance: {fileID: 0}
53 | m_PrefabAsset: {fileID: 0}
54 | m_GameObject: {fileID: 5962985843664808544}
55 | m_Enabled: 1
56 | m_EditorHideFlags: 0
57 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
58 | m_Name:
59 | m_EditorClassIdentifier:
60 | m_Material: {fileID: 0}
61 | m_Color: {r: 0.6117647, g: 0, b: 0, a: 1}
62 | m_RaycastTarget: 1
63 | m_OnCullStateChanged:
64 | m_PersistentCalls:
65 | m_Calls: []
66 | m_Sprite: {fileID: 21300000, guid: bcb9bdff5d4664c74a932c679135aff5, type: 3}
67 | m_Type: 3
68 | m_PreserveAspect: 0
69 | m_FillCenter: 1
70 | m_FillMethod: 0
71 | m_FillAmount: 1
72 | m_FillClockwise: 1
73 | m_FillOrigin: 0
74 | m_UseSpriteMesh: 0
75 | m_PixelsPerUnitMultiplier: 1
76 | --- !u!1 &5962985845040392292
77 | GameObject:
78 | m_ObjectHideFlags: 0
79 | m_CorrespondingSourceObject: {fileID: 0}
80 | m_PrefabInstance: {fileID: 0}
81 | m_PrefabAsset: {fileID: 0}
82 | serializedVersion: 6
83 | m_Component:
84 | - component: {fileID: 5962985845040392295}
85 | - component: {fileID: 5962985845040392313}
86 | - component: {fileID: 5962985845040392294}
87 | - component: {fileID: 672736024155512211}
88 | - component: {fileID: 1195006272440714522}
89 | m_Layer: 0
90 | m_Name: HealthBar
91 | m_TagString: Untagged
92 | m_Icon: {fileID: 0}
93 | m_NavMeshLayer: 0
94 | m_StaticEditorFlags: 0
95 | m_IsActive: 1
96 | --- !u!224 &5962985845040392295
97 | RectTransform:
98 | m_ObjectHideFlags: 0
99 | m_CorrespondingSourceObject: {fileID: 0}
100 | m_PrefabInstance: {fileID: 0}
101 | m_PrefabAsset: {fileID: 0}
102 | m_GameObject: {fileID: 5962985845040392292}
103 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
104 | m_LocalPosition: {x: 0, y: 0, z: 0}
105 | m_LocalScale: {x: 1, y: 1, z: 1}
106 | m_Children:
107 | - {fileID: 5962985843664808547}
108 | m_Father: {fileID: 0}
109 | m_RootOrder: 0
110 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
111 | m_AnchorMin: {x: 0.5, y: 0.5}
112 | m_AnchorMax: {x: 0.5, y: 0.5}
113 | m_AnchoredPosition: {x: -253.5, y: 148}
114 | m_SizeDelta: {x: 50, y: 10}
115 | m_Pivot: {x: 0.5, y: 0.5}
116 | --- !u!222 &5962985845040392313
117 | CanvasRenderer:
118 | m_ObjectHideFlags: 0
119 | m_CorrespondingSourceObject: {fileID: 0}
120 | m_PrefabInstance: {fileID: 0}
121 | m_PrefabAsset: {fileID: 0}
122 | m_GameObject: {fileID: 5962985845040392292}
123 | m_CullTransparentMesh: 0
124 | --- !u!114 &5962985845040392294
125 | MonoBehaviour:
126 | m_ObjectHideFlags: 0
127 | m_CorrespondingSourceObject: {fileID: 0}
128 | m_PrefabInstance: {fileID: 0}
129 | m_PrefabAsset: {fileID: 0}
130 | m_GameObject: {fileID: 5962985845040392292}
131 | m_Enabled: 1
132 | m_EditorHideFlags: 0
133 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
134 | m_Name:
135 | m_EditorClassIdentifier:
136 | m_Material: {fileID: 0}
137 | m_Color: {r: 0.14901961, g: 0.14901961, b: 0.14901961, a: 1}
138 | m_RaycastTarget: 1
139 | m_OnCullStateChanged:
140 | m_PersistentCalls:
141 | m_Calls: []
142 | m_Sprite: {fileID: 0}
143 | m_Type: 0
144 | m_PreserveAspect: 0
145 | m_FillCenter: 1
146 | m_FillMethod: 4
147 | m_FillAmount: 1
148 | m_FillClockwise: 1
149 | m_FillOrigin: 0
150 | m_UseSpriteMesh: 0
151 | m_PixelsPerUnitMultiplier: 1
152 | --- !u!114 &672736024155512211
153 | MonoBehaviour:
154 | m_ObjectHideFlags: 0
155 | m_CorrespondingSourceObject: {fileID: 0}
156 | m_PrefabInstance: {fileID: 0}
157 | m_PrefabAsset: {fileID: 0}
158 | m_GameObject: {fileID: 5962985845040392292}
159 | m_Enabled: 1
160 | m_EditorHideFlags: 0
161 | m_Script: {fileID: 11500000, guid: dbd80c08b2c1349c0839fcab63bcf9a3, type: 3}
162 | m_Name:
163 | m_EditorClassIdentifier:
164 | _initialHealth:
165 | _usage: 0
166 | _value: 0
167 | _constant: {fileID: 0}
168 | _variable: {fileID: 0}
169 | _variableInstancer: {fileID: 0}
170 | _image: {fileID: 5962985843664808546}
171 | --- !u!114 &1195006272440714522
172 | MonoBehaviour:
173 | m_ObjectHideFlags: 0
174 | m_CorrespondingSourceObject: {fileID: 0}
175 | m_PrefabInstance: {fileID: 0}
176 | m_PrefabAsset: {fileID: 0}
177 | m_GameObject: {fileID: 5962985845040392292}
178 | m_Enabled: 1
179 | m_EditorHideFlags: 0
180 | m_Script: {fileID: 11500000, guid: 050ff37b5550f4b7e9bdf8b985aff484, type: 3}
181 | m_Name:
182 | m_EditorClassIdentifier:
183 | _developerDescription:
184 | _unityEventResponse:
185 | m_PersistentCalls:
186 | m_Calls: []
187 | _actionResponses: []
188 | _replayEventBufferOnRegister: 1
189 | _eventReference:
190 | _usage: 0
191 | _event: {fileID: 0}
192 | _eventInstancer: {fileID: 0}
193 | _variable: {fileID: 0}
194 | _variableInstancer: {fileID: 0}
195 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/UI/EnemyHealthBars/HealthBar.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 26027fcaed24946ab8ccd94d49977476
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/UI/TryAgainButton.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 110fa57a940364e1dac4913625ffdedd
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/UI/TryAgainButton/RestartCurrentScene.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEngine.SceneManagement;
3 |
4 | namespace UnityAtoms.Examples
5 | {
6 | ///
7 | /// Restart the current scene.
8 | ///
9 | public class RestartCurrentScene : MonoBehaviour
10 | {
11 | public void Do() => SceneManager.LoadScene(SceneManager.GetActiveScene().name);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/UI/TryAgainButton/RestartCurrentScene.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0edcc6be89a1846018a134a7c0f23c29
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/UI/TryAgainButton/TryAgainButtonClicked.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 04d35e2eb934747da9d77a3af62bb8ca, type: 3}
13 | m_Name: TryAgainButtonClicked
14 | m_EditorClassIdentifier:
15 | _developerDescription: Raised when the player clicks the try again button in the
16 | game over screen.
17 | _replayBufferSize: 0
18 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/UI/TryAgainButton/TryAgainButtonClicked.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b512e6d2a87f440c5883fe3546438a16
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/UI/UIStateChanged.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 75feba4dec8d44f0fb83f34e749e4dc3, type: 3}
13 | m_Name: UIStateChanged
14 | m_EditorClassIdentifier:
15 | _developerDescription: Raised when UI state is changed.
16 | _replayBufferSize: 1
17 | _inspectorRaiseValue:
18 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/UI/UIStateChanged.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3979f8535cda044809f98bde2acbadcd
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/UI/WaveCountText.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEngine.UI;
3 |
4 | namespace UnityAtoms.Examples
5 | {
6 | ///
7 | /// Sets the text for the Wave count UI.
8 | ///
9 | public class WaveCountText : MonoBehaviour
10 | {
11 | public void AdjustText(int waveCount) => GetComponent().text = $"Wave count: {waveCount}";
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Assets/InfiniteWaves/UI/WaveCountText.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 31ffc7cd313ed4b62a3d99ae926487ee
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/Intro.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 945ddfa5e9c3f4c81a682f469562893d
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Intro/GlobalState.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8988f54755dd64c0d82b43cf147312b8
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Intro/GlobalState/ClampHealth.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 6fca6fcea11a74802b8c952026ca7386, type: 3}
13 | m_Name: ClampHealth
14 | m_EditorClassIdentifier:
15 | _developerDescription:
16 | Min:
17 | _usage: 0
18 | _value: 0
19 | _constant: {fileID: 0}
20 | _variable: {fileID: 0}
21 | _variableInstancer: {fileID: 0}
22 | Max:
23 | _usage: 1
24 | _value: 0
25 | _constant: {fileID: 11400000, guid: 41aa2296cd68a4b718a8fd1bd8ad5a95, type: 2}
26 | _variable: {fileID: 0}
27 | _variableInstancer: {fileID: 0}
28 |
--------------------------------------------------------------------------------
/Assets/Intro/GlobalState/ClampHealth.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 958ba52eba25948938a6ce4097b9f961
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Intro/GlobalState/Health.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: cf8a67b68db3d4650908f8cf6adeda60, type: 3}
13 | m_Name: Health
14 | m_EditorClassIdentifier:
15 | _developerDescription: Variable keeping track of the Player's health.
16 | _id:
17 | _value: 100
18 | _changed: {fileID: 11400000, guid: fb1508338b66f42099fceb52aa22cf4c, type: 2}
19 | _changedWithHistory: {fileID: 0}
20 | _triggerChangedOnOnEnable: 0
21 | _triggerChangedWithHistoryOnOnEnable: 0
22 | _oldValue: 100
23 | _initialValue: 100
24 | _preChangeTransformers:
25 | - {fileID: 11400000, guid: 958ba52eba25948938a6ce4097b9f961, type: 2}
26 |
--------------------------------------------------------------------------------
/Assets/Intro/GlobalState/Health.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 50206c000343d496fa82bd362e3b3b2b
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Intro/GlobalState/HealthChangedEvent.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 9fce12a4beec24778830e555cb6e5ca3, type: 3}
13 | m_Name: HealthChangedEvent
14 | m_EditorClassIdentifier:
15 | _developerDescription: Raised when the Player's health is changed.
16 | _replayBufferSize: 1
17 | _inspectorRaiseValue: 0
18 |
--------------------------------------------------------------------------------
/Assets/Intro/GlobalState/HealthChangedEvent.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fb1508338b66f42099fceb52aa22cf4c
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Intro/GlobalState/UIState.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 0fdbbdbe4268c4d729a51bde5e681e8c, type: 3}
13 | m_Name: UIState
14 | m_EditorClassIdentifier:
15 | _developerDescription: Variable keeping track of global UI state.
16 | _id:
17 | _value: First
18 | Changed: {fileID: 11400000, guid: c69dea8a114f5426595035f762d6e93d, type: 2}
19 | ChangedWithHistory: {fileID: 0}
20 | _oldValue: First
21 | _initialValue: First
22 | _preChangeTransformers: []
23 |
--------------------------------------------------------------------------------
/Assets/Intro/GlobalState/UIState.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ca4bd447b40154988be601bad9c84506
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Intro/GlobalState/UIStateChanged.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 75feba4dec8d44f0fb83f34e749e4dc3, type: 3}
13 | m_Name: UIStateChanged
14 | m_EditorClassIdentifier:
15 | _developerDescription: Raised when UI State is changed.
16 | _replayBufferSize: 1
17 | _inspectorRaiseValue:
18 |
--------------------------------------------------------------------------------
/Assets/Intro/GlobalState/UIStateChanged.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c69dea8a114f5426595035f762d6e93d
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Intro/Harmful.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6f895991e9df44857a2af43856e9bea3
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Intro/Harmful/Harmful.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1 &6817695843196285254
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: 5649868538695814393}
12 | - component: {fileID: 2114507819800655474}
13 | - component: {fileID: 4469886331617117075}
14 | - component: {fileID: 6817695843196285249}
15 | - component: {fileID: 8791131526705612255}
16 | - component: {fileID: 1041281918}
17 | m_Layer: 0
18 | m_Name: Harmful
19 | m_TagString: Untagged
20 | m_Icon: {fileID: 0}
21 | m_NavMeshLayer: 0
22 | m_StaticEditorFlags: 0
23 | m_IsActive: 1
24 | --- !u!4 &5649868538695814393
25 | Transform:
26 | m_ObjectHideFlags: 0
27 | m_CorrespondingSourceObject: {fileID: 0}
28 | m_PrefabInstance: {fileID: 0}
29 | m_PrefabAsset: {fileID: 0}
30 | m_GameObject: {fileID: 6817695843196285254}
31 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
32 | m_LocalPosition: {x: 2.535, y: 0, z: 0}
33 | m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
34 | m_Children: []
35 | m_Father: {fileID: 0}
36 | m_RootOrder: 0
37 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
38 | --- !u!212 &2114507819800655474
39 | SpriteRenderer:
40 | m_ObjectHideFlags: 0
41 | m_CorrespondingSourceObject: {fileID: 0}
42 | m_PrefabInstance: {fileID: 0}
43 | m_PrefabAsset: {fileID: 0}
44 | m_GameObject: {fileID: 6817695843196285254}
45 | m_Enabled: 1
46 | m_CastShadows: 0
47 | m_ReceiveShadows: 0
48 | m_DynamicOccludee: 1
49 | m_MotionVectors: 1
50 | m_LightProbeUsage: 1
51 | m_ReflectionProbeUsage: 1
52 | m_RayTracingMode: 0
53 | m_RenderingLayerMask: 4294967295
54 | m_RendererPriority: 0
55 | m_Materials:
56 | - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
57 | m_StaticBatchInfo:
58 | firstSubMesh: 0
59 | subMeshCount: 0
60 | m_StaticBatchRoot: {fileID: 0}
61 | m_ProbeAnchor: {fileID: 0}
62 | m_LightProbeVolumeOverride: {fileID: 0}
63 | m_ScaleInLightmap: 1
64 | m_ReceiveGI: 1
65 | m_PreserveUVs: 0
66 | m_IgnoreNormalsForChartDetection: 0
67 | m_ImportantGI: 0
68 | m_StitchLightmapSeams: 0
69 | m_SelectedEditorRenderState: 0
70 | m_MinimumChartSize: 4
71 | m_AutoUVMaxDistance: 0.5
72 | m_AutoUVMaxAngle: 89
73 | m_LightmapParameters: {fileID: 0}
74 | m_SortingLayerID: 0
75 | m_SortingLayer: 0
76 | m_SortingOrder: 0
77 | m_Sprite: {fileID: 21300000, guid: bcb9bdff5d4664c74a932c679135aff5, type: 3}
78 | m_Color: {r: 1, g: 0.93066514, b: 0.5330188, a: 1}
79 | m_FlipX: 0
80 | m_FlipY: 0
81 | m_DrawMode: 0
82 | m_Size: {x: 1, y: 1}
83 | m_AdaptiveModeThreshold: 0.5
84 | m_SpriteTileMode: 0
85 | m_WasSpriteAssigned: 1
86 | m_MaskInteraction: 0
87 | m_SpriteSortPoint: 0
88 | --- !u!61 &4469886331617117075
89 | BoxCollider2D:
90 | m_ObjectHideFlags: 0
91 | m_CorrespondingSourceObject: {fileID: 0}
92 | m_PrefabInstance: {fileID: 0}
93 | m_PrefabAsset: {fileID: 0}
94 | m_GameObject: {fileID: 6817695843196285254}
95 | m_Enabled: 1
96 | m_Density: 1
97 | m_Material: {fileID: 0}
98 | m_IsTrigger: 1
99 | m_UsedByEffector: 0
100 | m_UsedByComposite: 0
101 | m_Offset: {x: 0, y: 0}
102 | m_SpriteTilingProperty:
103 | border: {x: 0, y: 0, z: 0, w: 0}
104 | pivot: {x: 0.5, y: 0.5}
105 | oldSize: {x: 1, y: 1}
106 | newSize: {x: 1, y: 1}
107 | adaptiveTilingThreshold: 0.5
108 | drawMode: 0
109 | adaptiveTiling: 0
110 | m_AutoTiling: 0
111 | serializedVersion: 2
112 | m_Size: {x: 1, y: 1}
113 | m_EdgeRadius: 0
114 | --- !u!114 &6817695843196285249
115 | MonoBehaviour:
116 | m_ObjectHideFlags: 0
117 | m_CorrespondingSourceObject: {fileID: 0}
118 | m_PrefabInstance: {fileID: 0}
119 | m_PrefabAsset: {fileID: 0}
120 | m_GameObject: {fileID: 6817695843196285254}
121 | m_Enabled: 1
122 | m_EditorHideFlags: 0
123 | m_Script: {fileID: 11500000, guid: d6b2ba18c3f8e4b409ccb9db0bcd4ce5, type: 3}
124 | m_Name:
125 | m_EditorClassIdentifier:
126 | _eventReference:
127 | _usage: 0
128 | _event: {fileID: 11400000, guid: ae9405f95b96f4b88bee16d433034a52, type: 2}
129 | _eventInstancer: {fileID: 0}
130 | _variable: {fileID: 0}
131 | _variableInstancer: {fileID: 0}
132 | _selectGameObjectReference: {fileID: 0}
133 | _eventWithGameObjectReference:
134 | _usage: 0
135 | _event: {fileID: 0}
136 | _eventInstancer: {fileID: 0}
137 | _variable: {fileID: 0}
138 | _variableInstancer: {fileID: 0}
139 | _triggerOnEnter: 1
140 | _triggerOnExit: 0
141 | _triggerOnStay: 0
142 | --- !u!114 &8791131526705612255
143 | MonoBehaviour:
144 | m_ObjectHideFlags: 0
145 | m_CorrespondingSourceObject: {fileID: 0}
146 | m_PrefabInstance: {fileID: 0}
147 | m_PrefabAsset: {fileID: 0}
148 | m_GameObject: {fileID: 6817695843196285254}
149 | m_Enabled: 1
150 | m_EditorHideFlags: 0
151 | m_Script: {fileID: 11500000, guid: 64882d9a6a5104b579ad078658f093c6, type: 3}
152 | m_Name:
153 | m_EditorClassIdentifier:
154 | _developerDescription:
155 | _unityEventResponse:
156 | m_PersistentCalls:
157 | m_Calls:
158 | - m_Target: {fileID: 1041281918}
159 | m_MethodName: Do
160 | m_Mode: 0
161 | m_Arguments:
162 | m_ObjectArgument: {fileID: 0}
163 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
164 | m_IntArgument: 0
165 | m_FloatArgument: 0
166 | m_StringArgument:
167 | m_BoolArgument: 0
168 | m_CallState: 2
169 | _actionResponses: []
170 | _eventReference:
171 | _usage: 0
172 | _event: {fileID: 11400000, guid: ae9405f95b96f4b88bee16d433034a52, type: 2}
173 | _eventInstancer: {fileID: 0}
174 | _variable: {fileID: 0}
175 | _variableInstancer: {fileID: 0}
176 | --- !u!114 &1041281918
177 | MonoBehaviour:
178 | m_ObjectHideFlags: 0
179 | m_CorrespondingSourceObject: {fileID: 0}
180 | m_PrefabInstance: {fileID: 0}
181 | m_PrefabAsset: {fileID: 0}
182 | m_GameObject: {fileID: 6817695843196285254}
183 | m_Enabled: 1
184 | m_EditorHideFlags: 0
185 | m_Script: {fileID: 11500000, guid: 2eb8227755d4543bba34358ca3a9ab6f, type: 3}
186 | m_Name:
187 | m_EditorClassIdentifier:
188 | _decreaseBy:
189 | _usage: 0
190 | _value: 10
191 | _constant: {fileID: 0}
192 | _variable: {fileID: 0}
193 | _variableInstancer: {fileID: 0}
194 | _tags:
195 | - {fileID: 11400000, guid: 23f42a77324bd4158a00555f04f7824e, type: 2}
196 | _didCollide:
197 | _usage: 0
198 | _event: {fileID: 0}
199 | _eventInstancer: {fileID: 0}
200 |
--------------------------------------------------------------------------------
/Assets/Intro/Harmful/Harmful.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 01e7046886cdb499a99f4bed284db6a1
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Intro/Harmful/HarmfulTriggerEvent.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 9712fe83f4a3a4887a58910aeb195c64, type: 3}
13 | m_Name: HarmfulTriggerEvent
14 | m_EditorClassIdentifier:
15 | _developerDescription: Raised on On Trigger Enter 2D.
16 | _replayBufferSize: 1
17 | _inspectorRaiseValue: {fileID: 0}
18 |
--------------------------------------------------------------------------------
/Assets/Intro/Harmful/HarmfulTriggerEvent.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ae9405f95b96f4b88bee16d433034a52
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Intro/HealthListener.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f5ca6f1b53e68443d9095d31cd89224a
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Intro/HealthListener/HealthListener.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1 &1111135183548040
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: 4748691630159618}
12 | - component: {fileID: 114212381404589792}
13 | m_Layer: 0
14 | m_Name: HealthListener
15 | m_TagString: Untagged
16 | m_Icon: {fileID: 0}
17 | m_NavMeshLayer: 0
18 | m_StaticEditorFlags: 0
19 | m_IsActive: 1
20 | --- !u!4 &4748691630159618
21 | Transform:
22 | m_ObjectHideFlags: 0
23 | m_CorrespondingSourceObject: {fileID: 0}
24 | m_PrefabInstance: {fileID: 0}
25 | m_PrefabAsset: {fileID: 0}
26 | m_GameObject: {fileID: 1111135183548040}
27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
28 | m_LocalPosition: {x: 0, y: 0, z: 0}
29 | m_LocalScale: {x: 1, y: 1, z: 1}
30 | m_Children: []
31 | m_Father: {fileID: 0}
32 | m_RootOrder: 0
33 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
34 | --- !u!114 &114212381404589792
35 | MonoBehaviour:
36 | m_ObjectHideFlags: 0
37 | m_CorrespondingSourceObject: {fileID: 0}
38 | m_PrefabInstance: {fileID: 0}
39 | m_PrefabAsset: {fileID: 0}
40 | m_GameObject: {fileID: 1111135183548040}
41 | m_Enabled: 1
42 | m_EditorHideFlags: 0
43 | m_Script: {fileID: 11500000, guid: e564c43d8cd6f404fbf20034291d3354, type: 3}
44 | m_Name:
45 | m_EditorClassIdentifier:
46 | _event: {fileID: 11400000, guid: fb1508338b66f42099fceb52aa22cf4c, type: 2}
47 | _unityEventResponse:
48 | m_PersistentCalls:
49 | m_Calls:
50 | - m_Target: {fileID: 0}
51 | m_MethodName: HealthChanged
52 | m_Mode: 0
53 | m_Arguments:
54 | m_ObjectArgument: {fileID: 0}
55 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
56 | m_IntArgument: 0
57 | m_FloatArgument: 0
58 | m_StringArgument:
59 | m_BoolArgument: 0
60 | m_CallState: 2
61 | m_TypeName: UnityAtoms.IntUnityEvent, UnityAtoms, Version=0.0.0.0, Culture=neutral,
62 | PublicKeyToken=null
63 | _actionResponses:
64 | - {fileID: 11400000, guid: 58f78c691d84e44cd84c884aadacf21a, type: 2}
65 |
--------------------------------------------------------------------------------
/Assets/Intro/HealthListener/HealthListener.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f4cdf4b23d0154814b9975c71d15466b
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Intro/Intro.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5975690ceb19c40728375ab924af0fbe
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Intro/IntroSettings.lighting:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!850595691 &4890085278179872738
4 | LightingSettings:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_Name: IntroSettings
10 | serializedVersion: 2
11 | m_GIWorkflowMode: 1
12 | m_EnableBakedLightmaps: 0
13 | m_EnableRealtimeLightmaps: 0
14 | m_RealtimeEnvironmentLighting: 1
15 | m_BounceScale: 1
16 | m_AlbedoBoost: 1
17 | m_IndirectOutputScale: 1
18 | m_UsingShadowmask: 1
19 | m_BakeBackend: 0
20 | m_LightmapMaxSize: 1024
21 | m_BakeResolution: 40
22 | m_Padding: 2
23 | m_TextureCompression: 1
24 | m_AO: 0
25 | m_AOMaxDistance: 1
26 | m_CompAOExponent: 1
27 | m_CompAOExponentDirect: 0
28 | m_ExtractAO: 0
29 | m_MixedBakeMode: 2
30 | m_LightmapsBakeMode: 1
31 | m_FilterMode: 1
32 | m_LightmapParameters: {fileID: 0}
33 | m_ExportTrainingData: 0
34 | m_TrainingDataDestination: TrainingData
35 | m_RealtimeResolution: 2
36 | m_ForceWhiteAlbedo: 0
37 | m_ForceUpdates: 0
38 | m_FinalGather: 0
39 | m_FinalGatherRayCount: 256
40 | m_FinalGatherFiltering: 1
41 | m_PVRCulling: 1
42 | m_PVRSampling: 1
43 | m_PVRDirectSampleCount: 32
44 | m_PVRSampleCount: 500
45 | m_PVREnvironmentSampleCount: 500
46 | m_PVREnvironmentReferencePointCount: 2048
47 | m_LightProbeSampleCountMultiplier: 4
48 | m_PVRBounces: 2
49 | m_PVRRussianRouletteStartBounce: 2
50 | m_PVREnvironmentMIS: 0
51 | m_PVRFilteringMode: 2
52 | m_PVRDenoiserTypeDirect: 0
53 | m_PVRDenoiserTypeIndirect: 0
54 | m_PVRDenoiserTypeAO: 0
55 | m_PVRFilterTypeDirect: 0
56 | m_PVRFilterTypeIndirect: 0
57 | m_PVRFilterTypeAO: 0
58 | m_PVRFilteringGaussRadiusDirect: 1
59 | m_PVRFilteringGaussRadiusIndirect: 5
60 | m_PVRFilteringGaussRadiusAO: 2
61 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5
62 | m_PVRFilteringAtrousPositionSigmaIndirect: 2
63 | m_PVRFilteringAtrousPositionSigmaAO: 1
64 |
--------------------------------------------------------------------------------
/Assets/Intro/IntroSettings.lighting.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c54779fbb519c43b08ffd33f1b54420f
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Intro/SharedConstants.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c5f44945aeae34ea6a7d2093544eb008
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Intro/SharedConstants/MaxHealth.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: ad76d497767c34ecf88c7aa597da29c0, type: 3}
13 | m_Name: MaxHealth
14 | m_EditorClassIdentifier:
15 | _developerDescription: The player's maximum amount of health.
16 | _id:
17 | _value: 100
18 |
--------------------------------------------------------------------------------
/Assets/Intro/SharedConstants/MaxHealth.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 41aa2296cd68a4b718a8fd1bd8ad5a95
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Intro/SharedConstants/TagPlayer.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 44fe6f8275613408d9adc4435b52bf4f, type: 3}
13 | m_Name: TagPlayer
14 | m_EditorClassIdentifier:
15 | _developerDescription: Tag to identify the player.
16 | _id:
17 | _value: Player
18 |
--------------------------------------------------------------------------------
/Assets/Intro/SharedConstants/TagPlayer.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 23f42a77324bd4158a00555f04f7824e
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Intro/SharedConstants/UIState_First.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 44fe6f8275613408d9adc4435b52bf4f, type: 3}
13 | m_Name: UIState_First
14 | m_EditorClassIdentifier:
15 | _developerDescription:
16 | _value: First
17 |
--------------------------------------------------------------------------------
/Assets/Intro/SharedConstants/UIState_First.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cb8238ac7ef5d407fb31219fe114d2ae
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Intro/SharedConstants/UIState_Second.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 44fe6f8275613408d9adc4435b52bf4f, type: 3}
13 | m_Name: UIState_Second
14 | m_EditorClassIdentifier:
15 | _developerDescription:
16 | _value: Second
17 |
--------------------------------------------------------------------------------
/Assets/Intro/SharedConstants/UIState_Second.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0f191ae005f2448dfb420563d3f089a7
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Test.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3bc9961d23e5740fdb0967784e2cbe2d
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Test/TODO.md:
--------------------------------------------------------------------------------
1 | # Unity Atoms v5
2 |
3 | ## Features
4 |
5 | ### Generic serialization ⭐️
6 |
7 | Use Unity's new capability to serialize generics
8 |
9 | ### Improve debugability large projects
10 |
11 | Visualize all atoms and MBs in a specific scene that are referencing those atoms.
12 |
13 | ### Selectors / Derrived Variable
14 |
15 | Derrive state from several Atoms. Eg. combine AtomVariable and AtomVariable to AtomVariable>
16 |
17 | See: https://recoiljs.org/docs/basic-tutorial/selectors
18 |
19 | ### Mutations / transactions ⭐️
20 |
21 | Group changes of several atoms into one transaction (like a database transaction).
22 |
23 | ### Batch change events ⭐️
24 |
25 | Wait triggering change events until a specific phase, eg. trigger on LateUpdate.
26 |
27 | ### Reactive lists
28 |
29 | Like Atom List, but also possible to subscribe to when a list item is being modified.
30 |
31 | ### Group Atoms / SOs in the project hierarchy
32 |
33 | Eg. add events as sub assets to a variable
34 |
35 | ### Templates
36 |
37 | Starter C# templates for certain atoms, eg. AtomFunction / AtomAction
38 |
39 | ## Structural changes
40 |
41 | ### CI /CD
42 |
43 | https://github.com/game-ci
44 |
45 | ### Github organization
46 |
47 | ### Break out website + Unity project to there own repos
48 |
49 | Using git sub modules.
50 |
--------------------------------------------------------------------------------
/Assets/Test/TODO.md.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9c322011353fe4f21bd6481f842b0276
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UniRx.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 13e22e6cc4f7448399e30356dfc3f386
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UniRx/Player.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6df9db7d2d7274579ac026d2869f3a46
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UniRx/Player/PlayerMoveUniRx.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using Marvelous;
3 | using UniRx;
4 | using UnityAtoms.BaseAtoms;
5 |
6 | namespace UnityAtoms.Examples
7 | {
8 | ///
9 | /// Simple Player move script using UniRx.
10 | ///
11 | public class PlayerMoveUniRx : MonoBehaviour
12 | {
13 | [SerializeField]
14 | private StringVariable _uiState;
15 | [SerializeField]
16 | private StringConstant _uiStatePlaying;
17 | [SerializeField]
18 | private Vector2Variable _movementInput;
19 |
20 | private void Awake()
21 | {
22 | float _horizontal = 0f, _vertical = 0f;
23 |
24 | Observable
25 | .EveryUpdate()
26 | .Fuse(
27 | _uiState.ObserveChange(),
28 | initialValue2: _uiState.Value
29 | ).Subscribe(t =>
30 | {
31 | var (_, state) = t;
32 | _horizontal = state == _uiStatePlaying.Value ? _movementInput.Value.x : 0f;
33 | _vertical = state == _uiStatePlaying.Value ? _movementInput.Value.y : 0f;
34 | });
35 |
36 | Observable
37 | .EveryFixedUpdate()
38 | .Subscribe(t =>
39 | {
40 | GetComponent().velocity = new Vector2(_horizontal, _vertical) * 5f;
41 | });
42 | }
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/Assets/UniRx/Player/PlayerMoveUniRx.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c51695bccb3bc4e02bcba23d12ebeea7
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/UniRx/UI.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a43ad90f8102b419a9e6a4efc9a4bb4f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UniRx/UI/HealthBarUniRx.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEngine.UI;
3 | using UniRx;
4 | using UnityAtoms.BaseAtoms;
5 |
6 | namespace UnityAtoms.Examples
7 | {
8 | ///
9 | /// Simple healthbar script using UniRx.
10 | ///
11 | public class HealthBarUniRx : MonoBehaviour
12 | {
13 | [SerializeField]
14 | private IntVariable _health = null;
15 |
16 | void Awake()
17 | {
18 | _health.ObserveChange().Subscribe(health =>
19 | {
20 | GetComponent().fillAmount = 1.0f * health / _health.InitialValue;
21 | });
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Assets/UniRx/UI/HealthBarUniRx.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: df9d93e69065440c2b752b81e4dbacd1
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/UniRx/UniRx.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 31c534783e33c48a2acf5be4231304cd
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UniRx/UniRxSettings.lighting:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!850595691 &4890085278179872738
4 | LightingSettings:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_Name: UniRxSettings
10 | serializedVersion: 2
11 | m_GIWorkflowMode: 1
12 | m_EnableBakedLightmaps: 0
13 | m_EnableRealtimeLightmaps: 0
14 | m_RealtimeEnvironmentLighting: 1
15 | m_BounceScale: 1
16 | m_AlbedoBoost: 1
17 | m_IndirectOutputScale: 1
18 | m_UsingShadowmask: 1
19 | m_BakeBackend: 0
20 | m_LightmapMaxSize: 1024
21 | m_BakeResolution: 40
22 | m_Padding: 2
23 | m_TextureCompression: 1
24 | m_AO: 0
25 | m_AOMaxDistance: 1
26 | m_CompAOExponent: 1
27 | m_CompAOExponentDirect: 0
28 | m_ExtractAO: 0
29 | m_MixedBakeMode: 2
30 | m_LightmapsBakeMode: 1
31 | m_FilterMode: 1
32 | m_LightmapParameters: {fileID: 0}
33 | m_ExportTrainingData: 0
34 | m_TrainingDataDestination: TrainingData
35 | m_RealtimeResolution: 2
36 | m_ForceWhiteAlbedo: 0
37 | m_ForceUpdates: 0
38 | m_FinalGather: 0
39 | m_FinalGatherRayCount: 256
40 | m_FinalGatherFiltering: 1
41 | m_PVRCulling: 1
42 | m_PVRSampling: 1
43 | m_PVRDirectSampleCount: 32
44 | m_PVRSampleCount: 500
45 | m_PVREnvironmentSampleCount: 500
46 | m_PVREnvironmentReferencePointCount: 2048
47 | m_LightProbeSampleCountMultiplier: 4
48 | m_PVRBounces: 2
49 | m_PVRRussianRouletteStartBounce: 2
50 | m_PVREnvironmentMIS: 0
51 | m_PVRFilteringMode: 2
52 | m_PVRDenoiserTypeDirect: 0
53 | m_PVRDenoiserTypeIndirect: 0
54 | m_PVRDenoiserTypeAO: 0
55 | m_PVRFilterTypeDirect: 0
56 | m_PVRFilterTypeIndirect: 0
57 | m_PVRFilterTypeAO: 0
58 | m_PVRFilteringGaussRadiusDirect: 1
59 | m_PVRFilteringGaussRadiusIndirect: 5
60 | m_PVRFilteringGaussRadiusAO: 2
61 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5
62 | m_PVRFilteringAtrousPositionSigmaIndirect: 2
63 | m_PVRFilteringAtrousPositionSigmaAO: 1
64 |
--------------------------------------------------------------------------------
/Assets/UniRx/UniRxSettings.lighting.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a2008f775d8274c689ed84a9d1b70fcf
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/csc.rsp:
--------------------------------------------------------------------------------
1 | -nowarn:0649
2 |
--------------------------------------------------------------------------------
/Assets/csc.rsp.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 25610c77d3facf1429054ba959ed1dfd
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/unity-atoms.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b56e15a87ee1c4d67ad24b4950c4b124
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2021 Unity Atoms
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4 |
5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6 |
7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
8 |
--------------------------------------------------------------------------------
/Logs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a924c42874e7d416582e75c6ab325e7e
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Logs/Packages-Update.log:
--------------------------------------------------------------------------------
1 |
2 | === Fri Mar 8 14:08:32 2019
3 |
4 | Packages were changed.
5 | Update Mode: mergeDefaultDependencies
6 |
7 | The following packages were added:
8 | com.unity.analytics@3.2.2
9 | com.unity.purchasing@2.0.3
10 | com.unity.ads@2.0.8
11 | com.unity.textmeshpro@1.3.0
12 | com.unity.package-manager-ui@2.0.3
13 | com.unity.collab-proxy@1.2.15
14 | com.unity.modules.ai@1.0.0
15 | com.unity.modules.animation@1.0.0
16 | com.unity.modules.assetbundle@1.0.0
17 | com.unity.modules.audio@1.0.0
18 | com.unity.modules.cloth@1.0.0
19 | com.unity.modules.director@1.0.0
20 | com.unity.modules.imageconversion@1.0.0
21 | com.unity.modules.imgui@1.0.0
22 | com.unity.modules.jsonserialize@1.0.0
23 | com.unity.modules.particlesystem@1.0.0
24 | com.unity.modules.physics@1.0.0
25 | com.unity.modules.physics2d@1.0.0
26 | com.unity.modules.screencapture@1.0.0
27 | com.unity.modules.terrain@1.0.0
28 | com.unity.modules.terrainphysics@1.0.0
29 | com.unity.modules.tilemap@1.0.0
30 | com.unity.modules.ui@1.0.0
31 | com.unity.modules.uielements@1.0.0
32 | com.unity.modules.umbra@1.0.0
33 | com.unity.modules.unityanalytics@1.0.0
34 | com.unity.modules.unitywebrequest@1.0.0
35 | com.unity.modules.unitywebrequestassetbundle@1.0.0
36 | com.unity.modules.unitywebrequestaudio@1.0.0
37 | com.unity.modules.unitywebrequesttexture@1.0.0
38 | com.unity.modules.unitywebrequestwww@1.0.0
39 | com.unity.modules.vehicles@1.0.0
40 | com.unity.modules.video@1.0.0
41 | com.unity.modules.vr@1.0.0
42 | com.unity.modules.wind@1.0.0
43 | com.unity.modules.xr@1.0.0
44 |
45 | === Fri Apr 5 21:10:03 2019
46 |
47 | Packages were changed.
48 | Update Mode: updateDependencies
49 |
50 | The following packages were updated:
51 | com.unity.package-manager-ui from version 2.0.3 to 2.0.7
52 |
53 | === Sun May 5 00:35:34 2019
54 |
55 | Packages were changed.
56 | Update Mode: updateDependencies
57 |
58 | The following packages were added:
59 | com.unity.timeline@1.0.0
60 | com.unity.modules.animation@1.0.0
61 | com.unity.modules.director@1.0.0
62 | com.unity.modules.jsonserialize@1.0.0
63 | com.unity.modules.particlesystem@1.0.0
64 | com.unity.modules.unitywebrequest@1.0.0
65 | com.unity.modules.video@1.0.0
66 | com.unity.modules.vr@1.0.0
67 | com.unity.modules.xr@1.0.0
68 | com.unity.multiplayer-hlapi@1.0.2
69 | com.unity.xr.legacyinputhelpers@2.0.2
70 | The following packages were updated:
71 | com.unity.package-manager-ui from version 2.0.7 to 2.1.2
72 |
73 | === Thu Jan 23 20:17:14 2020
74 |
75 | Packages were changed.
76 | Update Mode: updateDependencies
77 |
78 | The following packages were added:
79 | com.unity.2d.tilemap@1.0.0
80 | com.unity.ext.nunit@1.0.0
81 | com.unity.test-framework@1.0.13
82 | com.unity.2d.sprite@1.0.0
83 | com.unity.ide.vscode@1.1.3
84 | com.unity.ide.rider@1.1.0
85 | com.unity.ugui@1.0.0
86 | com.unity.modules.androidjni@1.0.0
87 | The following packages were updated:
88 | com.unity.package-manager-ui from version 2.1.2 to 2.2.0
89 |
90 | === Sun Feb 23 02:50:53 2020
91 |
92 | Packages were changed.
93 | Update Mode: updateDependencies
94 |
95 | The following packages were updated:
96 | com.unity.ide.rider from version 1.1.0 to 1.1.4
97 | com.unity.ide.vscode from version 1.1.3 to 1.1.4
98 | com.unity.test-framework from version 1.0.13 to 1.1.11
99 | The following packages were removed:
100 | com.unity.package-manager-ui@2.2.0
101 |
102 | === Fri Apr 24 06:22:27 2020
103 |
104 | Packages were changed.
105 | Update Mode: updateDependencies
106 |
107 | The following packages were updated:
108 | com.unity.ide.vscode from version 1.1.3 to 1.1.4
109 | com.unity.test-framework from version 1.1.11 to 1.1.13
110 |
111 | === Sat Jun 20 00:18:47 2020
112 |
113 | Packages were changed.
114 | Update Mode: updateDependencies
115 |
116 | The following packages were updated:
117 | com.unity.ide.vscode from version 1.1.3 to 1.2.0
118 | com.unity.test-framework from version 1.1.13 to 1.1.14
119 |
120 | === Wed Jan 6 22:00:03 2021
121 |
122 | Packages were changed.
123 | Update Mode: updateDependencies
124 |
125 | The following packages were added:
126 | com.unity.ide.visualstudio@2.0.2
127 | The following packages were updated:
128 | com.unity.ide.rider from version 1.1.4 to 1.2.1
129 | com.unity.ide.vscode from version 1.2.0 to 1.2.2
130 | com.unity.test-framework from version 1.1.13 to 1.1.16
131 |
--------------------------------------------------------------------------------
/Logs/Packages-Update.log.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d3e76541de567493e8beefebb91e336e
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Packages.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 57bb6f8bee9194b2c87b200ad7fc2214
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Packages/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "com.mambojambostudios.marvelous": "1.0.8",
4 | "com.neuecc.unirx": "https://github.com/starikcetin/UniRx.git#7.1.0-upm",
5 | "com.unity.2d.sprite": "1.0.0",
6 | "com.unity.2d.tilemap": "1.0.0",
7 | "com.unity.ext.nunit": "1.0.0",
8 | "com.unity.ide.rider": "1.2.1",
9 | "com.unity.ide.visualstudio": "2.0.20",
10 | "com.unity.ide.vscode": "1.2.2",
11 | "com.unity.inputsystem": "1.0.2",
12 | "com.unity.test-framework": "1.1.16",
13 | "com.unity.ugui": "1.0.0",
14 | "com.unity.modules.androidjni": "1.0.0",
15 | "com.unity.modules.animation": "1.0.0",
16 | "com.unity.modules.assetbundle": "1.0.0",
17 | "com.unity.modules.audio": "1.0.0",
18 | "com.unity.modules.director": "1.0.0",
19 | "com.unity.modules.imageconversion": "1.0.0",
20 | "com.unity.modules.imgui": "1.0.0",
21 | "com.unity.modules.jsonserialize": "1.0.0",
22 | "com.unity.modules.particlesystem": "1.0.0",
23 | "com.unity.modules.physics": "1.0.0",
24 | "com.unity.modules.physics2d": "1.0.0",
25 | "com.unity.modules.ui": "1.0.0",
26 | "com.unity.modules.uielements": "1.0.0",
27 | "com.unity.modules.unitywebrequest": "1.0.0",
28 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
29 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
30 | "com.unity.modules.unitywebrequestwww": "1.0.0"
31 | },
32 | "testables": [
33 | "com.unity-atoms.unity-atoms-core",
34 | "com.unity-atoms.unity-atoms-base-atoms",
35 | "com.unity-atoms.unity-atoms-mobile",
36 | "com.unity-atoms.unity-atoms-scene-mgmt",
37 | "com.unity-atoms.unity-atoms-tags",
38 | "com.unity-atoms.unity-atoms-ui"
39 | ],
40 | "scopedRegistries": [
41 | {
42 | "name": "NPM",
43 | "url": "https://registry.npmjs.org",
44 | "scopes": [
45 | "com.mambojambostudios.marvelous"
46 | ]
47 | }
48 | ]
49 | }
50 |
--------------------------------------------------------------------------------
/Packages/manifest.json.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 878ce737f11e54c78b80fbd40b31636b
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Packages/packages-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "com.mambojambostudios.marvelous": {
4 | "version": "1.0.8",
5 | "depth": 0,
6 | "source": "registry",
7 | "dependencies": {},
8 | "url": "https://registry.npmjs.org"
9 | },
10 | "com.neuecc.unirx": {
11 | "version": "https://github.com/starikcetin/UniRx.git#7.1.0-upm",
12 | "depth": 0,
13 | "source": "git",
14 | "dependencies": {},
15 | "hash": "f93af89f2aafeccfc7aff9dee2cecc6d60ede06b"
16 | },
17 | "com.unity.2d.sprite": {
18 | "version": "1.0.0",
19 | "depth": 0,
20 | "source": "builtin",
21 | "dependencies": {}
22 | },
23 | "com.unity.2d.tilemap": {
24 | "version": "1.0.0",
25 | "depth": 0,
26 | "source": "builtin",
27 | "dependencies": {}
28 | },
29 | "com.unity.ext.nunit": {
30 | "version": "1.0.0",
31 | "depth": 0,
32 | "source": "registry",
33 | "dependencies": {},
34 | "url": "https://packages.unity.com"
35 | },
36 | "com.unity.ide.rider": {
37 | "version": "1.2.1",
38 | "depth": 0,
39 | "source": "registry",
40 | "dependencies": {
41 | "com.unity.test-framework": "1.1.1"
42 | },
43 | "url": "https://packages.unity.com"
44 | },
45 | "com.unity.ide.visualstudio": {
46 | "version": "2.0.20",
47 | "depth": 0,
48 | "source": "registry",
49 | "dependencies": {
50 | "com.unity.test-framework": "1.1.9"
51 | },
52 | "url": "https://packages.unity.com"
53 | },
54 | "com.unity.ide.vscode": {
55 | "version": "1.2.2",
56 | "depth": 0,
57 | "source": "registry",
58 | "dependencies": {},
59 | "url": "https://packages.unity.com"
60 | },
61 | "com.unity.inputsystem": {
62 | "version": "1.0.2",
63 | "depth": 0,
64 | "source": "registry",
65 | "dependencies": {},
66 | "url": "https://packages.unity.com"
67 | },
68 | "com.unity.test-framework": {
69 | "version": "1.1.16",
70 | "depth": 0,
71 | "source": "registry",
72 | "dependencies": {
73 | "com.unity.ext.nunit": "1.0.0",
74 | "com.unity.modules.imgui": "1.0.0",
75 | "com.unity.modules.jsonserialize": "1.0.0"
76 | },
77 | "url": "https://packages.unity.com"
78 | },
79 | "com.unity.ugui": {
80 | "version": "1.0.0",
81 | "depth": 0,
82 | "source": "builtin",
83 | "dependencies": {
84 | "com.unity.modules.ui": "1.0.0",
85 | "com.unity.modules.imgui": "1.0.0"
86 | }
87 | },
88 | "com.unity.modules.androidjni": {
89 | "version": "1.0.0",
90 | "depth": 0,
91 | "source": "builtin",
92 | "dependencies": {}
93 | },
94 | "com.unity.modules.animation": {
95 | "version": "1.0.0",
96 | "depth": 0,
97 | "source": "builtin",
98 | "dependencies": {}
99 | },
100 | "com.unity.modules.assetbundle": {
101 | "version": "1.0.0",
102 | "depth": 0,
103 | "source": "builtin",
104 | "dependencies": {}
105 | },
106 | "com.unity.modules.audio": {
107 | "version": "1.0.0",
108 | "depth": 0,
109 | "source": "builtin",
110 | "dependencies": {}
111 | },
112 | "com.unity.modules.director": {
113 | "version": "1.0.0",
114 | "depth": 0,
115 | "source": "builtin",
116 | "dependencies": {
117 | "com.unity.modules.audio": "1.0.0",
118 | "com.unity.modules.animation": "1.0.0"
119 | }
120 | },
121 | "com.unity.modules.imageconversion": {
122 | "version": "1.0.0",
123 | "depth": 0,
124 | "source": "builtin",
125 | "dependencies": {}
126 | },
127 | "com.unity.modules.imgui": {
128 | "version": "1.0.0",
129 | "depth": 0,
130 | "source": "builtin",
131 | "dependencies": {}
132 | },
133 | "com.unity.modules.jsonserialize": {
134 | "version": "1.0.0",
135 | "depth": 0,
136 | "source": "builtin",
137 | "dependencies": {}
138 | },
139 | "com.unity.modules.particlesystem": {
140 | "version": "1.0.0",
141 | "depth": 0,
142 | "source": "builtin",
143 | "dependencies": {}
144 | },
145 | "com.unity.modules.physics": {
146 | "version": "1.0.0",
147 | "depth": 0,
148 | "source": "builtin",
149 | "dependencies": {}
150 | },
151 | "com.unity.modules.physics2d": {
152 | "version": "1.0.0",
153 | "depth": 0,
154 | "source": "builtin",
155 | "dependencies": {}
156 | },
157 | "com.unity.modules.ui": {
158 | "version": "1.0.0",
159 | "depth": 0,
160 | "source": "builtin",
161 | "dependencies": {}
162 | },
163 | "com.unity.modules.uielements": {
164 | "version": "1.0.0",
165 | "depth": 0,
166 | "source": "builtin",
167 | "dependencies": {
168 | "com.unity.modules.ui": "1.0.0",
169 | "com.unity.modules.imgui": "1.0.0",
170 | "com.unity.modules.jsonserialize": "1.0.0",
171 | "com.unity.modules.uielementsnative": "1.0.0"
172 | }
173 | },
174 | "com.unity.modules.uielementsnative": {
175 | "version": "1.0.0",
176 | "depth": 1,
177 | "source": "builtin",
178 | "dependencies": {
179 | "com.unity.modules.ui": "1.0.0",
180 | "com.unity.modules.imgui": "1.0.0",
181 | "com.unity.modules.jsonserialize": "1.0.0"
182 | }
183 | },
184 | "com.unity.modules.unitywebrequest": {
185 | "version": "1.0.0",
186 | "depth": 0,
187 | "source": "builtin",
188 | "dependencies": {}
189 | },
190 | "com.unity.modules.unitywebrequestassetbundle": {
191 | "version": "1.0.0",
192 | "depth": 0,
193 | "source": "builtin",
194 | "dependencies": {
195 | "com.unity.modules.assetbundle": "1.0.0",
196 | "com.unity.modules.unitywebrequest": "1.0.0"
197 | }
198 | },
199 | "com.unity.modules.unitywebrequestaudio": {
200 | "version": "1.0.0",
201 | "depth": 0,
202 | "source": "builtin",
203 | "dependencies": {
204 | "com.unity.modules.unitywebrequest": "1.0.0",
205 | "com.unity.modules.audio": "1.0.0"
206 | }
207 | },
208 | "com.unity.modules.unitywebrequestwww": {
209 | "version": "1.0.0",
210 | "depth": 0,
211 | "source": "builtin",
212 | "dependencies": {
213 | "com.unity.modules.unitywebrequest": "1.0.0",
214 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
215 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
216 | "com.unity.modules.audio": "1.0.0",
217 | "com.unity.modules.assetbundle": "1.0.0",
218 | "com.unity.modules.imageconversion": "1.0.0"
219 | }
220 | }
221 | }
222 | }
223 |
--------------------------------------------------------------------------------
/ProjectSettings.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: baa5fd9ad1cd64487beafddc8b98f34d
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/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/AudioManager.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5423bf6366eaa485db3e5601aeedc71c
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/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/ClusterInputManager.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 54e7a6072ce9a42cea0f8e9d0a1109e8
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/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_ReuseCollisionCallbacks: 1
24 | m_ClothInterCollisionSettingsToggle: 0
25 | m_ContactPairsMode: 0
26 | m_BroadphaseType: 0
27 | m_WorldBounds:
28 | m_Center: {x: 0, y: 0, z: 0}
29 | m_Extent: {x: 250, y: 250, z: 250}
30 | m_WorldSubdivisions: 8
31 |
--------------------------------------------------------------------------------
/ProjectSettings/DynamicsManager.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 99fa6ec19ce144e5ca615662bf67ebc9
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/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/UniRx/UniRx.unity
10 | guid: 31c534783e33c48a2acf5be4231304cd
11 | m_configObjects: {}
12 |
--------------------------------------------------------------------------------
/ProjectSettings/EditorBuildSettings.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4413111566c514309ad6b91614007b96
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/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: 9
7 | m_ExternalVersionControlSupport: Visible Meta Files
8 | m_SerializationMode: 2
9 | m_LineEndingsForNewScripts: 2
10 | m_DefaultBehaviorMode: 1
11 | m_PrefabRegularEnvironment: {fileID: 0}
12 | m_PrefabUIEnvironment: {fileID: 0}
13 | m_SpritePackerMode: 4
14 | m_SpritePackerPaddingPower: 1
15 | m_EtcTextureCompressorBehavior: 1
16 | m_EtcTextureFastCompressor: 1
17 | m_EtcTextureNormalCompressor: 2
18 | m_EtcTextureBestCompressor: 4
19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmref
20 | m_ProjectGenerationRootNamespace:
21 | m_CollabEditorSettings:
22 | inProgressEnabled: 1
23 | m_EnableTextureStreamingInEditMode: 1
24 | m_EnableTextureStreamingInPlayMode: 1
25 | m_AsyncShaderCompilation: 1
26 | m_EnterPlayModeOptionsEnabled: 0
27 | m_EnterPlayModeOptions: 3
28 | m_ShowLightmapResolutionOverlay: 1
29 | m_UseLegacyProbeSampleCount: 1
30 | m_AssetPipelineMode: 1
31 | m_CacheServerMode: 0
32 | m_CacheServerEndpoint:
33 | m_CacheServerNamespacePrefix: default
34 | m_CacheServerEnableDownload: 1
35 | m_CacheServerEnableUpload: 1
36 |
--------------------------------------------------------------------------------
/ProjectSettings/EditorSettings.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 457746b7f776448e2b7840f12246a263
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/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: 10753, guid: 0000000000000000f000000000000000, type: 0}
33 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
34 | - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0}
35 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0}
36 | - {fileID: 16001, guid: 0000000000000000f000000000000000, type: 0}
37 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0}
38 | - {fileID: 16002, 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/GraphicsSettings.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 498dfae4eb671482fa3d6cabc5b251f4
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/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: a
13 | positiveButton: d
14 | altNegativeButton:
15 | altPositiveButton:
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: s
29 | positiveButton: w
30 | altNegativeButton:
31 | altPositiveButton:
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/InputManager.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8c8cbf562ce45458cbe096089a772c78
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/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/NavMeshAreas.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6408937258f89479cb473f90199ce11a
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/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/NetworkManager.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3136b52fa861f4c05a301b482411336f
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ProjectSettings/PackageManagerSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &1
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 61
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | m_EnablePreviewPackages: 0
16 | m_EnablePackageDependencies: 0
17 | m_AdvancedSettingsExpanded: 1
18 | m_ScopedRegistriesSettingsExpanded: 1
19 | oneTimeWarningShown: 0
20 | m_Registries:
21 | - m_Id: main
22 | m_Name:
23 | m_Url: https://packages.unity.com
24 | m_Scopes: []
25 | m_IsDefault: 1
26 | m_Capabilities: 7
27 | - m_Id: scoped:NPM
28 | m_Name: NPM
29 | m_Url: https://registry.npmjs.org
30 | m_Scopes:
31 | - com.mambojambostudios.marvelous
32 | m_IsDefault: 0
33 | m_Capabilities: 0
34 | m_UserSelectedRegistryName:
35 | m_UserAddingNewScopedRegistry: 0
36 | m_RegistryInfoDraft:
37 | m_ErrorMessage:
38 | m_Original:
39 | m_Id: scoped:NPM
40 | m_Name: NPM
41 | m_Url: https://registry.npmjs.org
42 | m_Scopes:
43 | - com.mambojambostudios.marvelous
44 | m_IsDefault: 0
45 | m_Capabilities: 0
46 | m_Modified: 0
47 | m_Name: NPM
48 | m_Url: https://registry.npmjs.org
49 | m_Scopes:
50 | - com.mambojambostudios.marvelous
51 | m_SelectedScopeIndex: 0
52 |
--------------------------------------------------------------------------------
/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_JobOptions:
23 | serializedVersion: 2
24 | useMultithreading: 0
25 | useConsistencySorting: 0
26 | m_InterpolationPosesPerJob: 100
27 | m_NewContactsPerJob: 30
28 | m_CollideContactsPerJob: 100
29 | m_ClearFlagsPerJob: 200
30 | m_ClearBodyForcesPerJob: 200
31 | m_SyncDiscreteFixturesPerJob: 50
32 | m_SyncContinuousFixturesPerJob: 50
33 | m_FindNearestContactsPerJob: 100
34 | m_UpdateTriggerContactsPerJob: 100
35 | m_IslandSolverCostThreshold: 100
36 | m_IslandSolverBodyCostScale: 1
37 | m_IslandSolverContactCostScale: 10
38 | m_IslandSolverJointCostScale: 10
39 | m_IslandSolverBodiesPerJob: 50
40 | m_IslandSolverContactsPerJob: 50
41 | m_AutoSimulation: 1
42 | m_QueriesHitTriggers: 1
43 | m_QueriesStartInColliders: 1
44 | m_CallbacksOnDisable: 1
45 | m_ReuseCollisionCallbacks: 1
46 | m_AutoSyncTransforms: 0
47 | m_AlwaysShowColliders: 0
48 | m_ShowColliderSleep: 1
49 | m_ShowColliderContacts: 0
50 | m_ShowColliderAABB: 0
51 | m_ContactArrowScale: 0.2
52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
57 |
--------------------------------------------------------------------------------
/ProjectSettings/Physics2DSettings.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: aa2a6907e47a2459bbc482bf31672cf0
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/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: 20
9 | m_ManagedTypePPtr: {fileID: 0}
10 | m_ManagedTypeFallback:
11 | defaultPresets:
12 | - m_Preset: {fileID: 2655988077585873504, guid: bfcfc320427f8224bbb7a96f3d3aebad,
13 | type: 2}
14 |
--------------------------------------------------------------------------------
/ProjectSettings/PresetManager.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6dfc21bca64b748f7bed183d849a5622
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ProjectSettings/ProjectSettings.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 20b55009b702946d49be8c967992ed18
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 2020.1.9f1
2 | m_EditorVersionWithRevision: 2020.1.9f1 (145f5172610f)
3 |
--------------------------------------------------------------------------------
/ProjectSettings/ProjectVersion.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6ef8827ea33f4489791ac21f5f211a5b
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/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: 3
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 | skinWeights: 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 | streamingMipmapsActive: 0
33 | streamingMipmapsAddAllCameras: 1
34 | streamingMipmapsMemoryBudget: 512
35 | streamingMipmapsRenderersPerFrame: 512
36 | streamingMipmapsMaxLevelReduction: 2
37 | streamingMipmapsMaxFileIORequests: 1024
38 | particleRaycastBudget: 4
39 | asyncUploadTimeSlice: 2
40 | asyncUploadBufferSize: 16
41 | asyncUploadPersistentBuffer: 1
42 | resolutionScalingFixedDPIFactor: 1
43 | excludedTargetPlatforms: []
44 | - serializedVersion: 2
45 | name: Low
46 | pixelLightCount: 0
47 | shadows: 0
48 | shadowResolution: 0
49 | shadowProjection: 1
50 | shadowCascades: 1
51 | shadowDistance: 20
52 | shadowNearPlaneOffset: 3
53 | shadowCascade2Split: 0.33333334
54 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
55 | shadowmaskMode: 0
56 | skinWeights: 2
57 | textureQuality: 0
58 | anisotropicTextures: 0
59 | antiAliasing: 0
60 | softParticles: 0
61 | softVegetation: 0
62 | realtimeReflectionProbes: 0
63 | billboardsFaceCameraPosition: 0
64 | vSyncCount: 0
65 | lodBias: 0.4
66 | maximumLODLevel: 0
67 | streamingMipmapsActive: 0
68 | streamingMipmapsAddAllCameras: 1
69 | streamingMipmapsMemoryBudget: 512
70 | streamingMipmapsRenderersPerFrame: 512
71 | streamingMipmapsMaxLevelReduction: 2
72 | streamingMipmapsMaxFileIORequests: 1024
73 | particleRaycastBudget: 16
74 | asyncUploadTimeSlice: 2
75 | asyncUploadBufferSize: 16
76 | asyncUploadPersistentBuffer: 1
77 | resolutionScalingFixedDPIFactor: 1
78 | excludedTargetPlatforms: []
79 | - serializedVersion: 2
80 | name: Medium
81 | pixelLightCount: 1
82 | shadows: 0
83 | shadowResolution: 0
84 | shadowProjection: 1
85 | shadowCascades: 1
86 | shadowDistance: 20
87 | shadowNearPlaneOffset: 3
88 | shadowCascade2Split: 0.33333334
89 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
90 | shadowmaskMode: 0
91 | skinWeights: 2
92 | textureQuality: 0
93 | anisotropicTextures: 0
94 | antiAliasing: 0
95 | softParticles: 0
96 | softVegetation: 0
97 | realtimeReflectionProbes: 0
98 | billboardsFaceCameraPosition: 0
99 | vSyncCount: 1
100 | lodBias: 0.7
101 | maximumLODLevel: 0
102 | streamingMipmapsActive: 0
103 | streamingMipmapsAddAllCameras: 1
104 | streamingMipmapsMemoryBudget: 512
105 | streamingMipmapsRenderersPerFrame: 512
106 | streamingMipmapsMaxLevelReduction: 2
107 | streamingMipmapsMaxFileIORequests: 1024
108 | particleRaycastBudget: 64
109 | asyncUploadTimeSlice: 2
110 | asyncUploadBufferSize: 16
111 | asyncUploadPersistentBuffer: 1
112 | resolutionScalingFixedDPIFactor: 1
113 | excludedTargetPlatforms: []
114 | - serializedVersion: 2
115 | name: High
116 | pixelLightCount: 2
117 | shadows: 0
118 | shadowResolution: 1
119 | shadowProjection: 1
120 | shadowCascades: 2
121 | shadowDistance: 40
122 | shadowNearPlaneOffset: 3
123 | shadowCascade2Split: 0.33333334
124 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
125 | shadowmaskMode: 1
126 | skinWeights: 2
127 | textureQuality: 0
128 | anisotropicTextures: 0
129 | antiAliasing: 0
130 | softParticles: 0
131 | softVegetation: 1
132 | realtimeReflectionProbes: 0
133 | billboardsFaceCameraPosition: 0
134 | vSyncCount: 1
135 | lodBias: 1
136 | maximumLODLevel: 0
137 | streamingMipmapsActive: 0
138 | streamingMipmapsAddAllCameras: 1
139 | streamingMipmapsMemoryBudget: 512
140 | streamingMipmapsRenderersPerFrame: 512
141 | streamingMipmapsMaxLevelReduction: 2
142 | streamingMipmapsMaxFileIORequests: 1024
143 | particleRaycastBudget: 256
144 | asyncUploadTimeSlice: 2
145 | asyncUploadBufferSize: 16
146 | asyncUploadPersistentBuffer: 1
147 | resolutionScalingFixedDPIFactor: 1
148 | excludedTargetPlatforms: []
149 | - serializedVersion: 2
150 | name: Very High
151 | pixelLightCount: 3
152 | shadows: 0
153 | shadowResolution: 2
154 | shadowProjection: 1
155 | shadowCascades: 2
156 | shadowDistance: 70
157 | shadowNearPlaneOffset: 3
158 | shadowCascade2Split: 0.33333334
159 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
160 | shadowmaskMode: 1
161 | skinWeights: 4
162 | textureQuality: 0
163 | anisotropicTextures: 0
164 | antiAliasing: 0
165 | softParticles: 0
166 | softVegetation: 1
167 | realtimeReflectionProbes: 0
168 | billboardsFaceCameraPosition: 0
169 | vSyncCount: 1
170 | lodBias: 1.5
171 | maximumLODLevel: 0
172 | streamingMipmapsActive: 0
173 | streamingMipmapsAddAllCameras: 1
174 | streamingMipmapsMemoryBudget: 512
175 | streamingMipmapsRenderersPerFrame: 512
176 | streamingMipmapsMaxLevelReduction: 2
177 | streamingMipmapsMaxFileIORequests: 1024
178 | particleRaycastBudget: 1024
179 | asyncUploadTimeSlice: 2
180 | asyncUploadBufferSize: 16
181 | asyncUploadPersistentBuffer: 1
182 | resolutionScalingFixedDPIFactor: 1
183 | excludedTargetPlatforms: []
184 | - serializedVersion: 2
185 | name: Ultra
186 | pixelLightCount: 4
187 | shadows: 0
188 | shadowResolution: 0
189 | shadowProjection: 1
190 | shadowCascades: 4
191 | shadowDistance: 150
192 | shadowNearPlaneOffset: 3
193 | shadowCascade2Split: 0.33333334
194 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
195 | shadowmaskMode: 1
196 | skinWeights: 4
197 | textureQuality: 0
198 | anisotropicTextures: 0
199 | antiAliasing: 0
200 | softParticles: 0
201 | softVegetation: 1
202 | realtimeReflectionProbes: 0
203 | billboardsFaceCameraPosition: 0
204 | vSyncCount: 1
205 | lodBias: 2
206 | maximumLODLevel: 0
207 | streamingMipmapsActive: 0
208 | streamingMipmapsAddAllCameras: 1
209 | streamingMipmapsMemoryBudget: 512
210 | streamingMipmapsRenderersPerFrame: 512
211 | streamingMipmapsMaxLevelReduction: 2
212 | streamingMipmapsMaxFileIORequests: 1024
213 | particleRaycastBudget: 4096
214 | asyncUploadTimeSlice: 2
215 | asyncUploadBufferSize: 16
216 | asyncUploadPersistentBuffer: 1
217 | resolutionScalingFixedDPIFactor: 1
218 | excludedTargetPlatforms: []
219 | m_PerPlatformDefaultQuality:
220 | Android: 0
221 | Standalone: 0
222 | WebGL: 0
223 | iPhone: 0
224 | tvOS: 0
225 |
--------------------------------------------------------------------------------
/ProjectSettings/QualitySettings.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3801d35122b0f47f4aa943b0b60049f8
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/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 | -
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/TagManager.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 365c82071289d4a37b6f366e1ce1a83b
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/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/TimeManager.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 493d699780ab94809b381153b30396fd
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/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: 1
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/UnityConnectSettings.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d4c2a0e1e6061437daa858d35364eb8a
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/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/VFXManager.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e6eae028e29a54b65b3c7c262f22e1ce
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ProjectSettings/VersionControlSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!890905787 &1
4 | VersionControlSettings:
5 | m_ObjectHideFlags: 0
6 | m_Mode: Visible Meta Files
7 | m_CollabEditorSettings:
8 | inProgressEnabled: 1
9 |
--------------------------------------------------------------------------------
/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 | # Unity Atoms Examples
2 |
3 | 🧪 Unity project using Unity Atoms containing examples and used for the development of Unity Atoms.
4 |
5 | ## Setup
6 |
7 | - Checkout this repo.
8 | - Checkout unity-atoms as a git submodule located in `Assets/unity-atoms`.
9 |
--------------------------------------------------------------------------------
/UserSettings/EditorUserSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!162 &1
4 | EditorUserSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 4
7 | m_ConfigSettings:
8 | vcSharedLogLevel:
9 | value: 0d5e400f0650
10 | flags: 0
11 | m_VCAutomaticAdd: 1
12 | m_VCDebugCom: 0
13 | m_VCDebugCmd: 0
14 | m_VCDebugOut: 0
15 | m_SemanticMergeMode: 2
16 | m_VCShowFailedCheckout: 1
17 | m_VCOverwriteFailedCheckoutAssets: 1
18 | m_VCOverlayIcons: 1
19 | m_VCAllowAsyncUpdate: 0
20 |
--------------------------------------------------------------------------------