├── .gitignore
├── LICENSE
├── README.md
└── samples
├── solid-item-system
├── .gitignore
├── Assets
│ ├── Materials.meta
│ ├── Materials
│ │ ├── Pistol Bullet.mat
│ │ ├── Pistol Bullet.mat.meta
│ │ ├── Revolver Bullet.mat
│ │ └── Revolver Bullet.mat.meta
│ ├── Prefabs.meta
│ ├── Prefabs
│ │ ├── Sphere Projectile - Pistol.prefab
│ │ ├── Sphere Projectile - Pistol.prefab.meta
│ │ ├── Sphere Projectile - Revolver.prefab
│ │ ├── Sphere Projectile - Revolver.prefab.meta
│ │ ├── Sphere Projectile.prefab
│ │ └── Sphere Projectile.prefab.meta
│ ├── Scenes.meta
│ ├── Scenes
│ │ ├── SampleScene.unity
│ │ └── SampleScene.unity.meta
│ ├── ScriptableObjects.meta
│ ├── ScriptableObjects
│ │ ├── Character Systems.meta
│ │ ├── Character Systems
│ │ │ ├── Player Items.asset
│ │ │ ├── Player Items.asset.meta
│ │ │ ├── Player Stats.asset
│ │ │ └── Player Stats.asset.meta
│ │ ├── Items.meta
│ │ └── Items
│ │ │ ├── Artifacts.meta
│ │ │ ├── Artifacts
│ │ │ ├── Greater Potion.asset
│ │ │ ├── Greater Potion.asset.meta
│ │ │ ├── Minor Potion.asset
│ │ │ └── Minor Potion.asset.meta
│ │ │ ├── Weapons.meta
│ │ │ └── Weapons
│ │ │ ├── Pistol.asset
│ │ │ ├── Pistol.asset.meta
│ │ │ ├── Revolver.asset
│ │ │ └── Revolver.asset.meta
│ ├── Scripts.meta
│ └── Scripts
│ │ ├── Character.meta
│ │ ├── Character
│ │ ├── Abstractions.meta
│ │ ├── Abstractions
│ │ │ ├── Character.cs
│ │ │ ├── Character.cs.meta
│ │ │ ├── ICharacter.cs
│ │ │ ├── ICharacter.cs.meta
│ │ │ ├── Items.cs
│ │ │ ├── Items.cs.meta
│ │ │ ├── Stats.cs
│ │ │ └── Stats.cs.meta
│ │ ├── CharacterItems.cs
│ │ ├── CharacterItems.cs.meta
│ │ ├── CharacterStats.cs
│ │ ├── CharacterStats.cs.meta
│ │ ├── Enemy.cs
│ │ ├── Enemy.cs.meta
│ │ ├── Health.cs
│ │ ├── Health.cs.meta
│ │ ├── Player.cs
│ │ ├── Player.cs.meta
│ │ ├── Tests.meta
│ │ └── Tests
│ │ │ ├── CharacterTests.asmdef
│ │ │ ├── CharacterTests.asmdef.meta
│ │ │ ├── HealthTests.cs
│ │ │ └── HealthTests.cs.meta
│ │ ├── Combat.meta
│ │ ├── Combat
│ │ ├── Abstractions.meta
│ │ ├── Abstractions
│ │ │ ├── ICombatBehaviour.cs
│ │ │ ├── ICombatBehaviour.cs.meta
│ │ │ ├── ICombatInput.cs
│ │ │ ├── ICombatInput.cs.meta
│ │ │ ├── IWeaponContainer.cs
│ │ │ └── IWeaponContainer.cs.meta
│ │ ├── PlayerCombatBehaviour.cs
│ │ ├── PlayerCombatBehaviour.cs.meta
│ │ ├── PlayerCombatInput.cs
│ │ ├── PlayerCombatInput.cs.meta
│ │ ├── Projectile.cs
│ │ ├── Projectile.cs.meta
│ │ ├── Tests.meta
│ │ └── Tests
│ │ │ ├── CombatTests.asmdef
│ │ │ ├── CombatTests.asmdef.meta
│ │ │ ├── ProjectileTests.cs
│ │ │ └── ProjectileTests.cs.meta
│ │ ├── Items.meta
│ │ ├── Items
│ │ ├── Abstractions.meta
│ │ ├── Abstractions
│ │ │ ├── Artifact.cs
│ │ │ ├── Artifact.cs.meta
│ │ │ ├── IUsable.cs
│ │ │ ├── IUsable.cs.meta
│ │ │ ├── Item.cs
│ │ │ ├── Item.cs.meta
│ │ │ ├── Weapon.cs
│ │ │ └── Weapon.cs.meta
│ │ ├── Potion.cs
│ │ ├── Potion.cs.meta
│ │ ├── RangedWeapon.cs
│ │ └── RangedWeapon.cs.meta
│ │ ├── SolidItemSystem.asmdef
│ │ └── SolidItemSystem.asmdef.meta
├── Packages
│ └── manifest.json
├── ProjectSettings
│ ├── AudioManager.asset
│ ├── ClusterInputManager.asset
│ ├── DynamicsManager.asset
│ ├── EditorBuildSettings.asset
│ ├── EditorSettings.asset
│ ├── GraphicsSettings.asset
│ ├── InputManager.asset
│ ├── NavMeshAreas.asset
│ ├── NetworkManager.asset
│ ├── Physics2DSettings.asset
│ ├── PresetManager.asset
│ ├── ProjectSettings.asset
│ ├── ProjectVersion.txt
│ ├── QualitySettings.asset
│ ├── TagManager.asset
│ ├── TimeManager.asset
│ ├── UnityConnectSettings.asset
│ └── VFXManager.asset
└── README.md
└── solid-principles
├── .gitignore
├── Assets
├── Scripts.meta
└── Scripts
│ ├── Dependency Inversion.meta
│ ├── Dependency Inversion
│ ├── After SOLID.meta
│ ├── After SOLID
│ │ ├── Enemy.cs
│ │ ├── Enemy.cs.meta
│ │ ├── RocketShot.cs
│ │ ├── RocketShot.cs.meta
│ │ ├── Score.cs
│ │ ├── Score.cs.meta
│ │ ├── Shot.cs
│ │ ├── Shot.cs.meta
│ │ ├── ShotBehaviour.cs
│ │ └── ShotBehaviour.cs.meta
│ ├── Before SOLID.meta
│ └── Before SOLID
│ │ ├── Enemy.cs
│ │ ├── Enemy.cs.meta
│ │ ├── RocketShot.cs
│ │ ├── RocketShot.cs.meta
│ │ ├── Score.cs
│ │ ├── Score.cs.meta
│ │ ├── Shot.cs
│ │ └── Shot.cs.meta
│ ├── Interface Segregation.meta
│ ├── Interface Segregation
│ ├── After SOLID.meta
│ ├── After SOLID
│ │ ├── Enemy.cs
│ │ ├── Enemy.cs.meta
│ │ ├── ILoadableAsByteArray.cs
│ │ ├── ILoadableAsByteArray.cs.meta
│ │ ├── ILoadableAsObject.cs
│ │ ├── ILoadableAsObject.cs.meta
│ │ ├── ILoadableAsString.cs
│ │ └── ILoadableAsString.cs.meta
│ ├── Before SOLID.meta
│ └── Before SOLID
│ │ ├── Enemy.cs
│ │ ├── Enemy.cs.meta
│ │ ├── ILoadable.cs
│ │ └── ILoadable.cs.meta
│ ├── Liskov Substitution.meta
│ ├── Liskov Substitution
│ ├── After SOLID.meta
│ ├── After SOLID
│ │ ├── GameBoard.cs
│ │ ├── GameBoard.cs.meta
│ │ ├── GameBoard3D.cs
│ │ ├── GameBoard3D.cs.meta
│ │ ├── GameTile.cs
│ │ └── GameTile.cs.meta
│ ├── Before SOLID.meta
│ └── Before SOLID
│ │ ├── GameBoard.cs
│ │ ├── GameBoard.cs.meta
│ │ ├── GameBoard3D.cs
│ │ ├── GameBoard3D.cs.meta
│ │ ├── GameTile.cs
│ │ └── GameTile.cs.meta
│ ├── Open Closed.meta
│ ├── Open Closed
│ ├── After SOLID.meta
│ ├── After SOLID
│ │ ├── CircleShape.cs
│ │ ├── CircleShape.cs.meta
│ │ ├── RectangleShape.cs
│ │ ├── RectangleShape.cs.meta
│ │ ├── ShapeBehaviour.cs
│ │ └── ShapeBehaviour.cs.meta
│ ├── Before SOLID.meta
│ └── Before SOLID
│ │ ├── CircleShape.cs
│ │ ├── CircleShape.cs.meta
│ │ ├── RectangleShape.cs
│ │ ├── RectangleShape.cs.meta
│ │ ├── ShapeBehaviour.cs
│ │ ├── ShapeBehaviour.cs.meta
│ │ ├── ShapeTools.cs
│ │ └── ShapeTools.cs.meta
│ ├── Single Responsibility.meta
│ └── Single Responsibility
│ ├── After SOLID.meta
│ ├── After SOLID
│ ├── Enemy.cs
│ ├── Enemy.cs.meta
│ ├── Player.cs
│ ├── Player.cs.meta
│ ├── Spawner.cs
│ ├── Spawner.cs.meta
│ ├── UnitHealth.cs
│ ├── UnitHealth.cs.meta
│ ├── UnitMovement.cs
│ └── UnitMovement.cs.meta
│ ├── Before SOLID.meta
│ └── Before SOLID
│ ├── Game.cs
│ └── Game.cs.meta
├── Packages
└── manifest.json
├── ProjectSettings
├── AudioManager.asset
├── ClusterInputManager.asset
├── DynamicsManager.asset
├── EditorBuildSettings.asset
├── EditorSettings.asset
├── GraphicsSettings.asset
├── InputManager.asset
├── NavMeshAreas.asset
├── NetworkManager.asset
├── Physics2DSettings.asset
├── PresetManager.asset
├── ProjectSettings.asset
├── ProjectVersion.txt
├── QualitySettings.asset
├── TagManager.asset
├── TimeManager.asset
├── UnityConnectSettings.asset
└── VFXManager.asset
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 | # This .gitignore file should be placed at the root of your Unity project directory
2 | #
3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
4 | #
5 | /[Ll]ibrary/
6 | /[Tt]emp/
7 | /[Oo]bj/
8 | /[Bb]uild/
9 | /[Bb]uilds/
10 | /[Ll]ogs/
11 | /[Mm]emoryCaptures/
12 |
13 | # Never ignore Asset meta data
14 | !/[Aa]ssets/**/*.meta
15 |
16 | # Uncomment this line if you wish to ignore the asset store tools plugin
17 | # /[Aa]ssets/AssetStoreTools*
18 |
19 | # TextMesh Pro files
20 | [Aa]ssets/TextMesh*Pro/
21 |
22 | # Autogenerated Jetbrains Rider plugin
23 | [Aa]ssets/Plugins/Editor/JetBrains*
24 |
25 | # Visual Studio cache directory
26 | .vs/
27 |
28 | # Gradle cache directory
29 | .gradle/
30 |
31 | # Autogenerated VS/MD/Consulo solution and project files
32 | ExportedObj/
33 | .consulo/
34 | *.csproj
35 | *.unityproj
36 | *.sln
37 | *.suo
38 | *.tmp
39 | *.user
40 | *.userprefs
41 | *.pidb
42 | *.booproj
43 | *.svd
44 | *.pdb
45 | *.mdb
46 | *.opendb
47 | *.VC.db
48 |
49 | # Unity3D generated meta files
50 | *.pidb.meta
51 | *.pdb.meta
52 | *.mdb.meta
53 |
54 | # Unity3D generated file on crash reports
55 | sysinfo.txt
56 |
57 | # Builds
58 | *.apk
59 | *.unitypackage
60 |
61 | # Crashlytics generated file
62 | crashlytics-build.properties
63 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Lucas Sampaio Dias
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Unity Resources
2 | Collection of tools, guides and other resources for the Unity game engine and related topics. These are **personal recommendations** based on my own experiences.
3 |
4 | *Note: Content made by Unity is omitted on purpose, as the goal of this repo is to highlight the work made by the community and because Unity tools and assets are widely known to most people. However, there are a few exceptions that I'd like to mention for their great quality and usefulness: TextMesh Pro, Cinemachine, PostProcessing Stack, and ProBuilder. You can download them using the Package Manager.*
5 |
6 | # Table of Contents
7 | * [Free Assets](#free-assets)
8 | * [Great Tools](#great-tools)
9 | * [Guides](#guides)
10 | * [Samples](#samples)
11 |
12 |
13 | ## Free Assets
14 | - [OpenGameArt.org](https://opengameart.org)
15 | - [Kenney](https://www.kenney.nl) - 3D Models and Sprites.
16 | - [Textures.com](https://www.textures.com/)
17 | - [Mixamo](https://www.mixamo.com) - 3D Animations.
18 | - [Ansimuz](https://ansimuz.itch.io/) - Pixel Art.
19 |
20 | ## Great Tools
21 |
22 | ### Free
23 |
24 | - [DOTween](https://assetstore.unity.com/packages/tools/animation/dotween-hotween-v2-27676) - Tweening tool via script.
25 | - [xNode](https://github.com/Siccity/xNode) - Graphs and nodes inside the editor.
26 | - [Graphy](https://github.com/Tayx94/graphy) - Performance tracking.
27 | - [Lean Pool](https://assetstore.unity.com/packages/tools/utilities/lean-pool-35666) - Object pooling library.
28 |
29 | ### Paid
30 | - [GitKraken](https://www.gitkraken.com/invite/6CFY7pSQ) - Much better Git experience, free for non-commercial projects.
31 | - [Odin - Inspector and Serializer](https://assetstore.unity.com/packages/tools/utilities/odin-inspector-and-serializer-89041) - Greatly improved workflows for custom inspectors and serializing objects.
32 | - [DoozyUI](https://assetstore.unity.com/packages/tools/gui/doozyui-complete-ui-management-system-138361) - Complete UI system.
33 | - [InControl](https://assetstore.unity.com/packages/tools/input-management/14695) - Cross-platform input manager.
34 |
35 | ## Guides
36 |
37 | ### A.I.
38 | - [NavMesh Basics](https://www.youtube.com/watch?v=CHV1ymlw-P8)
39 |
40 | ### Audio
41 | - [Import settings for audio files](https://www.blog.theknightsofunity.com/wrong-import-settings-killing-unity-game-part-2)
42 |
43 | ### Graphics & VFX
44 | - [Particle System Overview](https://www.youtube.com/watch?v=FEA1wTMJAR0)
45 | - [Particle System tutorials by Mirza](https://www.youtube.com/playlist?list=PLeUz3R4jvSwC1hmYN_BUBm65_oEwlQF1H)
46 |
47 | ### Modelling
48 | - [FBX: Blender 2.8 to Unity](https://www.reddit.com/r/Unity3D/comments/adu35q/perfect_fbx_export_settings_from_blender_28_to/)
49 |
50 | ### Programming
51 | - [Visual Studio Shortcuts](https://www.dofactory.com/reference/visual-studio-shortcuts)
52 | - [Visual Studio Productivity Tips](https://www.youtube.com/watch?v=lKtwxz35P5M)
53 | - [C# Coding Standards](https://www.dofactory.com/reference/csharp-coding-standards)
54 | - ["Game Programming Patterns" book by Robert Nystrom](https://gameprogrammingpatterns.com/)
55 | - ["Game Programming Patterns" video playlist by Unity3D College](https://www.youtube.com/playlist?list=PLB5_EOMkLx_VOmnIytx37lFMiajPHppmj)
56 | - ["SOLID for Unity" video playlist by Unity3D College](https://www.youtube.com/playlist?list=PLB5_EOMkLx_WjcjrsGUXq9wpTib3NCuqg)
57 | - ["Test-Driven Development (TDD) in Unity" video playlist by Infallible Code](https://www.youtube.com/playlist?list=PLKERDLXpXl_jJQiQOHDLimnulasAK3T5b)
58 |
59 | ### Version Control
60 | - [Semantic Versioning](https://semver.org/)
61 | - [Git Cheat Sheet](https://education.github.com/git-cheat-sheet-education.pdf)
62 |
63 | ## Samples
64 |
65 | ### Programming
66 | - [SOLID Principles](samples/solid-principles/)
67 | - [SOLID Item System](samples/solid-item-system/)
68 |
--------------------------------------------------------------------------------
/samples/solid-item-system/.gitignore:
--------------------------------------------------------------------------------
1 | # This .gitignore file should be placed at the root of your Unity project directory
2 | #
3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
4 | #
5 | /[Ll]ibrary/
6 | /[Tt]emp/
7 | /[Oo]bj/
8 | /[Bb]uild/
9 | /[Bb]uilds/
10 | /[Ll]ogs/
11 | /[Mm]emoryCaptures/
12 |
13 | # Never ignore Asset meta data
14 | !/[Aa]ssets/**/*.meta
15 |
16 | # Uncomment this line if you wish to ignore the asset store tools plugin
17 | # /[Aa]ssets/AssetStoreTools*
18 |
19 | # TextMesh Pro files
20 | [Aa]ssets/TextMesh*Pro/
21 |
22 | # Autogenerated Jetbrains Rider plugin
23 | [Aa]ssets/Plugins/Editor/JetBrains*
24 |
25 | # Visual Studio cache directory
26 | .vs/
27 |
28 | # Gradle cache directory
29 | .gradle/
30 |
31 | # Autogenerated VS/MD/Consulo solution and project files
32 | ExportedObj/
33 | .consulo/
34 | *.csproj
35 | *.unityproj
36 | *.sln
37 | *.suo
38 | *.tmp
39 | *.user
40 | *.userprefs
41 | *.pidb
42 | *.booproj
43 | *.svd
44 | *.pdb
45 | *.mdb
46 | *.opendb
47 | *.VC.db
48 |
49 | # Unity3D generated meta files
50 | *.pidb.meta
51 | *.pdb.meta
52 | *.mdb.meta
53 |
54 | # Unity3D generated file on crash reports
55 | sysinfo.txt
56 |
57 | # Builds
58 | *.apk
59 | *.unitypackage
60 |
61 | # Crashlytics generated file
62 | crashlytics-build.properties
63 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Materials.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 851c890886def3844b0c96d616ac47bd
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Materials/Pistol Bullet.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: Pistol Bullet
11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords:
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _DetailAlbedoMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailMask:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailNormalMap:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _EmissionMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _MainTex:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MetallicGlossMap:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _OcclusionMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _ParallaxMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | m_Floats:
59 | - _BumpScale: 1
60 | - _Cutoff: 0.5
61 | - _DetailNormalMapScale: 1
62 | - _DstBlend: 0
63 | - _GlossMapScale: 1
64 | - _Glossiness: 0.5
65 | - _GlossyReflections: 1
66 | - _Metallic: 0
67 | - _Mode: 0
68 | - _OcclusionStrength: 1
69 | - _Parallax: 0.02
70 | - _SmoothnessTextureChannel: 0
71 | - _SpecularHighlights: 1
72 | - _SrcBlend: 1
73 | - _UVSec: 0
74 | - _ZWrite: 1
75 | m_Colors:
76 | - _Color: {r: 0.9716981, g: 0.27959237, b: 0.27959237, a: 1}
77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
78 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Materials/Pistol Bullet.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 24e1e9e7005e9da4382e1ae6c078abd9
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Materials/Revolver Bullet.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: Revolver Bullet
11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords:
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _DetailAlbedoMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailMask:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailNormalMap:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _EmissionMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _MainTex:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MetallicGlossMap:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _OcclusionMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _ParallaxMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | m_Floats:
59 | - _BumpScale: 1
60 | - _Cutoff: 0.5
61 | - _DetailNormalMapScale: 1
62 | - _DstBlend: 0
63 | - _GlossMapScale: 1
64 | - _Glossiness: 0.5
65 | - _GlossyReflections: 1
66 | - _Metallic: 0
67 | - _Mode: 0
68 | - _OcclusionStrength: 1
69 | - _Parallax: 0.02
70 | - _SmoothnessTextureChannel: 0
71 | - _SpecularHighlights: 1
72 | - _SrcBlend: 1
73 | - _UVSec: 0
74 | - _ZWrite: 1
75 | m_Colors:
76 | - _Color: {r: 0.972549, g: 0.75839126, b: 0.27843133, a: 1}
77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
78 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Materials/Revolver Bullet.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 61da0bb0fd0bc78448c0940f7d82fa4b
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Prefabs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f12bfea528a35384cb6d6543ad6d3ac9
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Prefabs/Sphere Projectile - Pistol.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1001 &9216692422685591481
4 | PrefabInstance:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Modification:
8 | m_TransformParent: {fileID: 0}
9 | m_Modifications:
10 | - target: {fileID: 27044755255190543, guid: aa64ac3c150880f4fb3018236ab02059,
11 | type: 3}
12 | propertyPath: m_Name
13 | value: Sphere Projectile - Pistol
14 | objectReference: {fileID: 0}
15 | - target: {fileID: 5712612137874295773, guid: aa64ac3c150880f4fb3018236ab02059,
16 | type: 3}
17 | propertyPath: m_LocalPosition.x
18 | value: 0
19 | objectReference: {fileID: 0}
20 | - target: {fileID: 5712612137874295773, guid: aa64ac3c150880f4fb3018236ab02059,
21 | type: 3}
22 | propertyPath: m_LocalPosition.y
23 | value: 0
24 | objectReference: {fileID: 0}
25 | - target: {fileID: 5712612137874295773, guid: aa64ac3c150880f4fb3018236ab02059,
26 | type: 3}
27 | propertyPath: m_LocalPosition.z
28 | value: 0
29 | objectReference: {fileID: 0}
30 | - target: {fileID: 5712612137874295773, guid: aa64ac3c150880f4fb3018236ab02059,
31 | type: 3}
32 | propertyPath: m_LocalRotation.x
33 | value: 0
34 | objectReference: {fileID: 0}
35 | - target: {fileID: 5712612137874295773, guid: aa64ac3c150880f4fb3018236ab02059,
36 | type: 3}
37 | propertyPath: m_LocalRotation.y
38 | value: 0
39 | objectReference: {fileID: 0}
40 | - target: {fileID: 5712612137874295773, guid: aa64ac3c150880f4fb3018236ab02059,
41 | type: 3}
42 | propertyPath: m_LocalRotation.z
43 | value: 0
44 | objectReference: {fileID: 0}
45 | - target: {fileID: 5712612137874295773, guid: aa64ac3c150880f4fb3018236ab02059,
46 | type: 3}
47 | propertyPath: m_LocalRotation.w
48 | value: 1
49 | objectReference: {fileID: 0}
50 | - target: {fileID: 5712612137874295773, guid: aa64ac3c150880f4fb3018236ab02059,
51 | type: 3}
52 | propertyPath: m_RootOrder
53 | value: 0
54 | objectReference: {fileID: 0}
55 | - target: {fileID: 5712612137874295773, guid: aa64ac3c150880f4fb3018236ab02059,
56 | type: 3}
57 | propertyPath: m_LocalEulerAnglesHint.x
58 | value: 0
59 | objectReference: {fileID: 0}
60 | - target: {fileID: 5712612137874295773, guid: aa64ac3c150880f4fb3018236ab02059,
61 | type: 3}
62 | propertyPath: m_LocalEulerAnglesHint.y
63 | value: 0
64 | objectReference: {fileID: 0}
65 | - target: {fileID: 5712612137874295773, guid: aa64ac3c150880f4fb3018236ab02059,
66 | type: 3}
67 | propertyPath: m_LocalEulerAnglesHint.z
68 | value: 0
69 | objectReference: {fileID: 0}
70 | - target: {fileID: 2130467400778435420, guid: aa64ac3c150880f4fb3018236ab02059,
71 | type: 3}
72 | propertyPath: m_Materials.Array.data[0]
73 | value:
74 | objectReference: {fileID: 2100000, guid: 24e1e9e7005e9da4382e1ae6c078abd9, type: 2}
75 | m_RemovedComponents: []
76 | m_SourcePrefab: {fileID: 100100000, guid: aa64ac3c150880f4fb3018236ab02059, type: 3}
77 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Prefabs/Sphere Projectile - Pistol.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f3a9061ede769e8489f2a682270b5fda
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Prefabs/Sphere Projectile - Revolver.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1001 &3124035766474222526
4 | PrefabInstance:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Modification:
8 | m_TransformParent: {fileID: 0}
9 | m_Modifications:
10 | - target: {fileID: 27044755255190543, guid: aa64ac3c150880f4fb3018236ab02059,
11 | type: 3}
12 | propertyPath: m_Name
13 | value: Sphere Projectile - Revolver
14 | objectReference: {fileID: 0}
15 | - target: {fileID: 5712612137874295773, guid: aa64ac3c150880f4fb3018236ab02059,
16 | type: 3}
17 | propertyPath: m_LocalPosition.x
18 | value: 0
19 | objectReference: {fileID: 0}
20 | - target: {fileID: 5712612137874295773, guid: aa64ac3c150880f4fb3018236ab02059,
21 | type: 3}
22 | propertyPath: m_LocalPosition.y
23 | value: 0
24 | objectReference: {fileID: 0}
25 | - target: {fileID: 5712612137874295773, guid: aa64ac3c150880f4fb3018236ab02059,
26 | type: 3}
27 | propertyPath: m_LocalPosition.z
28 | value: 0
29 | objectReference: {fileID: 0}
30 | - target: {fileID: 5712612137874295773, guid: aa64ac3c150880f4fb3018236ab02059,
31 | type: 3}
32 | propertyPath: m_LocalRotation.x
33 | value: 0
34 | objectReference: {fileID: 0}
35 | - target: {fileID: 5712612137874295773, guid: aa64ac3c150880f4fb3018236ab02059,
36 | type: 3}
37 | propertyPath: m_LocalRotation.y
38 | value: 0
39 | objectReference: {fileID: 0}
40 | - target: {fileID: 5712612137874295773, guid: aa64ac3c150880f4fb3018236ab02059,
41 | type: 3}
42 | propertyPath: m_LocalRotation.z
43 | value: 0
44 | objectReference: {fileID: 0}
45 | - target: {fileID: 5712612137874295773, guid: aa64ac3c150880f4fb3018236ab02059,
46 | type: 3}
47 | propertyPath: m_LocalRotation.w
48 | value: 1
49 | objectReference: {fileID: 0}
50 | - target: {fileID: 5712612137874295773, guid: aa64ac3c150880f4fb3018236ab02059,
51 | type: 3}
52 | propertyPath: m_RootOrder
53 | value: 0
54 | objectReference: {fileID: 0}
55 | - target: {fileID: 5712612137874295773, guid: aa64ac3c150880f4fb3018236ab02059,
56 | type: 3}
57 | propertyPath: m_LocalEulerAnglesHint.x
58 | value: 0
59 | objectReference: {fileID: 0}
60 | - target: {fileID: 5712612137874295773, guid: aa64ac3c150880f4fb3018236ab02059,
61 | type: 3}
62 | propertyPath: m_LocalEulerAnglesHint.y
63 | value: 0
64 | objectReference: {fileID: 0}
65 | - target: {fileID: 5712612137874295773, guid: aa64ac3c150880f4fb3018236ab02059,
66 | type: 3}
67 | propertyPath: m_LocalEulerAnglesHint.z
68 | value: 0
69 | objectReference: {fileID: 0}
70 | - target: {fileID: 2130467400778435420, guid: aa64ac3c150880f4fb3018236ab02059,
71 | type: 3}
72 | propertyPath: m_Materials.Array.data[0]
73 | value:
74 | objectReference: {fileID: 2100000, guid: 61da0bb0fd0bc78448c0940f7d82fa4b, type: 2}
75 | m_RemovedComponents: []
76 | m_SourcePrefab: {fileID: 100100000, guid: aa64ac3c150880f4fb3018236ab02059, type: 3}
77 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Prefabs/Sphere Projectile - Revolver.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e0897f6d0fe3ddd42ab0cadfadcf7687
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Prefabs/Sphere Projectile.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1 &27044755255190543
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: 5712612137874295773}
12 | - component: {fileID: 134455486250551077}
13 | - component: {fileID: 2130467400778435420}
14 | - component: {fileID: 6356728111454727813}
15 | - component: {fileID: 2518602056847673363}
16 | m_Layer: 0
17 | m_Name: Sphere Projectile
18 | m_TagString: Untagged
19 | m_Icon: {fileID: 0}
20 | m_NavMeshLayer: 0
21 | m_StaticEditorFlags: 0
22 | m_IsActive: 1
23 | --- !u!4 &5712612137874295773
24 | Transform:
25 | m_ObjectHideFlags: 0
26 | m_CorrespondingSourceObject: {fileID: 0}
27 | m_PrefabInstance: {fileID: 0}
28 | m_PrefabAsset: {fileID: 0}
29 | m_GameObject: {fileID: 27044755255190543}
30 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
31 | m_LocalPosition: {x: 0, y: 0.32, z: 1.52}
32 | m_LocalScale: {x: 0.25, y: 0.25, z: 0.25}
33 | m_Children: []
34 | m_Father: {fileID: 0}
35 | m_RootOrder: 0
36 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
37 | --- !u!33 &134455486250551077
38 | MeshFilter:
39 | m_ObjectHideFlags: 0
40 | m_CorrespondingSourceObject: {fileID: 0}
41 | m_PrefabInstance: {fileID: 0}
42 | m_PrefabAsset: {fileID: 0}
43 | m_GameObject: {fileID: 27044755255190543}
44 | m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
45 | --- !u!23 &2130467400778435420
46 | MeshRenderer:
47 | m_ObjectHideFlags: 0
48 | m_CorrespondingSourceObject: {fileID: 0}
49 | m_PrefabInstance: {fileID: 0}
50 | m_PrefabAsset: {fileID: 0}
51 | m_GameObject: {fileID: 27044755255190543}
52 | m_Enabled: 1
53 | m_CastShadows: 1
54 | m_ReceiveShadows: 1
55 | m_DynamicOccludee: 1
56 | m_MotionVectors: 1
57 | m_LightProbeUsage: 1
58 | m_ReflectionProbeUsage: 1
59 | m_RenderingLayerMask: 1
60 | m_RendererPriority: 0
61 | m_Materials:
62 | - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
63 | m_StaticBatchInfo:
64 | firstSubMesh: 0
65 | subMeshCount: 0
66 | m_StaticBatchRoot: {fileID: 0}
67 | m_ProbeAnchor: {fileID: 0}
68 | m_LightProbeVolumeOverride: {fileID: 0}
69 | m_ScaleInLightmap: 1
70 | m_PreserveUVs: 0
71 | m_IgnoreNormalsForChartDetection: 0
72 | m_ImportantGI: 0
73 | m_StitchLightmapSeams: 0
74 | m_SelectedEditorRenderState: 3
75 | m_MinimumChartSize: 4
76 | m_AutoUVMaxDistance: 0.5
77 | m_AutoUVMaxAngle: 89
78 | m_LightmapParameters: {fileID: 0}
79 | m_SortingLayerID: 0
80 | m_SortingLayer: 0
81 | m_SortingOrder: 0
82 | --- !u!135 &6356728111454727813
83 | SphereCollider:
84 | m_ObjectHideFlags: 0
85 | m_CorrespondingSourceObject: {fileID: 0}
86 | m_PrefabInstance: {fileID: 0}
87 | m_PrefabAsset: {fileID: 0}
88 | m_GameObject: {fileID: 27044755255190543}
89 | m_Material: {fileID: 0}
90 | m_IsTrigger: 0
91 | m_Enabled: 1
92 | serializedVersion: 2
93 | m_Radius: 0.5
94 | m_Center: {x: 0, y: 0, z: 0}
95 | --- !u!114 &2518602056847673363
96 | MonoBehaviour:
97 | m_ObjectHideFlags: 0
98 | m_CorrespondingSourceObject: {fileID: 0}
99 | m_PrefabInstance: {fileID: 0}
100 | m_PrefabAsset: {fileID: 0}
101 | m_GameObject: {fileID: 27044755255190543}
102 | m_Enabled: 1
103 | m_EditorHideFlags: 0
104 | m_Script: {fileID: 11500000, guid: f1d678332322e18448f07c64229f9c25, type: 3}
105 | m_Name:
106 | m_EditorClassIdentifier:
107 | speed: 100
108 | range: 0
109 | weapon: {fileID: 0}
110 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Prefabs/Sphere Projectile.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: aa64ac3c150880f4fb3018236ab02059
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scenes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 01306f483cd10a34c8a397b78043d2bb
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scenes/SampleScene.unity:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!29 &1
4 | OcclusionCullingSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_OcclusionBakeSettings:
8 | smallestOccluder: 5
9 | smallestHole: 0.25
10 | backfaceThreshold: 100
11 | m_SceneGUID: 00000000000000000000000000000000
12 | m_OcclusionCullingData: {fileID: 0}
13 | --- !u!104 &2
14 | RenderSettings:
15 | m_ObjectHideFlags: 0
16 | serializedVersion: 9
17 | m_Fog: 0
18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
19 | m_FogMode: 3
20 | m_FogDensity: 0.01
21 | m_LinearFogStart: 0
22 | m_LinearFogEnd: 300
23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
26 | m_AmbientIntensity: 1
27 | m_AmbientMode: 0
28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
29 | m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
30 | m_HaloStrength: 0.5
31 | m_FlareStrength: 1
32 | m_FlareFadeSpeed: 3
33 | m_HaloTexture: {fileID: 0}
34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
35 | m_DefaultReflectionMode: 0
36 | m_DefaultReflectionResolution: 128
37 | m_ReflectionBounces: 1
38 | m_ReflectionIntensity: 1
39 | m_CustomReflection: {fileID: 0}
40 | m_Sun: {fileID: 170076734}
41 | m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1}
42 | m_UseRadianceAmbientProbe: 0
43 | --- !u!157 &3
44 | LightmapSettings:
45 | m_ObjectHideFlags: 0
46 | serializedVersion: 11
47 | m_GIWorkflowMode: 0
48 | m_GISettings:
49 | serializedVersion: 2
50 | m_BounceScale: 1
51 | m_IndirectOutputScale: 1
52 | m_AlbedoBoost: 1
53 | m_EnvironmentLightingMode: 0
54 | m_EnableBakedLightmaps: 1
55 | m_EnableRealtimeLightmaps: 0
56 | m_LightmapEditorSettings:
57 | serializedVersion: 10
58 | m_Resolution: 2
59 | m_BakeResolution: 10
60 | m_AtlasSize: 512
61 | m_AO: 0
62 | m_AOMaxDistance: 1
63 | m_CompAOExponent: 1
64 | m_CompAOExponentDirect: 0
65 | m_Padding: 2
66 | m_LightmapParameters: {fileID: 0}
67 | m_LightmapsBakeMode: 1
68 | m_TextureCompression: 1
69 | m_FinalGather: 0
70 | m_FinalGatherFiltering: 1
71 | m_FinalGatherRayCount: 256
72 | m_ReflectionCompression: 2
73 | m_MixedBakeMode: 2
74 | m_BakeBackend: 1
75 | m_PVRSampling: 1
76 | m_PVRDirectSampleCount: 32
77 | m_PVRSampleCount: 256
78 | m_PVRBounces: 2
79 | m_PVRFilterTypeDirect: 0
80 | m_PVRFilterTypeIndirect: 0
81 | m_PVRFilterTypeAO: 0
82 | m_PVRFilteringMode: 1
83 | m_PVRCulling: 1
84 | m_PVRFilteringGaussRadiusDirect: 1
85 | m_PVRFilteringGaussRadiusIndirect: 5
86 | m_PVRFilteringGaussRadiusAO: 2
87 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5
88 | m_PVRFilteringAtrousPositionSigmaIndirect: 2
89 | m_PVRFilteringAtrousPositionSigmaAO: 1
90 | m_ShowResolutionOverlay: 1
91 | m_LightingDataAsset: {fileID: 0}
92 | m_UseShadowmask: 1
93 | --- !u!196 &4
94 | NavMeshSettings:
95 | serializedVersion: 2
96 | m_ObjectHideFlags: 0
97 | m_BuildSettings:
98 | serializedVersion: 2
99 | agentTypeID: 0
100 | agentRadius: 0.5
101 | agentHeight: 2
102 | agentSlope: 45
103 | agentClimb: 0.4
104 | ledgeDropHeight: 0
105 | maxJumpAcrossDistance: 0
106 | minRegionArea: 2
107 | manualCellSize: 0
108 | cellSize: 0.16666667
109 | manualTileSize: 0
110 | tileSize: 256
111 | accuratePlacement: 0
112 | debug:
113 | m_Flags: 0
114 | m_NavMeshData: {fileID: 0}
115 | --- !u!1 &170076733
116 | GameObject:
117 | m_ObjectHideFlags: 0
118 | m_CorrespondingSourceObject: {fileID: 0}
119 | m_PrefabInstance: {fileID: 0}
120 | m_PrefabAsset: {fileID: 0}
121 | serializedVersion: 6
122 | m_Component:
123 | - component: {fileID: 170076735}
124 | - component: {fileID: 170076734}
125 | m_Layer: 0
126 | m_Name: Directional Light
127 | m_TagString: Untagged
128 | m_Icon: {fileID: 0}
129 | m_NavMeshLayer: 0
130 | m_StaticEditorFlags: 0
131 | m_IsActive: 1
132 | --- !u!108 &170076734
133 | Light:
134 | m_ObjectHideFlags: 0
135 | m_CorrespondingSourceObject: {fileID: 0}
136 | m_PrefabInstance: {fileID: 0}
137 | m_PrefabAsset: {fileID: 0}
138 | m_GameObject: {fileID: 170076733}
139 | m_Enabled: 1
140 | serializedVersion: 8
141 | m_Type: 1
142 | m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
143 | m_Intensity: 1
144 | m_Range: 10
145 | m_SpotAngle: 30
146 | m_CookieSize: 10
147 | m_Shadows:
148 | m_Type: 2
149 | m_Resolution: -1
150 | m_CustomResolution: -1
151 | m_Strength: 1
152 | m_Bias: 0.05
153 | m_NormalBias: 0.4
154 | m_NearPlane: 0.2
155 | m_Cookie: {fileID: 0}
156 | m_DrawHalo: 0
157 | m_Flare: {fileID: 0}
158 | m_RenderMode: 0
159 | m_CullingMask:
160 | serializedVersion: 2
161 | m_Bits: 4294967295
162 | m_Lightmapping: 1
163 | m_LightShadowCasterMode: 0
164 | m_AreaSize: {x: 1, y: 1}
165 | m_BounceIntensity: 1
166 | m_ColorTemperature: 6570
167 | m_UseColorTemperature: 0
168 | m_ShadowRadius: 0
169 | m_ShadowAngle: 0
170 | --- !u!4 &170076735
171 | Transform:
172 | m_ObjectHideFlags: 0
173 | m_CorrespondingSourceObject: {fileID: 0}
174 | m_PrefabInstance: {fileID: 0}
175 | m_PrefabAsset: {fileID: 0}
176 | m_GameObject: {fileID: 170076733}
177 | m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
178 | m_LocalPosition: {x: 0, y: 3, z: 0}
179 | m_LocalScale: {x: 1, y: 1, z: 1}
180 | m_Children: []
181 | m_Father: {fileID: 0}
182 | m_RootOrder: 0
183 | m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
184 | --- !u!1 &267426539
185 | GameObject:
186 | m_ObjectHideFlags: 0
187 | m_CorrespondingSourceObject: {fileID: 0}
188 | m_PrefabInstance: {fileID: 0}
189 | m_PrefabAsset: {fileID: 0}
190 | serializedVersion: 6
191 | m_Component:
192 | - component: {fileID: 267426544}
193 | - component: {fileID: 267426543}
194 | - component: {fileID: 267426542}
195 | - component: {fileID: 267426541}
196 | - component: {fileID: 267426546}
197 | - component: {fileID: 267426545}
198 | - component: {fileID: 267426540}
199 | m_Layer: 0
200 | m_Name: Player
201 | m_TagString: Untagged
202 | m_Icon: {fileID: 0}
203 | m_NavMeshLayer: 0
204 | m_StaticEditorFlags: 0
205 | m_IsActive: 1
206 | --- !u!114 &267426540
207 | MonoBehaviour:
208 | m_ObjectHideFlags: 0
209 | m_CorrespondingSourceObject: {fileID: 0}
210 | m_PrefabInstance: {fileID: 0}
211 | m_PrefabAsset: {fileID: 0}
212 | m_GameObject: {fileID: 267426539}
213 | m_Enabled: 1
214 | m_EditorHideFlags: 0
215 | m_Script: {fileID: 11500000, guid: c47e0257373404a449651ed1b32e905d, type: 3}
216 | m_Name:
217 | m_EditorClassIdentifier:
218 | --- !u!136 &267426541
219 | CapsuleCollider:
220 | m_ObjectHideFlags: 0
221 | m_CorrespondingSourceObject: {fileID: 0}
222 | m_PrefabInstance: {fileID: 0}
223 | m_PrefabAsset: {fileID: 0}
224 | m_GameObject: {fileID: 267426539}
225 | m_Material: {fileID: 0}
226 | m_IsTrigger: 0
227 | m_Enabled: 1
228 | m_Radius: 0.5
229 | m_Height: 2
230 | m_Direction: 1
231 | m_Center: {x: 0, y: 0, z: 0}
232 | --- !u!23 &267426542
233 | MeshRenderer:
234 | m_ObjectHideFlags: 0
235 | m_CorrespondingSourceObject: {fileID: 0}
236 | m_PrefabInstance: {fileID: 0}
237 | m_PrefabAsset: {fileID: 0}
238 | m_GameObject: {fileID: 267426539}
239 | m_Enabled: 1
240 | m_CastShadows: 1
241 | m_ReceiveShadows: 1
242 | m_DynamicOccludee: 1
243 | m_MotionVectors: 1
244 | m_LightProbeUsage: 1
245 | m_ReflectionProbeUsage: 1
246 | m_RenderingLayerMask: 1
247 | m_RendererPriority: 0
248 | m_Materials:
249 | - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
250 | m_StaticBatchInfo:
251 | firstSubMesh: 0
252 | subMeshCount: 0
253 | m_StaticBatchRoot: {fileID: 0}
254 | m_ProbeAnchor: {fileID: 0}
255 | m_LightProbeVolumeOverride: {fileID: 0}
256 | m_ScaleInLightmap: 1
257 | m_PreserveUVs: 0
258 | m_IgnoreNormalsForChartDetection: 0
259 | m_ImportantGI: 0
260 | m_StitchLightmapSeams: 0
261 | m_SelectedEditorRenderState: 3
262 | m_MinimumChartSize: 4
263 | m_AutoUVMaxDistance: 0.5
264 | m_AutoUVMaxAngle: 89
265 | m_LightmapParameters: {fileID: 0}
266 | m_SortingLayerID: 0
267 | m_SortingLayer: 0
268 | m_SortingOrder: 0
269 | --- !u!33 &267426543
270 | MeshFilter:
271 | m_ObjectHideFlags: 0
272 | m_CorrespondingSourceObject: {fileID: 0}
273 | m_PrefabInstance: {fileID: 0}
274 | m_PrefabAsset: {fileID: 0}
275 | m_GameObject: {fileID: 267426539}
276 | m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
277 | --- !u!4 &267426544
278 | Transform:
279 | m_ObjectHideFlags: 0
280 | m_CorrespondingSourceObject: {fileID: 0}
281 | m_PrefabInstance: {fileID: 0}
282 | m_PrefabAsset: {fileID: 0}
283 | m_GameObject: {fileID: 267426539}
284 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
285 | m_LocalPosition: {x: 0, y: 0, z: 0}
286 | m_LocalScale: {x: 1, y: 1, z: 1}
287 | m_Children:
288 | - {fileID: 534669905}
289 | m_Father: {fileID: 0}
290 | m_RootOrder: 1
291 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
292 | --- !u!114 &267426545
293 | MonoBehaviour:
294 | m_ObjectHideFlags: 0
295 | m_CorrespondingSourceObject: {fileID: 0}
296 | m_PrefabInstance: {fileID: 0}
297 | m_PrefabAsset: {fileID: 0}
298 | m_GameObject: {fileID: 267426539}
299 | m_Enabled: 1
300 | m_EditorHideFlags: 0
301 | m_Script: {fileID: 11500000, guid: 4a52dc7403b8fb44d9034a6e29fe103f, type: 3}
302 | m_Name:
303 | m_EditorClassIdentifier:
304 | primaryAttackButton: 49
305 | secondaryAttackButton: 50
306 | --- !u!114 &267426546
307 | MonoBehaviour:
308 | m_ObjectHideFlags: 0
309 | m_CorrespondingSourceObject: {fileID: 0}
310 | m_PrefabInstance: {fileID: 0}
311 | m_PrefabAsset: {fileID: 0}
312 | m_GameObject: {fileID: 267426539}
313 | m_Enabled: 1
314 | m_EditorHideFlags: 0
315 | m_Script: {fileID: 11500000, guid: 2032e4377586b394b91c1f11fdaff537, type: 3}
316 | m_Name:
317 | m_EditorClassIdentifier:
318 | stats: {fileID: 11400000, guid: 5d13e5b2e35217840a4a776c1ff3b213, type: 2}
319 | items: {fileID: 11400000, guid: 420d13c2b92bb0146bf59f0c95036635, type: 2}
320 | --- !u!1 &534669902
321 | GameObject:
322 | m_ObjectHideFlags: 0
323 | m_CorrespondingSourceObject: {fileID: 0}
324 | m_PrefabInstance: {fileID: 0}
325 | m_PrefabAsset: {fileID: 0}
326 | serializedVersion: 6
327 | m_Component:
328 | - component: {fileID: 534669905}
329 | - component: {fileID: 534669904}
330 | - component: {fileID: 534669903}
331 | m_Layer: 0
332 | m_Name: Main Camera
333 | m_TagString: MainCamera
334 | m_Icon: {fileID: 0}
335 | m_NavMeshLayer: 0
336 | m_StaticEditorFlags: 0
337 | m_IsActive: 1
338 | --- !u!81 &534669903
339 | AudioListener:
340 | m_ObjectHideFlags: 0
341 | m_CorrespondingSourceObject: {fileID: 0}
342 | m_PrefabInstance: {fileID: 0}
343 | m_PrefabAsset: {fileID: 0}
344 | m_GameObject: {fileID: 534669902}
345 | m_Enabled: 1
346 | --- !u!20 &534669904
347 | Camera:
348 | m_ObjectHideFlags: 0
349 | m_CorrespondingSourceObject: {fileID: 0}
350 | m_PrefabInstance: {fileID: 0}
351 | m_PrefabAsset: {fileID: 0}
352 | m_GameObject: {fileID: 534669902}
353 | m_Enabled: 1
354 | serializedVersion: 2
355 | m_ClearFlags: 1
356 | m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
357 | m_projectionMatrixMode: 1
358 | m_SensorSize: {x: 36, y: 24}
359 | m_LensShift: {x: 0, y: 0}
360 | m_GateFitMode: 2
361 | m_FocalLength: 50
362 | m_NormalizedViewPortRect:
363 | serializedVersion: 2
364 | x: 0
365 | y: 0
366 | width: 1
367 | height: 1
368 | near clip plane: 0.3
369 | far clip plane: 1000
370 | field of view: 60
371 | orthographic: 0
372 | orthographic size: 5
373 | m_Depth: -1
374 | m_CullingMask:
375 | serializedVersion: 2
376 | m_Bits: 4294967295
377 | m_RenderingPath: -1
378 | m_TargetTexture: {fileID: 0}
379 | m_TargetDisplay: 0
380 | m_TargetEye: 3
381 | m_HDR: 1
382 | m_AllowMSAA: 1
383 | m_AllowDynamicResolution: 0
384 | m_ForceIntoRT: 0
385 | m_OcclusionCulling: 1
386 | m_StereoConvergence: 10
387 | m_StereoSeparation: 0.022
388 | --- !u!4 &534669905
389 | Transform:
390 | m_ObjectHideFlags: 0
391 | m_CorrespondingSourceObject: {fileID: 0}
392 | m_PrefabInstance: {fileID: 0}
393 | m_PrefabAsset: {fileID: 0}
394 | m_GameObject: {fileID: 534669902}
395 | m_LocalRotation: {x: 0.1335173, y: -0, z: -0, w: 0.99104655}
396 | m_LocalPosition: {x: 0, y: 4.91, z: -10}
397 | m_LocalScale: {x: 1, y: 1, z: 1}
398 | m_Children: []
399 | m_Father: {fileID: 267426544}
400 | m_RootOrder: 0
401 | m_LocalEulerAnglesHint: {x: 15.346001, y: 0, z: 0}
402 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scenes/SampleScene.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e9086c865b2c9264fb23d6876de5694d
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/ScriptableObjects.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f5c94fbceebf161459afad8ebe095c78
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/ScriptableObjects/Character Systems.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b327472c7b071ed4eba3d16a22601e29
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/ScriptableObjects/Character Systems/Player Items.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: cc0a03d7ab6c68040ad288d1f2bbce5c, type: 3}
13 | m_Name: Player Items
14 | m_EditorClassIdentifier:
15 | primary: {fileID: 11400000, guid: d7b2e4d935a9d6a488ddd6a4816005bf, type: 2}
16 | secondary: {fileID: 11400000, guid: 5d8d4184d28f0db49aab44de801d97ba, type: 2}
17 | inventory:
18 | - {fileID: 11400000, guid: b718e1a2b1ef7c9448a47a53d0e9d716, type: 2}
19 | - {fileID: 11400000, guid: 31bbc9be637d1fc479b168802965f109, type: 2}
20 | - {fileID: 11400000, guid: 31bbc9be637d1fc479b168802965f109, type: 2}
21 | - {fileID: 11400000, guid: d7b2e4d935a9d6a488ddd6a4816005bf, type: 2}
22 | - {fileID: 0}
23 | - {fileID: 0}
24 | - {fileID: 0}
25 | - {fileID: 0}
26 | - {fileID: 0}
27 | - {fileID: 0}
28 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/ScriptableObjects/Character Systems/Player Items.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 420d13c2b92bb0146bf59f0c95036635
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/ScriptableObjects/Character Systems/Player Stats.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: 7558c840db7d715429fece0a580f0f25, type: 3}
13 | m_Name: Player Stats
14 | m_EditorClassIdentifier:
15 | health:
16 | InitialValue: 100
17 | Value: 100
18 | team: Gray Sharks
19 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/ScriptableObjects/Character Systems/Player Stats.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5d13e5b2e35217840a4a776c1ff3b213
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/ScriptableObjects/Items.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9ea99e61bafe4bf4ca93fa059087f9f5
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/ScriptableObjects/Items/Artifacts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: eb0b88c598934c2449fff7d36a0e5144
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/ScriptableObjects/Items/Artifacts/Greater Potion.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: d5f2ebdfdf67ef949b28a52dbed7a289, type: 3}
13 | m_Name: Greater Potion
14 | m_EditorClassIdentifier:
15 | icon: {fileID: 0}
16 | stats: {fileID: 11400000, guid: 5d13e5b2e35217840a4a776c1ff3b213, type: 2}
17 | healAmount: 50
18 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/ScriptableObjects/Items/Artifacts/Greater Potion.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b718e1a2b1ef7c9448a47a53d0e9d716
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/ScriptableObjects/Items/Artifacts/Minor Potion.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: d5f2ebdfdf67ef949b28a52dbed7a289, type: 3}
13 | m_Name: Minor Potion
14 | m_EditorClassIdentifier:
15 | icon: {fileID: 0}
16 | stats: {fileID: 11400000, guid: 5d13e5b2e35217840a4a776c1ff3b213, type: 2}
17 | healAmount: 10
18 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/ScriptableObjects/Items/Artifacts/Minor Potion.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 31bbc9be637d1fc479b168802965f109
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/ScriptableObjects/Items/Weapons.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4126876fb232e7941851b057d594077c
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/ScriptableObjects/Items/Weapons/Pistol.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: 9ffdcd1b693afbe43b15e7f7d2e56289, type: 3}
13 | m_Name: Pistol
14 | m_EditorClassIdentifier:
15 | icon: {fileID: 0}
16 | Damage: 15
17 | range: 10
18 | projectile: {fileID: 9189685074582332342, guid: f3a9061ede769e8489f2a682270b5fda,
19 | type: 3}
20 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/ScriptableObjects/Items/Weapons/Pistol.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d7b2e4d935a9d6a488ddd6a4816005bf
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/ScriptableObjects/Items/Weapons/Revolver.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: 9ffdcd1b693afbe43b15e7f7d2e56289, type: 3}
13 | m_Name: Revolver
14 | m_EditorClassIdentifier:
15 | icon: {fileID: 0}
16 | Damage: 20
17 | range: 5
18 | projectile: {fileID: 3115040641345277873, guid: e0897f6d0fe3ddd42ab0cadfadcf7687,
19 | type: 3}
20 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/ScriptableObjects/Items/Weapons/Revolver.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5d8d4184d28f0db49aab44de801d97ba
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b58788c91e73db04d9260b4d65f1d2a0
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 506834ecadc209e42a91c92428e1a747
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/Abstractions.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ebe6e60e416b7a74fb25cb396976568d
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/Abstractions/Character.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidItemSystem
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public abstract class Character : MonoBehaviour, ICharacter
7 | {
8 | public Stats stats;
9 | public Items items;
10 |
11 | public abstract void OnDespawn();
12 | public abstract void OnSpawn();
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/Abstractions/Character.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ad8b6e397e977cc47a70c7f188752d57
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/Abstractions/ICharacter.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidItemSystem
2 | {
3 | public interface ICharacter
4 | {
5 | void OnSpawn();
6 | void OnDespawn();
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/Abstractions/ICharacter.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dd695ff1107df7b4fac8ea7c328da16f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/Abstractions/Items.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidItemSystem
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public abstract class Items : ScriptableObject, IWeaponContainer
7 | {
8 | public abstract bool AddToInventory(Item item);
9 | public abstract Item[] GetItems();
10 | public abstract void UseWeapon(int weaponIndex);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/Abstractions/Items.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: afa38c3ac85a3254c925e454bf56cc52
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/Abstractions/Stats.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidItemSystem
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public abstract class Stats : ScriptableObject
7 | {
8 | public abstract float GetHealth();
9 | public abstract float GetMaxHealth();
10 | public abstract float GetHealthPercent();
11 | public abstract void Damage(float value);
12 | public abstract void Heal(float value);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/Abstractions/Stats.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a975463a19bff8e4b883cc1ed46dae82
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/CharacterItems.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidItemSystem
2 | {
3 |
4 | using UnityEngine;
5 |
6 | [CreateAssetMenu]
7 | public class CharacterItems : Items
8 | {
9 | public Weapon primary;
10 | public Weapon secondary;
11 | public Item[] inventory;
12 |
13 | public override bool AddToInventory(Item item)
14 | {
15 | for (int i = 0; i < inventory.Length; i++)
16 | {
17 | if (inventory[i] == null)
18 | {
19 | inventory[i] = item;
20 | return true;
21 | }
22 | }
23 | return false;
24 | }
25 |
26 | public override Item[] GetItems()
27 | {
28 | return inventory;
29 | }
30 |
31 | ///
32 | /// Use one of the equipped weapons, primary (index 0) or secondary (index 1).
33 | ///
34 | ///
35 | public override void UseWeapon(int weaponIndex)
36 | {
37 | switch (weaponIndex)
38 | {
39 | case 0:
40 | primary.Use();
41 | break;
42 | case 1:
43 | secondary.Use();
44 | break;
45 | default:
46 | Debug.LogError("CharacterItems can only fire Weapon '0' or Weapon '1'");
47 | break;
48 | }
49 | }
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/CharacterItems.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cc0a03d7ab6c68040ad288d1f2bbce5c
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/CharacterStats.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidItemSystem
2 | {
3 |
4 | using UnityEngine;
5 |
6 | [CreateAssetMenu]
7 | public class CharacterStats : Stats
8 | {
9 | public Health health;
10 | public string team;
11 |
12 | public override float GetHealth()
13 | {
14 | return health.Value;
15 | }
16 |
17 | public override float GetHealthPercent()
18 | {
19 | return health.Percent();
20 | }
21 |
22 | public override float GetMaxHealth()
23 | {
24 | return health.InitialValue;
25 | }
26 |
27 | public override void Heal(float value)
28 | {
29 | health.Heal(value);
30 | }
31 |
32 | public override void Damage(float value)
33 | {
34 | health.Damage(value);
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/CharacterStats.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7558c840db7d715429fece0a580f0f25
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/Enemy.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidItemSystem
2 | {
3 | using System.Collections.Generic;
4 |
5 | public class Enemy : Character
6 | {
7 | private static List enemies = new List();
8 |
9 | private void OnEnable()
10 | {
11 | OnSpawn();
12 | }
13 |
14 | private void OnDisable()
15 | {
16 | OnDespawn();
17 | }
18 |
19 | public override void OnDespawn()
20 | {
21 | enemies.Add(this);
22 | DropItemsOnTheGround();
23 | }
24 |
25 | private void DropItemsOnTheGround()
26 | {
27 | for (int i = 0; i < items.GetItems().Length; i++)
28 | {
29 | //Drop the item on the ground
30 | }
31 | }
32 |
33 | public override void OnSpawn()
34 | {
35 | enemies.Remove(this);
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/Enemy.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b2de2c03af856244db60b6bef1beb3ff
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/Health.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace SampaioDias.SolidItemSystem
4 | {
5 | [System.Serializable]
6 | public class Health
7 | {
8 | public float InitialValue { get; private set; }
9 | public float Value { get; private set; }
10 |
11 | public Health(float initialValue)
12 | {
13 | InitialValue = initialValue;
14 | Value = initialValue;
15 | }
16 |
17 | public void Damage(float value)
18 | {
19 | Value = Mathf.Clamp(Value - value, 0, InitialValue);
20 | }
21 |
22 | public void Heal(float value)
23 | {
24 | Value = Mathf.Clamp(Value + value, 0, InitialValue);
25 | }
26 |
27 | public float Percent()
28 | {
29 | return Value / InitialValue;
30 | }
31 |
32 | public bool IsEmpty()
33 | {
34 | return Percent() == 0;
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/Health.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7a6ad73ac81fc3b4b8b58cde7f9002f8
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/Player.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidItemSystem
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public class Player : Character
7 | {
8 |
9 | private void OnEnable()
10 | {
11 | OnSpawn();
12 | }
13 |
14 | private void OnDisable()
15 | {
16 | OnDespawn();
17 | }
18 |
19 | public override void OnSpawn()
20 | {
21 | Debug.Log(gameObject.name + " spawned");
22 | }
23 |
24 | public override void OnDespawn()
25 | {
26 | Debug.Log(gameObject.name + " despawned");
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/Player.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2032e4377586b394b91c1f11fdaff537
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/Tests.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f6063d1c9ea1e754499bd984be7ff15a
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/Tests/CharacterTests.asmdef:
--------------------------------------------------------------------------------
1 | {
2 | "name": "CharacterTests",
3 | "references": [
4 | "SolidItemSystem"
5 | ],
6 | "optionalUnityReferences": [
7 | "TestAssemblies"
8 | ],
9 | "includePlatforms": [
10 | "Editor"
11 | ],
12 | "excludePlatforms": [],
13 | "allowUnsafeCode": false,
14 | "overrideReferences": false,
15 | "precompiledReferences": [],
16 | "autoReferenced": true,
17 | "defineConstraints": []
18 | }
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/Tests/CharacterTests.asmdef.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 941f7a7cf1e9f92419f758fd76264e7d
3 | AssemblyDefinitionImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/Tests/HealthTests.cs:
--------------------------------------------------------------------------------
1 | using NUnit.Framework;
2 |
3 | namespace SampaioDias.SolidItemSystem.Tests
4 | {
5 | public class HealthTests
6 | {
7 | private int initialValue = 100;
8 | private int smallDamage = 10;
9 | private int smallHeal = 5;
10 | private int massiveAmount = 99999;
11 |
12 | [Test]
13 | public void WhenInitialized_ThenValueEqualsInitialValue()
14 | {
15 | Health health = new Health(initialValue);
16 | Assert.AreEqual(initialValue, health.Value);
17 | }
18 |
19 | [Test]
20 | public void WhenTakesDamage_ThenValueDecreases()
21 | {
22 | Health health = new Health(initialValue);
23 | health.Damage(smallDamage);
24 | Assert.AreEqual(initialValue - smallDamage, health.Value);
25 | }
26 |
27 | [Test]
28 | public void WhenTakesInitialValueAsDamage_ThenIsEmpty()
29 | {
30 | Health health = new Health(initialValue);
31 | health.Damage(initialValue);
32 | Assert.AreEqual(true, health.IsEmpty());
33 | }
34 |
35 | [Test]
36 | public void WhenTakesMassiveValueAsDamage_ThenIsEmpty()
37 | {
38 | Health health = new Health(initialValue);
39 | health.Damage(massiveAmount);
40 | Assert.AreEqual(true, health.IsEmpty());
41 | }
42 |
43 | [Test]
44 | public void WhenIsHealed_ThenValueIncreases()
45 | {
46 | Health health = new Health(initialValue);
47 | health.Damage(smallDamage);
48 | health.Heal(smallHeal);
49 | Assert.AreEqual(initialValue - smallDamage + smallHeal, health.Value);
50 | }
51 |
52 | [Test]
53 | public void WhenIsHealedMassivelly_ThenValueIncreasesToInitialValue()
54 | {
55 | Health health = new Health(initialValue);
56 | health.Damage(smallDamage);
57 | health.Heal(massiveAmount);
58 | Assert.AreEqual(initialValue, health.Value);
59 | }
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Character/Tests/HealthTests.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6d1e96041cb2ad44d9adfb4ef7c5acbe
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Combat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 03db0629927908649b043ee386788099
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Combat/Abstractions.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bbe20f4825e00a14b97ba769f68bd11f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Combat/Abstractions/ICombatBehaviour.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidItemSystem
2 | {
3 | public interface ICombatBehaviour
4 | {
5 | void PrimaryAttack();
6 | void SecondaryAttack();
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Combat/Abstractions/ICombatBehaviour.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 30698dbc69210004191c6dccf153f495
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Combat/Abstractions/ICombatInput.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidItemSystem
2 | {
3 | public interface ICombatInput
4 | {
5 | void Enable();
6 | void Disable();
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Combat/Abstractions/ICombatInput.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d11dc3885ea84944581f112fe4a99de9
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Combat/Abstractions/IWeaponContainer.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias
2 | {
3 | public interface IWeaponContainer
4 | {
5 | void UseWeapon(int weaponIndex);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Combat/Abstractions/IWeaponContainer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1f95b9a4e2eec1d4293a9f91864f7209
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Combat/PlayerCombatBehaviour.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidItemSystem
2 | {
3 |
4 | using UnityEngine;
5 |
6 | [RequireComponent(typeof(Character))]
7 | public class PlayerCombatBehaviour : MonoBehaviour, ICombatBehaviour
8 | {
9 | private Character character;
10 |
11 | private void Awake()
12 | {
13 | character = GetComponent();
14 | }
15 |
16 | public void PrimaryAttack()
17 | {
18 | character.items.UseWeapon(0);
19 | }
20 |
21 | public void SecondaryAttack()
22 | {
23 | character.items.UseWeapon(1);
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Combat/PlayerCombatBehaviour.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c47e0257373404a449651ed1b32e905d
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Combat/PlayerCombatInput.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidItemSystem
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public class PlayerCombatInput : MonoBehaviour, ICombatInput
7 | {
8 |
9 | public KeyCode primaryAttackButton;
10 | public KeyCode secondaryAttackButton;
11 |
12 | private bool inputEnabled;
13 | private ICombatBehaviour combatBehaviour;
14 |
15 | private void Awake()
16 | {
17 | combatBehaviour = GetComponent();
18 | Enable();
19 | }
20 |
21 | private void Update()
22 | {
23 | if (inputEnabled)
24 | {
25 | if (Input.GetKeyDown(primaryAttackButton))
26 | {
27 | combatBehaviour.PrimaryAttack();
28 | }
29 | if (Input.GetKeyDown(secondaryAttackButton))
30 | {
31 | combatBehaviour.SecondaryAttack();
32 | }
33 | }
34 | }
35 |
36 | public void Disable()
37 | {
38 | inputEnabled = false;
39 | }
40 |
41 | public void Enable()
42 | {
43 | inputEnabled = true;
44 | }
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Combat/PlayerCombatInput.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4a52dc7403b8fb44d9034a6e29fe103f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Combat/Projectile.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidItemSystem
2 | {
3 | using UnityEngine;
4 |
5 | public class Projectile : MonoBehaviour
6 | {
7 | public float speed;
8 | [HideInInspector]
9 | public float range;
10 | [HideInInspector]
11 | public Weapon weapon;
12 |
13 | private void Update()
14 | {
15 | Move(Time.deltaTime);
16 | CheckRange();
17 | }
18 |
19 | private void CheckRange()
20 | {
21 | //if range <= 0, destroy the projectile
22 | }
23 |
24 | private void Move(float deltaTime)
25 | {
26 | transform.Translate(Vector3.forward * speed * deltaTime);
27 | }
28 |
29 | private void OnTriggerEnter(Collider other)
30 | {
31 | var character = other.GetComponent();
32 | character.stats.Damage(weapon.Damage);
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Combat/Projectile.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f1d678332322e18448f07c64229f9c25
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Combat/Tests.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 25f43e6dd5539704995ecba24a5e4248
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Combat/Tests/CombatTests.asmdef:
--------------------------------------------------------------------------------
1 | {
2 | "name": "CombatTests",
3 | "references": [
4 | "SolidItemSystem"
5 | ],
6 | "optionalUnityReferences": [
7 | "TestAssemblies"
8 | ],
9 | "includePlatforms": [],
10 | "excludePlatforms": [],
11 | "allowUnsafeCode": false,
12 | "overrideReferences": false,
13 | "precompiledReferences": [],
14 | "autoReferenced": true,
15 | "defineConstraints": []
16 | }
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Combat/Tests/CombatTests.asmdef.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5a5f29997d900884fac2aadd21a98e6f
3 | AssemblyDefinitionImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Combat/Tests/ProjectileTests.cs:
--------------------------------------------------------------------------------
1 | using NUnit.Framework;
2 | using System.Collections;
3 | using UnityEngine;
4 | using UnityEngine.TestTools;
5 |
6 | namespace SampaioDias.SolidItemSystem.Tests
7 | {
8 | public class ProjectileTests
9 | {
10 | [UnityTest]
11 | public IEnumerator WhenUnityUpdates_ThenProjectileMoves()
12 | {
13 | Projectile p = new GameObject().AddComponent();
14 | p.transform.position = Vector3.zero;
15 | p.transform.rotation = Quaternion.identity;
16 | p.speed = 1000;
17 | yield return null;
18 | Assert.IsTrue(p.transform.position.z > 0);
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Combat/Tests/ProjectileTests.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4a777c60545da6c40b648f5463689259
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Items.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b91e8b9647f23464db5504d0117682c3
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Items/Abstractions.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 64164fcb656812c4ab34e73dbb34ef83
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Items/Abstractions/Artifact.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidItemSystem
2 | {
3 | public abstract class Artifact : Item, IUsable
4 | {
5 | public abstract void Use();
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Items/Abstractions/Artifact.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f2d59f6a584ac984b9751326de2f8bb8
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Items/Abstractions/IUsable.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidItemSystem
2 | {
3 | public interface IUsable
4 | {
5 | void Use();
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Items/Abstractions/IUsable.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4dab0dc72aaf03c4eac3ab95c3cae4b9
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Items/Abstractions/Item.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidItemSystem
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public abstract class Item : ScriptableObject
7 | {
8 | public Texture2D icon;
9 |
10 | public abstract void Config(Character character);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Items/Abstractions/Item.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9dc1d6f481fe198458978be7045944be
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Items/Abstractions/Weapon.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidItemSystem
2 | {
3 | public abstract class Weapon : Item, IUsable
4 | {
5 | public float Damage = 10;
6 |
7 | public abstract void Use();
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Items/Abstractions/Weapon.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 83abde1e4788b1b4d8fe59b37ebbfd25
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Items/Potion.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidItemSystem
2 | {
3 | using UnityEngine;
4 |
5 | [CreateAssetMenu(menuName = "Items/Artifacts/Potion")]
6 | public class Potion : Artifact
7 | {
8 | private Character character;
9 | public float healAmount;
10 |
11 | public override void Config(Character character)
12 | {
13 | this.character = character;
14 | }
15 |
16 | public override void Use()
17 | {
18 | character.stats.Heal(healAmount);
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Items/Potion.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d5f2ebdfdf67ef949b28a52dbed7a289
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Items/RangedWeapon.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidItemSystem
2 | {
3 |
4 | using UnityEngine;
5 |
6 | [CreateAssetMenu(menuName = "Items/Weapons/Ranged Weapon")]
7 | public class RangedWeapon : Weapon
8 | {
9 | public float range;
10 | public GameObject projectile;
11 | private Character character;
12 |
13 | public override void Config(Character character)
14 | {
15 | this.character = character;
16 | }
17 |
18 | public override void Use()
19 | {
20 | var p = Instantiate(projectile, character.transform.position, projectile.transform.rotation).GetComponent();
21 | if (p != null)
22 | {
23 | p.range = range;
24 | p.weapon = this;
25 | }
26 | else
27 | {
28 | Debug.Log(name + " tried to shoot " + projectile + ", but it isn't a projectile!");
29 | Destroy(p);
30 | }
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/Items/RangedWeapon.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9ffdcd1b693afbe43b15e7f7d2e56289
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/SolidItemSystem.asmdef:
--------------------------------------------------------------------------------
1 | {
2 | "name": "SolidItemSystem"
3 | }
4 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Assets/Scripts/SolidItemSystem.asmdef.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 16a823b63fa27e64ba26d2a06fa77f49
3 | AssemblyDefinitionImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/samples/solid-item-system/Packages/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "com.unity.ads": "2.0.8",
4 | "com.unity.analytics": "3.2.2",
5 | "com.unity.collab-proxy": "1.2.15",
6 | "com.unity.package-manager-ui": "2.0.3",
7 | "com.unity.purchasing": "2.0.3",
8 | "com.unity.textmeshpro": "1.3.0",
9 | "com.unity.modules.ai": "1.0.0",
10 | "com.unity.modules.animation": "1.0.0",
11 | "com.unity.modules.assetbundle": "1.0.0",
12 | "com.unity.modules.audio": "1.0.0",
13 | "com.unity.modules.cloth": "1.0.0",
14 | "com.unity.modules.director": "1.0.0",
15 | "com.unity.modules.imageconversion": "1.0.0",
16 | "com.unity.modules.imgui": "1.0.0",
17 | "com.unity.modules.jsonserialize": "1.0.0",
18 | "com.unity.modules.particlesystem": "1.0.0",
19 | "com.unity.modules.physics": "1.0.0",
20 | "com.unity.modules.physics2d": "1.0.0",
21 | "com.unity.modules.screencapture": "1.0.0",
22 | "com.unity.modules.terrain": "1.0.0",
23 | "com.unity.modules.terrainphysics": "1.0.0",
24 | "com.unity.modules.tilemap": "1.0.0",
25 | "com.unity.modules.ui": "1.0.0",
26 | "com.unity.modules.uielements": "1.0.0",
27 | "com.unity.modules.umbra": "1.0.0",
28 | "com.unity.modules.unityanalytics": "1.0.0",
29 | "com.unity.modules.unitywebrequest": "1.0.0",
30 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
31 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
32 | "com.unity.modules.unitywebrequesttexture": "1.0.0",
33 | "com.unity.modules.unitywebrequestwww": "1.0.0",
34 | "com.unity.modules.vehicles": "1.0.0",
35 | "com.unity.modules.video": "1.0.0",
36 | "com.unity.modules.vr": "1.0.0",
37 | "com.unity.modules.wind": "1.0.0",
38 | "com.unity.modules.xr": "1.0.0"
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/samples/solid-item-system/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 |
--------------------------------------------------------------------------------
/samples/solid-item-system/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 |
--------------------------------------------------------------------------------
/samples/solid-item-system/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 |
--------------------------------------------------------------------------------
/samples/solid-item-system/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 | m_configObjects: {}
9 |
--------------------------------------------------------------------------------
/samples/solid-item-system/ProjectSettings/EditorSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!159 &1
4 | EditorSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 7
7 | m_ExternalVersionControlSupport: Visible Meta Files
8 | m_SerializationMode: 2
9 | m_LineEndingsForNewScripts: 2
10 | m_DefaultBehaviorMode: 0
11 | m_SpritePackerMode: 0
12 | m_SpritePackerPaddingPower: 1
13 | m_EtcTextureCompressorBehavior: 1
14 | m_EtcTextureFastCompressor: 1
15 | m_EtcTextureNormalCompressor: 2
16 | m_EtcTextureBestCompressor: 4
17 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd
18 | m_ProjectGenerationRootNamespace:
19 | m_UserGeneratedProjectSuffix:
20 | m_CollabEditorSettings:
21 | inProgressEnabled: 1
22 |
--------------------------------------------------------------------------------
/samples/solid-item-system/ProjectSettings/GraphicsSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!30 &1
4 | GraphicsSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 12
7 | m_Deferred:
8 | m_Mode: 1
9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
10 | m_DeferredReflections:
11 | m_Mode: 1
12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
13 | m_ScreenSpaceShadows:
14 | m_Mode: 1
15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
16 | m_LegacyDeferred:
17 | m_Mode: 1
18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
19 | m_DepthNormals:
20 | m_Mode: 1
21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
22 | m_MotionVectors:
23 | m_Mode: 1
24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
25 | m_LightHalo:
26 | m_Mode: 1
27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
28 | m_LensFlare:
29 | m_Mode: 1
30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
31 | m_AlwaysIncludedShaders:
32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
38 | - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0}
39 | m_PreloadedShaders: []
40 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
41 | type: 0}
42 | m_CustomRenderPipeline: {fileID: 0}
43 | m_TransparencySortMode: 0
44 | m_TransparencySortAxis: {x: 0, y: 0, z: 1}
45 | m_DefaultRenderingPath: 1
46 | m_DefaultMobileRenderingPath: 1
47 | m_TierSettings: []
48 | m_LightmapStripping: 0
49 | m_FogStripping: 0
50 | m_InstancingStripping: 0
51 | m_LightmapKeepPlain: 1
52 | m_LightmapKeepDirCombined: 1
53 | m_LightmapKeepDynamicPlain: 1
54 | m_LightmapKeepDynamicDirCombined: 1
55 | m_LightmapKeepShadowMask: 1
56 | m_LightmapKeepSubtractive: 1
57 | m_FogKeepLinear: 1
58 | m_FogKeepExp: 1
59 | m_FogKeepExp2: 1
60 | m_AlbedoSwatchInfos: []
61 | m_LightsUseLinearIntensity: 0
62 | m_LightsUseColorTemperature: 0
63 |
--------------------------------------------------------------------------------
/samples/solid-item-system/ProjectSettings/InputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!13 &1
4 | InputManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Axes:
8 | - serializedVersion: 3
9 | m_Name: Horizontal
10 | descriptiveName:
11 | descriptiveNegativeName:
12 | negativeButton: left
13 | positiveButton: right
14 | altNegativeButton: a
15 | altPositiveButton: d
16 | gravity: 3
17 | dead: 0.001
18 | sensitivity: 3
19 | snap: 1
20 | invert: 0
21 | type: 0
22 | axis: 0
23 | joyNum: 0
24 | - serializedVersion: 3
25 | m_Name: Vertical
26 | descriptiveName:
27 | descriptiveNegativeName:
28 | negativeButton: down
29 | positiveButton: up
30 | altNegativeButton: s
31 | altPositiveButton: w
32 | gravity: 3
33 | dead: 0.001
34 | sensitivity: 3
35 | snap: 1
36 | invert: 0
37 | type: 0
38 | axis: 0
39 | joyNum: 0
40 | - serializedVersion: 3
41 | m_Name: Fire1
42 | descriptiveName:
43 | descriptiveNegativeName:
44 | negativeButton:
45 | positiveButton: left ctrl
46 | altNegativeButton:
47 | altPositiveButton: mouse 0
48 | gravity: 1000
49 | dead: 0.001
50 | sensitivity: 1000
51 | snap: 0
52 | invert: 0
53 | type: 0
54 | axis: 0
55 | joyNum: 0
56 | - serializedVersion: 3
57 | m_Name: Fire2
58 | descriptiveName:
59 | descriptiveNegativeName:
60 | negativeButton:
61 | positiveButton: left alt
62 | altNegativeButton:
63 | altPositiveButton: mouse 1
64 | gravity: 1000
65 | dead: 0.001
66 | sensitivity: 1000
67 | snap: 0
68 | invert: 0
69 | type: 0
70 | axis: 0
71 | joyNum: 0
72 | - serializedVersion: 3
73 | m_Name: Fire3
74 | descriptiveName:
75 | descriptiveNegativeName:
76 | negativeButton:
77 | positiveButton: left shift
78 | altNegativeButton:
79 | altPositiveButton: mouse 2
80 | gravity: 1000
81 | dead: 0.001
82 | sensitivity: 1000
83 | snap: 0
84 | invert: 0
85 | type: 0
86 | axis: 0
87 | joyNum: 0
88 | - serializedVersion: 3
89 | m_Name: Jump
90 | descriptiveName:
91 | descriptiveNegativeName:
92 | negativeButton:
93 | positiveButton: space
94 | altNegativeButton:
95 | altPositiveButton:
96 | gravity: 1000
97 | dead: 0.001
98 | sensitivity: 1000
99 | snap: 0
100 | invert: 0
101 | type: 0
102 | axis: 0
103 | joyNum: 0
104 | - serializedVersion: 3
105 | m_Name: Mouse X
106 | descriptiveName:
107 | descriptiveNegativeName:
108 | negativeButton:
109 | positiveButton:
110 | altNegativeButton:
111 | altPositiveButton:
112 | gravity: 0
113 | dead: 0
114 | sensitivity: 0.1
115 | snap: 0
116 | invert: 0
117 | type: 1
118 | axis: 0
119 | joyNum: 0
120 | - serializedVersion: 3
121 | m_Name: Mouse Y
122 | descriptiveName:
123 | descriptiveNegativeName:
124 | negativeButton:
125 | positiveButton:
126 | altNegativeButton:
127 | altPositiveButton:
128 | gravity: 0
129 | dead: 0
130 | sensitivity: 0.1
131 | snap: 0
132 | invert: 0
133 | type: 1
134 | axis: 1
135 | joyNum: 0
136 | - serializedVersion: 3
137 | m_Name: Mouse ScrollWheel
138 | descriptiveName:
139 | descriptiveNegativeName:
140 | negativeButton:
141 | positiveButton:
142 | altNegativeButton:
143 | altPositiveButton:
144 | gravity: 0
145 | dead: 0
146 | sensitivity: 0.1
147 | snap: 0
148 | invert: 0
149 | type: 1
150 | axis: 2
151 | joyNum: 0
152 | - serializedVersion: 3
153 | m_Name: Horizontal
154 | descriptiveName:
155 | descriptiveNegativeName:
156 | negativeButton:
157 | positiveButton:
158 | altNegativeButton:
159 | altPositiveButton:
160 | gravity: 0
161 | dead: 0.19
162 | sensitivity: 1
163 | snap: 0
164 | invert: 0
165 | type: 2
166 | axis: 0
167 | joyNum: 0
168 | - serializedVersion: 3
169 | m_Name: Vertical
170 | descriptiveName:
171 | descriptiveNegativeName:
172 | negativeButton:
173 | positiveButton:
174 | altNegativeButton:
175 | altPositiveButton:
176 | gravity: 0
177 | dead: 0.19
178 | sensitivity: 1
179 | snap: 0
180 | invert: 1
181 | type: 2
182 | axis: 1
183 | joyNum: 0
184 | - serializedVersion: 3
185 | m_Name: Fire1
186 | descriptiveName:
187 | descriptiveNegativeName:
188 | negativeButton:
189 | positiveButton: joystick button 0
190 | altNegativeButton:
191 | altPositiveButton:
192 | gravity: 1000
193 | dead: 0.001
194 | sensitivity: 1000
195 | snap: 0
196 | invert: 0
197 | type: 0
198 | axis: 0
199 | joyNum: 0
200 | - serializedVersion: 3
201 | m_Name: Fire2
202 | descriptiveName:
203 | descriptiveNegativeName:
204 | negativeButton:
205 | positiveButton: joystick button 1
206 | altNegativeButton:
207 | altPositiveButton:
208 | gravity: 1000
209 | dead: 0.001
210 | sensitivity: 1000
211 | snap: 0
212 | invert: 0
213 | type: 0
214 | axis: 0
215 | joyNum: 0
216 | - serializedVersion: 3
217 | m_Name: Fire3
218 | descriptiveName:
219 | descriptiveNegativeName:
220 | negativeButton:
221 | positiveButton: joystick button 2
222 | altNegativeButton:
223 | altPositiveButton:
224 | gravity: 1000
225 | dead: 0.001
226 | sensitivity: 1000
227 | snap: 0
228 | invert: 0
229 | type: 0
230 | axis: 0
231 | joyNum: 0
232 | - serializedVersion: 3
233 | m_Name: Jump
234 | descriptiveName:
235 | descriptiveNegativeName:
236 | negativeButton:
237 | positiveButton: joystick button 3
238 | altNegativeButton:
239 | altPositiveButton:
240 | gravity: 1000
241 | dead: 0.001
242 | sensitivity: 1000
243 | snap: 0
244 | invert: 0
245 | type: 0
246 | axis: 0
247 | joyNum: 0
248 | - serializedVersion: 3
249 | m_Name: Submit
250 | descriptiveName:
251 | descriptiveNegativeName:
252 | negativeButton:
253 | positiveButton: return
254 | altNegativeButton:
255 | altPositiveButton: joystick button 0
256 | gravity: 1000
257 | dead: 0.001
258 | sensitivity: 1000
259 | snap: 0
260 | invert: 0
261 | type: 0
262 | axis: 0
263 | joyNum: 0
264 | - serializedVersion: 3
265 | m_Name: Submit
266 | descriptiveName:
267 | descriptiveNegativeName:
268 | negativeButton:
269 | positiveButton: enter
270 | altNegativeButton:
271 | altPositiveButton: space
272 | gravity: 1000
273 | dead: 0.001
274 | sensitivity: 1000
275 | snap: 0
276 | invert: 0
277 | type: 0
278 | axis: 0
279 | joyNum: 0
280 | - serializedVersion: 3
281 | m_Name: Cancel
282 | descriptiveName:
283 | descriptiveNegativeName:
284 | negativeButton:
285 | positiveButton: escape
286 | altNegativeButton:
287 | altPositiveButton: joystick button 1
288 | gravity: 1000
289 | dead: 0.001
290 | sensitivity: 1000
291 | snap: 0
292 | invert: 0
293 | type: 0
294 | axis: 0
295 | joyNum: 0
296 |
--------------------------------------------------------------------------------
/samples/solid-item-system/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 |
--------------------------------------------------------------------------------
/samples/solid-item-system/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 |
--------------------------------------------------------------------------------
/samples/solid-item-system/ProjectSettings/Physics2DSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!19 &1
4 | Physics2DSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 4
7 | m_Gravity: {x: 0, y: -9.81}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_VelocityIterations: 8
10 | m_PositionIterations: 3
11 | m_VelocityThreshold: 1
12 | m_MaxLinearCorrection: 0.2
13 | m_MaxAngularCorrection: 8
14 | m_MaxTranslationSpeed: 100
15 | m_MaxRotationSpeed: 360
16 | m_BaumgarteScale: 0.2
17 | m_BaumgarteTimeOfImpactScale: 0.75
18 | m_TimeToSleep: 0.5
19 | m_LinearSleepTolerance: 0.01
20 | m_AngularSleepTolerance: 2
21 | m_DefaultContactOffset: 0.01
22 | m_AutoSimulation: 1
23 | m_QueriesHitTriggers: 1
24 | m_QueriesStartInColliders: 1
25 | m_ChangeStopsCallbacks: 0
26 | m_CallbacksOnDisable: 1
27 | m_ReuseCollisionCallbacks: 1
28 | m_AutoSyncTransforms: 0
29 | m_AlwaysShowColliders: 0
30 | m_ShowColliderSleep: 1
31 | m_ShowColliderContacts: 0
32 | m_ShowColliderAABB: 0
33 | m_ContactArrowScale: 0.2
34 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
35 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
36 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
37 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
38 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
39 |
--------------------------------------------------------------------------------
/samples/solid-item-system/ProjectSettings/PresetManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1386491679 &1
4 | PresetManager:
5 | m_ObjectHideFlags: 0
6 | m_DefaultList:
7 | - type:
8 | m_NativeTypeID: 108
9 | m_ManagedTypePPtr: {fileID: 0}
10 | m_ManagedTypeFallback:
11 | defaultPresets:
12 | - m_Preset: {fileID: 2655988077585873504, guid: c1cf8506f04ef2c4a88b64b6c4202eea,
13 | type: 2}
14 | - type:
15 | m_NativeTypeID: 1020
16 | m_ManagedTypePPtr: {fileID: 0}
17 | m_ManagedTypeFallback:
18 | defaultPresets:
19 | - m_Preset: {fileID: 2655988077585873504, guid: 0cd792cc87e492d43b4e95b205fc5cc6,
20 | type: 2}
21 | - type:
22 | m_NativeTypeID: 1006
23 | m_ManagedTypePPtr: {fileID: 0}
24 | m_ManagedTypeFallback:
25 | defaultPresets:
26 | - m_Preset: {fileID: 2655988077585873504, guid: 7a99f8aa944efe94cb9bd74562b7d5f9,
27 | type: 2}
28 |
--------------------------------------------------------------------------------
/samples/solid-item-system/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 2018.3.8f1
2 |
--------------------------------------------------------------------------------
/samples/solid-item-system/ProjectSettings/QualitySettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!47 &1
4 | QualitySettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 5
7 | m_CurrentQuality: 4
8 | m_QualitySettings:
9 | - serializedVersion: 2
10 | name: Very Low
11 | pixelLightCount: 0
12 | shadows: 0
13 | shadowResolution: 0
14 | shadowProjection: 1
15 | shadowCascades: 1
16 | shadowDistance: 15
17 | shadowNearPlaneOffset: 3
18 | shadowCascade2Split: 0.33333334
19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
20 | shadowmaskMode: 0
21 | blendWeights: 1
22 | textureQuality: 1
23 | anisotropicTextures: 0
24 | antiAliasing: 0
25 | softParticles: 0
26 | softVegetation: 0
27 | realtimeReflectionProbes: 0
28 | billboardsFaceCameraPosition: 0
29 | vSyncCount: 0
30 | lodBias: 0.3
31 | maximumLODLevel: 0
32 | particleRaycastBudget: 4
33 | asyncUploadTimeSlice: 2
34 | asyncUploadBufferSize: 16
35 | resolutionScalingFixedDPIFactor: 1
36 | excludedTargetPlatforms: []
37 | - serializedVersion: 2
38 | name: Low
39 | pixelLightCount: 0
40 | shadows: 0
41 | shadowResolution: 0
42 | shadowProjection: 1
43 | shadowCascades: 1
44 | shadowDistance: 20
45 | shadowNearPlaneOffset: 3
46 | shadowCascade2Split: 0.33333334
47 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
48 | shadowmaskMode: 0
49 | blendWeights: 2
50 | textureQuality: 0
51 | anisotropicTextures: 0
52 | antiAliasing: 0
53 | softParticles: 0
54 | softVegetation: 0
55 | realtimeReflectionProbes: 0
56 | billboardsFaceCameraPosition: 0
57 | vSyncCount: 0
58 | lodBias: 0.4
59 | maximumLODLevel: 0
60 | particleRaycastBudget: 16
61 | asyncUploadTimeSlice: 2
62 | asyncUploadBufferSize: 16
63 | resolutionScalingFixedDPIFactor: 1
64 | excludedTargetPlatforms: []
65 | - serializedVersion: 2
66 | name: Medium
67 | pixelLightCount: 1
68 | shadows: 1
69 | shadowResolution: 0
70 | shadowProjection: 1
71 | shadowCascades: 1
72 | shadowDistance: 20
73 | shadowNearPlaneOffset: 3
74 | shadowCascade2Split: 0.33333334
75 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
76 | shadowmaskMode: 0
77 | blendWeights: 2
78 | textureQuality: 0
79 | anisotropicTextures: 1
80 | antiAliasing: 0
81 | softParticles: 0
82 | softVegetation: 0
83 | realtimeReflectionProbes: 0
84 | billboardsFaceCameraPosition: 0
85 | vSyncCount: 1
86 | lodBias: 0.7
87 | maximumLODLevel: 0
88 | particleRaycastBudget: 64
89 | asyncUploadTimeSlice: 2
90 | asyncUploadBufferSize: 16
91 | resolutionScalingFixedDPIFactor: 1
92 | excludedTargetPlatforms: []
93 | - serializedVersion: 2
94 | name: High
95 | pixelLightCount: 2
96 | shadows: 2
97 | shadowResolution: 1
98 | shadowProjection: 1
99 | shadowCascades: 2
100 | shadowDistance: 40
101 | shadowNearPlaneOffset: 3
102 | shadowCascade2Split: 0.33333334
103 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
104 | shadowmaskMode: 1
105 | blendWeights: 2
106 | textureQuality: 0
107 | anisotropicTextures: 1
108 | antiAliasing: 2
109 | softParticles: 0
110 | softVegetation: 1
111 | realtimeReflectionProbes: 1
112 | billboardsFaceCameraPosition: 1
113 | vSyncCount: 1
114 | lodBias: 1
115 | maximumLODLevel: 0
116 | particleRaycastBudget: 256
117 | asyncUploadTimeSlice: 2
118 | asyncUploadBufferSize: 16
119 | resolutionScalingFixedDPIFactor: 1
120 | excludedTargetPlatforms: []
121 | - serializedVersion: 2
122 | name: Very High
123 | pixelLightCount: 3
124 | shadows: 2
125 | shadowResolution: 2
126 | shadowProjection: 1
127 | shadowCascades: 2
128 | shadowDistance: 40
129 | shadowNearPlaneOffset: 3
130 | shadowCascade2Split: 0.33333334
131 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
132 | shadowmaskMode: 1
133 | blendWeights: 4
134 | textureQuality: 0
135 | anisotropicTextures: 1
136 | antiAliasing: 4
137 | softParticles: 1
138 | softVegetation: 1
139 | realtimeReflectionProbes: 1
140 | billboardsFaceCameraPosition: 1
141 | vSyncCount: 1
142 | lodBias: 1.5
143 | maximumLODLevel: 0
144 | particleRaycastBudget: 1024
145 | asyncUploadTimeSlice: 2
146 | asyncUploadBufferSize: 16
147 | resolutionScalingFixedDPIFactor: 1
148 | excludedTargetPlatforms: []
149 | - serializedVersion: 2
150 | name: Ultra
151 | pixelLightCount: 4
152 | shadows: 2
153 | shadowResolution: 2
154 | shadowProjection: 1
155 | shadowCascades: 4
156 | shadowDistance: 150
157 | shadowNearPlaneOffset: 3
158 | shadowCascade2Split: 0.33333334
159 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
160 | shadowmaskMode: 1
161 | blendWeights: 4
162 | textureQuality: 0
163 | anisotropicTextures: 1
164 | antiAliasing: 4
165 | softParticles: 1
166 | softVegetation: 1
167 | realtimeReflectionProbes: 1
168 | billboardsFaceCameraPosition: 1
169 | vSyncCount: 1
170 | lodBias: 2
171 | maximumLODLevel: 0
172 | particleRaycastBudget: 4096
173 | asyncUploadTimeSlice: 2
174 | asyncUploadBufferSize: 16
175 | resolutionScalingFixedDPIFactor: 1
176 | excludedTargetPlatforms: []
177 | m_PerPlatformDefaultQuality:
178 | Android: 2
179 | Nintendo 3DS: 5
180 | Nintendo Switch: 5
181 | PS4: 5
182 | PSP2: 2
183 | Standalone: 5
184 | Tizen: 2
185 | WebGL: 3
186 | WiiU: 5
187 | Windows Store Apps: 5
188 | XboxOne: 5
189 | iPhone: 2
190 | tvOS: 2
191 |
--------------------------------------------------------------------------------
/samples/solid-item-system/ProjectSettings/TagManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!78 &1
4 | TagManager:
5 | serializedVersion: 2
6 | tags: []
7 | layers:
8 | - Default
9 | - TransparentFX
10 | - Ignore Raycast
11 | -
12 | - Water
13 | - UI
14 | -
15 | -
16 | - PostProcessing
17 | -
18 | -
19 | -
20 | -
21 | -
22 | -
23 | -
24 | -
25 | -
26 | -
27 | -
28 | -
29 | -
30 | -
31 | -
32 | -
33 | -
34 | -
35 | -
36 | -
37 | -
38 | -
39 | -
40 | m_SortingLayers:
41 | - name: Default
42 | uniqueID: 0
43 | locked: 0
44 |
--------------------------------------------------------------------------------
/samples/solid-item-system/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 |
--------------------------------------------------------------------------------
/samples/solid-item-system/ProjectSettings/UnityConnectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!310 &1
4 | UnityConnectSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 1
7 | m_Enabled: 0
8 | m_TestMode: 0
9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events
11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com
12 | m_TestInitMode: 0
13 | CrashReportingSettings:
14 | m_EventUrl: https://perf-events.cloud.unity3d.com
15 | m_Enabled: 0
16 | m_LogBufferSize: 10
17 | m_CaptureEditorExceptions: 1
18 | UnityPurchasingSettings:
19 | m_Enabled: 0
20 | m_TestMode: 0
21 | UnityAnalyticsSettings:
22 | m_Enabled: 0
23 | m_TestMode: 0
24 | m_InitializeOnStartup: 1
25 | UnityAdsSettings:
26 | m_Enabled: 0
27 | m_InitializeOnStartup: 1
28 | m_TestMode: 0
29 | m_IosGameId:
30 | m_AndroidGameId:
31 | m_GameIds: {}
32 | m_GameId:
33 | PerformanceReportingSettings:
34 | m_Enabled: 0
35 |
--------------------------------------------------------------------------------
/samples/solid-item-system/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 |
--------------------------------------------------------------------------------
/samples/solid-item-system/README.md:
--------------------------------------------------------------------------------
1 | # SOLID Item System
2 |
3 | Example project to showcase [SOLID](https://en.wikipedia.org/wiki/SOLID) usage for a ficticious item system. This is not a complete system!
4 |
5 | * Single Responsibility
6 | * Classes on this project should only have a single responsibility (as much as possible).
7 | * Open Closed
8 | * The available systems are fully open to extension with Interfaces and Abstract classes (e.g.: Create a new type of item inheriting from Item).
9 | * Liskov's Substitution
10 | * Diferent implementations of the same class are interchangeable (e.g.: classes Player and Character).
11 | * Interface Segregation
12 | * Interfaces only serve a single purpose, containing a few methods only but preferably a single method (e.g. interface IUsable).
13 | * Dependency Inversion
14 | * Each concrete class that inherits from Item (or one of its sub-classes) know exactly what to do when they are activated, instead of delegating this behaviour to another class (like Character or PlayerController, for example).
15 |
--------------------------------------------------------------------------------
/samples/solid-principles/.gitignore:
--------------------------------------------------------------------------------
1 | # This .gitignore file should be placed at the root of your Unity project directory
2 | #
3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
4 | #
5 | /[Ll]ibrary/
6 | /[Tt]emp/
7 | /[Oo]bj/
8 | /[Bb]uild/
9 | /[Bb]uilds/
10 | /[Ll]ogs/
11 | /[Mm]emoryCaptures/
12 |
13 | # Never ignore Asset meta data
14 | !/[Aa]ssets/**/*.meta
15 |
16 | # Uncomment this line if you wish to ignore the asset store tools plugin
17 | # /[Aa]ssets/AssetStoreTools*
18 |
19 | # TextMesh Pro files
20 | [Aa]ssets/TextMesh*Pro/
21 |
22 | # Autogenerated Jetbrains Rider plugin
23 | [Aa]ssets/Plugins/Editor/JetBrains*
24 |
25 | # Visual Studio cache directory
26 | .vs/
27 |
28 | # Gradle cache directory
29 | .gradle/
30 |
31 | # Autogenerated VS/MD/Consulo solution and project files
32 | ExportedObj/
33 | .consulo/
34 | *.csproj
35 | *.unityproj
36 | *.sln
37 | *.suo
38 | *.tmp
39 | *.user
40 | *.userprefs
41 | *.pidb
42 | *.booproj
43 | *.svd
44 | *.pdb
45 | *.mdb
46 | *.opendb
47 | *.VC.db
48 |
49 | # Unity3D generated meta files
50 | *.pidb.meta
51 | *.pdb.meta
52 | *.mdb.meta
53 |
54 | # Unity3D generated file on crash reports
55 | sysinfo.txt
56 |
57 | # Builds
58 | *.apk
59 | *.unitypackage
60 |
61 | # Crashlytics generated file
62 | crashlytics-build.properties
63 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7eef56ec6cfe86a439dd28dcadff015e
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Dependency Inversion.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b699f71f000935a4f9fd7c023322f7fd
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Dependency Inversion/After SOLID.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 55620de7189c2714c846821713a58792
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Dependency Inversion/After SOLID/Enemy.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.DependencyInversion.After
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public class Enemy : MonoBehaviour
7 | {
8 | public float Health = 1;
9 |
10 | private void OnCollisionEnter(Collision collision)
11 | {
12 | var shot = collision.gameObject.GetComponent();
13 | if (shot != null)
14 | {
15 | Health -= shot.Damage;
16 | }
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Dependency Inversion/After SOLID/Enemy.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e742f18dde665344b87fa0c051850ca3
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Dependency Inversion/After SOLID/RocketShot.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.DependencyInversion.After
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public class RocketShot : MonoBehaviour
7 | {
8 | //Do something explosive
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Dependency Inversion/After SOLID/RocketShot.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4f8dc98a2dd0ae946b64482d1e19d4d6
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Dependency Inversion/After SOLID/Score.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.DependencyInversion.After
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public class Score : MonoBehaviour
7 | {
8 | public float Points = 0f;
9 |
10 | public void ApplyDamageScore(ShotBehaviour shot)
11 | {
12 | Points += shot.Damage;
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Dependency Inversion/After SOLID/Score.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 45b0998f56923504fa3f8642ad5aed02
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Dependency Inversion/After SOLID/Shot.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.DependencyInversion.After
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public class Shot : MonoBehaviour
7 | {
8 | //Do something cool
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Dependency Inversion/After SOLID/Shot.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 479628768b677f341876569c99a03a73
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Dependency Inversion/After SOLID/ShotBehaviour.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.DependencyInversion.After
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public abstract class ShotBehaviour : MonoBehaviour
7 | {
8 | public float Damage = 1f;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Dependency Inversion/After SOLID/ShotBehaviour.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0c91eaffdd562024dad268002b9eba15
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Dependency Inversion/Before SOLID.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b84ab1f7eaa096d42888cd987b9fd56e
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Dependency Inversion/Before SOLID/Enemy.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.DependencyInversion.Before
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public class Enemy : MonoBehaviour
7 | {
8 | public float Health = 1;
9 |
10 | private void OnCollisionEnter(Collision collision)
11 | {
12 | var shot = collision.gameObject.GetComponent();
13 | if (shot != null)
14 | {
15 | Health -= shot.Damage;
16 | }
17 |
18 | var rocketShot = collision.gameObject.GetComponent();
19 | if (rocketShot != null)
20 | {
21 | Health -= rocketShot.Damage;
22 | }
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Dependency Inversion/Before SOLID/Enemy.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dfe33f3ab51fe9f47837e7fcbb42a38e
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Dependency Inversion/Before SOLID/RocketShot.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.DependencyInversion.Before
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public class RocketShot : MonoBehaviour
7 | {
8 | public float Damage = 1f;
9 | }
10 |
11 | //Do something explosive
12 | }
13 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Dependency Inversion/Before SOLID/RocketShot.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0745994511806434c97006019d0d98e0
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Dependency Inversion/Before SOLID/Score.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.DependencyInversion.Before
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public class Score : MonoBehaviour
7 | {
8 | public float Points = 0f;
9 |
10 | public void ApplyDamageScore(object shot)
11 | {
12 | if (shot is Shot)
13 | Points += ((Shot)shot).Damage;
14 | if (shot is RocketShot)
15 | Points += ((RocketShot)shot).Damage;
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Dependency Inversion/Before SOLID/Score.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ca31b899177787b42b5f96cb2d337735
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Dependency Inversion/Before SOLID/Shot.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.DependencyInversion.Before
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public class Shot : MonoBehaviour
7 | {
8 | public float Damage = 1f;
9 | }
10 |
11 | //Do something cool
12 | }
13 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Dependency Inversion/Before SOLID/Shot.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 12d87ed514bfd7045b775c6d58c1cd0a
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Interface Segregation.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b582c211ba79a9640a94cb07e1ede330
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Interface Segregation/After SOLID.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f2d48a7dac7e5f44d90d598e9a515df7
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Interface Segregation/After SOLID/Enemy.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.InterfaceSegregation.After
2 | {
3 |
4 | using UnityEngine;
5 |
6 | //Only implements the Load methods this class really needs, also improves readability
7 | public class Enemy : MonoBehaviour, ILoadableAsObject
8 | {
9 | public object LoadAsObject(string id)
10 | {
11 | throw new System.NotImplementedException();
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Interface Segregation/After SOLID/Enemy.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2e9ffc87b59957d42b0cf2452086a3f3
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Interface Segregation/After SOLID/ILoadableAsByteArray.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.InterfaceSegregation.After
2 | {
3 | public interface ILoadableAsByteArray
4 | {
5 | byte[] LoadAsByteArray(string id);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Interface Segregation/After SOLID/ILoadableAsByteArray.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 191384de17fe0d84f92b2b18cd984d7c
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Interface Segregation/After SOLID/ILoadableAsObject.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.InterfaceSegregation.After
2 | {
3 | public interface ILoadableAsObject
4 | {
5 | object LoadAsObject(string id);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Interface Segregation/After SOLID/ILoadableAsObject.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c1803a5620214d84581610dcb1c2d4f8
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Interface Segregation/After SOLID/ILoadableAsString.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.InterfaceSegregation.After
2 | {
3 | public interface ILoadableAsString
4 | {
5 | string LoadAsString(string id);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Interface Segregation/After SOLID/ILoadableAsString.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 36a8f78061771234aaf72cfda09bd5ee
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Interface Segregation/Before SOLID.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 28c428e96e0ab3c40b13ced1e1632968
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Interface Segregation/Before SOLID/Enemy.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.InterfaceSegregation.Before
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public class Enemy : MonoBehaviour, ILoadable
7 | {
8 | public byte[] LoadAsByteArray(string id)
9 | {
10 | throw new System.NotImplementedException();
11 | }
12 |
13 | public object LoadAsObject(string id)
14 | {
15 | throw new System.NotImplementedException();
16 | }
17 |
18 | public string LoadAsString(string id)
19 | {
20 | throw new System.NotImplementedException();
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Interface Segregation/Before SOLID/Enemy.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9ef1ad4dece38504d8dbdbe9e965bf2c
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Interface Segregation/Before SOLID/ILoadable.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.InterfaceSegregation.Before
2 | {
3 | public interface ILoadable
4 | {
5 | string LoadAsString(string id);
6 | byte[] LoadAsByteArray(string id);
7 | object LoadAsObject(string id);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Interface Segregation/Before SOLID/ILoadable.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3a8888dd3e668614da0dd6c42c9bd42c
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Liskov Substitution.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bbb321a130ed3024f8f655673db85ae8
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Liskov Substitution/After SOLID.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a93f07b0e522d2a4c887129b1c02cfb8
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Liskov Substitution/After SOLID/GameBoard.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.LiskovSubstitution.After
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public class GameBoard : MonoBehaviour
7 | {
8 | GameTile[,] Tiles = new GameTile[100, 100];
9 |
10 | public void SetTile(int x, int y, GameTile tile)
11 | {
12 | Tiles[x, y] = tile;
13 | }
14 |
15 | //Other methods
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Liskov Substitution/After SOLID/GameBoard.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ef16eff39da77e8458b9fcc646e08d60
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Liskov Substitution/After SOLID/GameBoard3D.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.LiskovSubstitution.After
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public class GameBoard3D : MonoBehaviour
7 | {
8 | GameTile[,,] Tiles3d = new GameTile[100, 100, 100];
9 |
10 | public void SetTile(int x, int y, int z, GameTile tile)
11 | {
12 | Tiles3d[x, y, z] = tile;
13 | }
14 |
15 | //Other methods
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Liskov Substitution/After SOLID/GameBoard3D.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 46bfaf663a6633e448f97c72e73ae29d
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Liskov Substitution/After SOLID/GameTile.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.LiskovSubstitution.After
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public class GameTile : MonoBehaviour
7 | {
8 |
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Liskov Substitution/After SOLID/GameTile.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 88e3ceb5fe8e1e6489f41d295b6095a6
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Liskov Substitution/Before SOLID.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 90dd985833855bf47a66cc44cb1bd7a8
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Liskov Substitution/Before SOLID/GameBoard.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.LiskovSubstitution.Before
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public class GameBoard : MonoBehaviour
7 | {
8 | GameTile[,] Tiles = new GameTile[100, 100];
9 |
10 | public void SetTile(int x, int y, GameTile tile)
11 | {
12 | Tiles[x, y] = tile;
13 | }
14 |
15 | //Other methods
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Liskov Substitution/Before SOLID/GameBoard.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 37d78df32d118484f88c0d1dff21869f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Liskov Substitution/Before SOLID/GameBoard3D.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.LiskovSubstitution.Before
2 | {
3 | //Tiles and SetTile(int x, int y, GameTile tile) still exists here (inherited from GameBoard),
4 | //so we have two "Tiles" variables and two "SetTile" methods.
5 | public class GameBoard3D : GameBoard
6 | {
7 | GameTile[,,] Tiles3d = new GameTile[100, 100, 100];
8 |
9 | public void SetTile(int x, int y, int z, GameTile tile)
10 | {
11 | Tiles3d[x, y, z] = tile;
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Liskov Substitution/Before SOLID/GameBoard3D.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 30c0228f7544eb04eb79f522705f0442
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Liskov Substitution/Before SOLID/GameTile.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.LiskovSubstitution.Before
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public class GameTile : MonoBehaviour
7 | {
8 |
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Liskov Substitution/Before SOLID/GameTile.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f8ac6c23d6657664188f7d8de3b928c0
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Open Closed.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 81c3084ed5f9a2a4c8c352f27ac7435f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Open Closed/After SOLID.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f752f253f444bbc42a762007a9b09ce1
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Open Closed/After SOLID/CircleShape.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace SampaioDias.SolidPrinciples.OpenClosed.After
4 | {
5 | public class CircleShape : ShapeBehaviour
6 | {
7 | public float Radius { get; set; }
8 |
9 | public override float Area()
10 | {
11 | return Radius * Radius * Mathf.PI;
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Open Closed/After SOLID/CircleShape.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 24f3b08998d63574db17a46f31e66667
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Open Closed/After SOLID/RectangleShape.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.OpenClosed.After
2 | {
3 | public class RectangleShape : ShapeBehaviour
4 | {
5 | public override float Area()
6 | {
7 | return Height * Width;
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Open Closed/After SOLID/RectangleShape.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 66b57d95c6bf34a4ea8eb0f2e966b942
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Open Closed/After SOLID/ShapeBehaviour.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.OpenClosed.After
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public abstract class ShapeBehaviour : MonoBehaviour
7 | {
8 | public float Height { get; set; }
9 | public float Width { get; set; }
10 |
11 | public abstract float Area();
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Open Closed/After SOLID/ShapeBehaviour.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d2889f7a37d833d45a51914cbf5db242
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Open Closed/Before SOLID.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dedf90777eab00242b79e48f929768bf
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Open Closed/Before SOLID/CircleShape.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.OpenClosed.Before
2 | {
3 | public class CircleShape : ShapeBehaviour
4 | {
5 | public float Radius { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Open Closed/Before SOLID/CircleShape.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e6f26f7f9260cb64388c0faa628b8ab5
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Open Closed/Before SOLID/RectangleShape.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.OpenClosed.Before
2 | {
3 | public class RectangleShape : ShapeBehaviour
4 | {
5 |
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Open Closed/Before SOLID/RectangleShape.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bf26ecf86b80b5442921a9085d4b408b
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Open Closed/Before SOLID/ShapeBehaviour.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.OpenClosed.Before
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public class ShapeBehaviour : MonoBehaviour
7 | {
8 | public float Height { get; set; }
9 | public float Width { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Open Closed/Before SOLID/ShapeBehaviour.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b2fd595142d52374cb8e4714fd2c5b73
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Open Closed/Before SOLID/ShapeTools.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace SampaioDias.SolidPrinciples.OpenClosed.Before
4 | {
5 | public class ShapeTools
6 | {
7 | public static float Area(ShapeBehaviour shape)
8 | {
9 | if (shape is RectangleShape)
10 | {
11 | return shape.Height * shape.Width;
12 | }
13 |
14 | if (shape is CircleShape)
15 | {
16 | var radius = ((CircleShape)shape).Radius;
17 | return radius * radius * Mathf.PI;
18 | }
19 |
20 | throw new System.NotImplementedException(shape.GetType().Name + " is not implemented yet in ShapeTools.Area()");
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Open Closed/Before SOLID/ShapeTools.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7ce15fb6bf8d774448cb6492e3332327
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Single Responsibility.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 94aa9649384aac747b71df6205b7d5c2
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Single Responsibility/After SOLID.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ef00c40755b302749b16e73cac57edea
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Single Responsibility/After SOLID/Enemy.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.SingleResponsibility.After
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public class Enemy : MonoBehaviour
7 | {
8 | public UnitHealth health;
9 | public UnitMovement movement;
10 |
11 | //Enemy methods
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Single Responsibility/After SOLID/Enemy.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b7378449bf0febb4cae7ca73bf3fd56c
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Single Responsibility/After SOLID/Player.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.SingleResponsibility.After
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public class Player : MonoBehaviour
7 | {
8 | public UnitHealth health;
9 | public UnitMovement movement;
10 |
11 | //Player methods
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Single Responsibility/After SOLID/Player.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6b7d5b62f4fd45047bd06fe7e88d3942
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Single Responsibility/After SOLID/Spawner.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.SingleResponsibility.After
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public class Spawner : MonoBehaviour
7 | {
8 | public int EnemySpawnCount = 20;
9 | public int Level = 1;
10 |
11 | //Spawner methods
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Single Responsibility/After SOLID/Spawner.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4d46c993706f04841b969767364bab94
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Single Responsibility/After SOLID/UnitHealth.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.SingleResponsibility.After
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public class UnitHealth : MonoBehaviour
7 | {
8 | public float CurrentValue;
9 | public float MaxValue;
10 |
11 | //Health methods (Damage, Heal, etc.)
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Single Responsibility/After SOLID/UnitHealth.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5fdf9e9dfc8c65542b3ec8f9ea806aa5
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Single Responsibility/After SOLID/UnitMovement.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.SingleResponsibility.After
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public class UnitMovement : MonoBehaviour
7 | {
8 | public float Speed = 10f;
9 |
10 | //Movement methods
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Single Responsibility/After SOLID/UnitMovement.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: da9eb72ad9be803418aac04f309060b4
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Single Responsibility/Before SOLID.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 89a6b9776657e664bb9f5348f547f8eb
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Single Responsibility/Before SOLID/Game.cs:
--------------------------------------------------------------------------------
1 | namespace SampaioDias.SolidPrinciples.SingleResponsibility.Before
2 | {
3 |
4 | using UnityEngine;
5 |
6 | public class Game : MonoBehaviour
7 | {
8 | public float EnemySpeed = 1f;
9 | public float PlayerSpeed = 1f;
10 | public int EnemySpawnCount = 20;
11 | public int Level = 1;
12 | public float MaxHealth = 100f;
13 | public float Health = 100f;
14 |
15 | //Bunch of methods
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/samples/solid-principles/Assets/Scripts/Single Responsibility/Before SOLID/Game.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b2292e7c8ec7c9247aea7cd3228548db
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/samples/solid-principles/Packages/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "com.unity.ads": "2.0.8",
4 | "com.unity.analytics": "3.2.2",
5 | "com.unity.collab-proxy": "1.2.15",
6 | "com.unity.package-manager-ui": "2.0.3",
7 | "com.unity.purchasing": "2.0.3",
8 | "com.unity.textmeshpro": "1.3.0",
9 | "com.unity.modules.ai": "1.0.0",
10 | "com.unity.modules.animation": "1.0.0",
11 | "com.unity.modules.assetbundle": "1.0.0",
12 | "com.unity.modules.audio": "1.0.0",
13 | "com.unity.modules.cloth": "1.0.0",
14 | "com.unity.modules.director": "1.0.0",
15 | "com.unity.modules.imageconversion": "1.0.0",
16 | "com.unity.modules.imgui": "1.0.0",
17 | "com.unity.modules.jsonserialize": "1.0.0",
18 | "com.unity.modules.particlesystem": "1.0.0",
19 | "com.unity.modules.physics": "1.0.0",
20 | "com.unity.modules.physics2d": "1.0.0",
21 | "com.unity.modules.screencapture": "1.0.0",
22 | "com.unity.modules.terrain": "1.0.0",
23 | "com.unity.modules.terrainphysics": "1.0.0",
24 | "com.unity.modules.tilemap": "1.0.0",
25 | "com.unity.modules.ui": "1.0.0",
26 | "com.unity.modules.uielements": "1.0.0",
27 | "com.unity.modules.umbra": "1.0.0",
28 | "com.unity.modules.unityanalytics": "1.0.0",
29 | "com.unity.modules.unitywebrequest": "1.0.0",
30 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
31 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
32 | "com.unity.modules.unitywebrequesttexture": "1.0.0",
33 | "com.unity.modules.unitywebrequestwww": "1.0.0",
34 | "com.unity.modules.vehicles": "1.0.0",
35 | "com.unity.modules.video": "1.0.0",
36 | "com.unity.modules.vr": "1.0.0",
37 | "com.unity.modules.wind": "1.0.0",
38 | "com.unity.modules.xr": "1.0.0"
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/samples/solid-principles/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 |
--------------------------------------------------------------------------------
/samples/solid-principles/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 |
--------------------------------------------------------------------------------
/samples/solid-principles/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 |
--------------------------------------------------------------------------------
/samples/solid-principles/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 | m_configObjects: {}
9 |
--------------------------------------------------------------------------------
/samples/solid-principles/ProjectSettings/EditorSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!159 &1
4 | EditorSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 7
7 | m_ExternalVersionControlSupport: Visible Meta Files
8 | m_SerializationMode: 2
9 | m_LineEndingsForNewScripts: 2
10 | m_DefaultBehaviorMode: 0
11 | m_SpritePackerMode: 0
12 | m_SpritePackerPaddingPower: 1
13 | m_EtcTextureCompressorBehavior: 1
14 | m_EtcTextureFastCompressor: 1
15 | m_EtcTextureNormalCompressor: 2
16 | m_EtcTextureBestCompressor: 4
17 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd
18 | m_ProjectGenerationRootNamespace:
19 | m_UserGeneratedProjectSuffix:
20 | m_CollabEditorSettings:
21 | inProgressEnabled: 1
22 |
--------------------------------------------------------------------------------
/samples/solid-principles/ProjectSettings/GraphicsSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!30 &1
4 | GraphicsSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 12
7 | m_Deferred:
8 | m_Mode: 1
9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
10 | m_DeferredReflections:
11 | m_Mode: 1
12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
13 | m_ScreenSpaceShadows:
14 | m_Mode: 1
15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
16 | m_LegacyDeferred:
17 | m_Mode: 1
18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
19 | m_DepthNormals:
20 | m_Mode: 1
21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
22 | m_MotionVectors:
23 | m_Mode: 1
24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
25 | m_LightHalo:
26 | m_Mode: 1
27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
28 | m_LensFlare:
29 | m_Mode: 1
30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
31 | m_AlwaysIncludedShaders:
32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
38 | - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0}
39 | m_PreloadedShaders: []
40 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
41 | type: 0}
42 | m_CustomRenderPipeline: {fileID: 0}
43 | m_TransparencySortMode: 0
44 | m_TransparencySortAxis: {x: 0, y: 0, z: 1}
45 | m_DefaultRenderingPath: 1
46 | m_DefaultMobileRenderingPath: 1
47 | m_TierSettings: []
48 | m_LightmapStripping: 0
49 | m_FogStripping: 0
50 | m_InstancingStripping: 0
51 | m_LightmapKeepPlain: 1
52 | m_LightmapKeepDirCombined: 1
53 | m_LightmapKeepDynamicPlain: 1
54 | m_LightmapKeepDynamicDirCombined: 1
55 | m_LightmapKeepShadowMask: 1
56 | m_LightmapKeepSubtractive: 1
57 | m_FogKeepLinear: 1
58 | m_FogKeepExp: 1
59 | m_FogKeepExp2: 1
60 | m_AlbedoSwatchInfos: []
61 | m_LightsUseLinearIntensity: 0
62 | m_LightsUseColorTemperature: 0
63 |
--------------------------------------------------------------------------------
/samples/solid-principles/ProjectSettings/InputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!13 &1
4 | InputManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Axes:
8 | - serializedVersion: 3
9 | m_Name: Horizontal
10 | descriptiveName:
11 | descriptiveNegativeName:
12 | negativeButton: left
13 | positiveButton: right
14 | altNegativeButton: a
15 | altPositiveButton: d
16 | gravity: 3
17 | dead: 0.001
18 | sensitivity: 3
19 | snap: 1
20 | invert: 0
21 | type: 0
22 | axis: 0
23 | joyNum: 0
24 | - serializedVersion: 3
25 | m_Name: Vertical
26 | descriptiveName:
27 | descriptiveNegativeName:
28 | negativeButton: down
29 | positiveButton: up
30 | altNegativeButton: s
31 | altPositiveButton: w
32 | gravity: 3
33 | dead: 0.001
34 | sensitivity: 3
35 | snap: 1
36 | invert: 0
37 | type: 0
38 | axis: 0
39 | joyNum: 0
40 | - serializedVersion: 3
41 | m_Name: Fire1
42 | descriptiveName:
43 | descriptiveNegativeName:
44 | negativeButton:
45 | positiveButton: left ctrl
46 | altNegativeButton:
47 | altPositiveButton: mouse 0
48 | gravity: 1000
49 | dead: 0.001
50 | sensitivity: 1000
51 | snap: 0
52 | invert: 0
53 | type: 0
54 | axis: 0
55 | joyNum: 0
56 | - serializedVersion: 3
57 | m_Name: Fire2
58 | descriptiveName:
59 | descriptiveNegativeName:
60 | negativeButton:
61 | positiveButton: left alt
62 | altNegativeButton:
63 | altPositiveButton: mouse 1
64 | gravity: 1000
65 | dead: 0.001
66 | sensitivity: 1000
67 | snap: 0
68 | invert: 0
69 | type: 0
70 | axis: 0
71 | joyNum: 0
72 | - serializedVersion: 3
73 | m_Name: Fire3
74 | descriptiveName:
75 | descriptiveNegativeName:
76 | negativeButton:
77 | positiveButton: left shift
78 | altNegativeButton:
79 | altPositiveButton: mouse 2
80 | gravity: 1000
81 | dead: 0.001
82 | sensitivity: 1000
83 | snap: 0
84 | invert: 0
85 | type: 0
86 | axis: 0
87 | joyNum: 0
88 | - serializedVersion: 3
89 | m_Name: Jump
90 | descriptiveName:
91 | descriptiveNegativeName:
92 | negativeButton:
93 | positiveButton: space
94 | altNegativeButton:
95 | altPositiveButton:
96 | gravity: 1000
97 | dead: 0.001
98 | sensitivity: 1000
99 | snap: 0
100 | invert: 0
101 | type: 0
102 | axis: 0
103 | joyNum: 0
104 | - serializedVersion: 3
105 | m_Name: Mouse X
106 | descriptiveName:
107 | descriptiveNegativeName:
108 | negativeButton:
109 | positiveButton:
110 | altNegativeButton:
111 | altPositiveButton:
112 | gravity: 0
113 | dead: 0
114 | sensitivity: 0.1
115 | snap: 0
116 | invert: 0
117 | type: 1
118 | axis: 0
119 | joyNum: 0
120 | - serializedVersion: 3
121 | m_Name: Mouse Y
122 | descriptiveName:
123 | descriptiveNegativeName:
124 | negativeButton:
125 | positiveButton:
126 | altNegativeButton:
127 | altPositiveButton:
128 | gravity: 0
129 | dead: 0
130 | sensitivity: 0.1
131 | snap: 0
132 | invert: 0
133 | type: 1
134 | axis: 1
135 | joyNum: 0
136 | - serializedVersion: 3
137 | m_Name: Mouse ScrollWheel
138 | descriptiveName:
139 | descriptiveNegativeName:
140 | negativeButton:
141 | positiveButton:
142 | altNegativeButton:
143 | altPositiveButton:
144 | gravity: 0
145 | dead: 0
146 | sensitivity: 0.1
147 | snap: 0
148 | invert: 0
149 | type: 1
150 | axis: 2
151 | joyNum: 0
152 | - serializedVersion: 3
153 | m_Name: Horizontal
154 | descriptiveName:
155 | descriptiveNegativeName:
156 | negativeButton:
157 | positiveButton:
158 | altNegativeButton:
159 | altPositiveButton:
160 | gravity: 0
161 | dead: 0.19
162 | sensitivity: 1
163 | snap: 0
164 | invert: 0
165 | type: 2
166 | axis: 0
167 | joyNum: 0
168 | - serializedVersion: 3
169 | m_Name: Vertical
170 | descriptiveName:
171 | descriptiveNegativeName:
172 | negativeButton:
173 | positiveButton:
174 | altNegativeButton:
175 | altPositiveButton:
176 | gravity: 0
177 | dead: 0.19
178 | sensitivity: 1
179 | snap: 0
180 | invert: 1
181 | type: 2
182 | axis: 1
183 | joyNum: 0
184 | - serializedVersion: 3
185 | m_Name: Fire1
186 | descriptiveName:
187 | descriptiveNegativeName:
188 | negativeButton:
189 | positiveButton: joystick button 0
190 | altNegativeButton:
191 | altPositiveButton:
192 | gravity: 1000
193 | dead: 0.001
194 | sensitivity: 1000
195 | snap: 0
196 | invert: 0
197 | type: 0
198 | axis: 0
199 | joyNum: 0
200 | - serializedVersion: 3
201 | m_Name: Fire2
202 | descriptiveName:
203 | descriptiveNegativeName:
204 | negativeButton:
205 | positiveButton: joystick button 1
206 | altNegativeButton:
207 | altPositiveButton:
208 | gravity: 1000
209 | dead: 0.001
210 | sensitivity: 1000
211 | snap: 0
212 | invert: 0
213 | type: 0
214 | axis: 0
215 | joyNum: 0
216 | - serializedVersion: 3
217 | m_Name: Fire3
218 | descriptiveName:
219 | descriptiveNegativeName:
220 | negativeButton:
221 | positiveButton: joystick button 2
222 | altNegativeButton:
223 | altPositiveButton:
224 | gravity: 1000
225 | dead: 0.001
226 | sensitivity: 1000
227 | snap: 0
228 | invert: 0
229 | type: 0
230 | axis: 0
231 | joyNum: 0
232 | - serializedVersion: 3
233 | m_Name: Jump
234 | descriptiveName:
235 | descriptiveNegativeName:
236 | negativeButton:
237 | positiveButton: joystick button 3
238 | altNegativeButton:
239 | altPositiveButton:
240 | gravity: 1000
241 | dead: 0.001
242 | sensitivity: 1000
243 | snap: 0
244 | invert: 0
245 | type: 0
246 | axis: 0
247 | joyNum: 0
248 | - serializedVersion: 3
249 | m_Name: Submit
250 | descriptiveName:
251 | descriptiveNegativeName:
252 | negativeButton:
253 | positiveButton: return
254 | altNegativeButton:
255 | altPositiveButton: joystick button 0
256 | gravity: 1000
257 | dead: 0.001
258 | sensitivity: 1000
259 | snap: 0
260 | invert: 0
261 | type: 0
262 | axis: 0
263 | joyNum: 0
264 | - serializedVersion: 3
265 | m_Name: Submit
266 | descriptiveName:
267 | descriptiveNegativeName:
268 | negativeButton:
269 | positiveButton: enter
270 | altNegativeButton:
271 | altPositiveButton: space
272 | gravity: 1000
273 | dead: 0.001
274 | sensitivity: 1000
275 | snap: 0
276 | invert: 0
277 | type: 0
278 | axis: 0
279 | joyNum: 0
280 | - serializedVersion: 3
281 | m_Name: Cancel
282 | descriptiveName:
283 | descriptiveNegativeName:
284 | negativeButton:
285 | positiveButton: escape
286 | altNegativeButton:
287 | altPositiveButton: joystick button 1
288 | gravity: 1000
289 | dead: 0.001
290 | sensitivity: 1000
291 | snap: 0
292 | invert: 0
293 | type: 0
294 | axis: 0
295 | joyNum: 0
296 |
--------------------------------------------------------------------------------
/samples/solid-principles/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 |
--------------------------------------------------------------------------------
/samples/solid-principles/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 |
--------------------------------------------------------------------------------
/samples/solid-principles/ProjectSettings/Physics2DSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!19 &1
4 | Physics2DSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 4
7 | m_Gravity: {x: 0, y: -9.81}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_VelocityIterations: 8
10 | m_PositionIterations: 3
11 | m_VelocityThreshold: 1
12 | m_MaxLinearCorrection: 0.2
13 | m_MaxAngularCorrection: 8
14 | m_MaxTranslationSpeed: 100
15 | m_MaxRotationSpeed: 360
16 | m_BaumgarteScale: 0.2
17 | m_BaumgarteTimeOfImpactScale: 0.75
18 | m_TimeToSleep: 0.5
19 | m_LinearSleepTolerance: 0.01
20 | m_AngularSleepTolerance: 2
21 | m_DefaultContactOffset: 0.01
22 | m_AutoSimulation: 1
23 | m_QueriesHitTriggers: 1
24 | m_QueriesStartInColliders: 1
25 | m_ChangeStopsCallbacks: 0
26 | m_CallbacksOnDisable: 1
27 | m_ReuseCollisionCallbacks: 1
28 | m_AutoSyncTransforms: 0
29 | m_AlwaysShowColliders: 0
30 | m_ShowColliderSleep: 1
31 | m_ShowColliderContacts: 0
32 | m_ShowColliderAABB: 0
33 | m_ContactArrowScale: 0.2
34 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
35 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
36 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
37 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
38 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
39 |
--------------------------------------------------------------------------------
/samples/solid-principles/ProjectSettings/PresetManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1386491679 &1
4 | PresetManager:
5 | m_ObjectHideFlags: 0
6 | m_DefaultList:
7 | - type:
8 | m_NativeTypeID: 108
9 | m_ManagedTypePPtr: {fileID: 0}
10 | m_ManagedTypeFallback:
11 | defaultPresets:
12 | - m_Preset: {fileID: 2655988077585873504, guid: c1cf8506f04ef2c4a88b64b6c4202eea,
13 | type: 2}
14 | - type:
15 | m_NativeTypeID: 1020
16 | m_ManagedTypePPtr: {fileID: 0}
17 | m_ManagedTypeFallback:
18 | defaultPresets:
19 | - m_Preset: {fileID: 2655988077585873504, guid: 0cd792cc87e492d43b4e95b205fc5cc6,
20 | type: 2}
21 | - type:
22 | m_NativeTypeID: 1006
23 | m_ManagedTypePPtr: {fileID: 0}
24 | m_ManagedTypeFallback:
25 | defaultPresets:
26 | - m_Preset: {fileID: 2655988077585873504, guid: 7a99f8aa944efe94cb9bd74562b7d5f9,
27 | type: 2}
28 |
--------------------------------------------------------------------------------
/samples/solid-principles/ProjectSettings/ProjectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!129 &1
4 | PlayerSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 15
7 | productGUID: 74050cf486034094980ca872385684f2
8 | AndroidProfiler: 0
9 | AndroidFilterTouchesWhenObscured: 0
10 | AndroidEnableSustainedPerformanceMode: 0
11 | defaultScreenOrientation: 4
12 | targetDevice: 2
13 | useOnDemandResources: 0
14 | accelerometerFrequency: 60
15 | companyName: DefaultCompany
16 | productName: solid-principles
17 | defaultCursor: {fileID: 0}
18 | cursorHotspot: {x: 0, y: 0}
19 | m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}
20 | m_ShowUnitySplashScreen: 1
21 | m_ShowUnitySplashLogo: 1
22 | m_SplashScreenOverlayOpacity: 1
23 | m_SplashScreenAnimation: 1
24 | m_SplashScreenLogoStyle: 1
25 | m_SplashScreenDrawMode: 0
26 | m_SplashScreenBackgroundAnimationZoom: 1
27 | m_SplashScreenLogoAnimationZoom: 1
28 | m_SplashScreenBackgroundLandscapeAspect: 1
29 | m_SplashScreenBackgroundPortraitAspect: 1
30 | m_SplashScreenBackgroundLandscapeUvs:
31 | serializedVersion: 2
32 | x: 0
33 | y: 0
34 | width: 1
35 | height: 1
36 | m_SplashScreenBackgroundPortraitUvs:
37 | serializedVersion: 2
38 | x: 0
39 | y: 0
40 | width: 1
41 | height: 1
42 | m_SplashScreenLogos: []
43 | m_VirtualRealitySplashScreen: {fileID: 0}
44 | m_HolographicTrackingLossScreen: {fileID: 0}
45 | defaultScreenWidth: 1024
46 | defaultScreenHeight: 768
47 | defaultScreenWidthWeb: 960
48 | defaultScreenHeightWeb: 600
49 | m_StereoRenderingPath: 0
50 | m_ActiveColorSpace: 0
51 | m_MTRendering: 1
52 | m_StackTraceTypes: 010000000100000001000000010000000100000001000000
53 | iosShowActivityIndicatorOnLoading: -1
54 | androidShowActivityIndicatorOnLoading: -1
55 | iosAppInBackgroundBehavior: 0
56 | displayResolutionDialog: 1
57 | iosAllowHTTPDownload: 1
58 | allowedAutorotateToPortrait: 1
59 | allowedAutorotateToPortraitUpsideDown: 1
60 | allowedAutorotateToLandscapeRight: 1
61 | allowedAutorotateToLandscapeLeft: 1
62 | useOSAutorotation: 1
63 | use32BitDisplayBuffer: 1
64 | preserveFramebufferAlpha: 0
65 | disableDepthAndStencilBuffers: 0
66 | androidStartInFullscreen: 1
67 | androidRenderOutsideSafeArea: 0
68 | androidBlitType: 0
69 | defaultIsNativeResolution: 1
70 | macRetinaSupport: 1
71 | runInBackground: 1
72 | captureSingleScreen: 0
73 | muteOtherAudioSources: 0
74 | Prepare IOS For Recording: 0
75 | Force IOS Speakers When Recording: 0
76 | deferSystemGesturesMode: 0
77 | hideHomeButton: 0
78 | submitAnalytics: 1
79 | usePlayerLog: 1
80 | bakeCollisionMeshes: 0
81 | forceSingleInstance: 0
82 | resizableWindow: 0
83 | useMacAppStoreValidation: 0
84 | macAppStoreCategory: public.app-category.games
85 | gpuSkinning: 1
86 | graphicsJobs: 0
87 | xboxPIXTextureCapture: 0
88 | xboxEnableAvatar: 0
89 | xboxEnableKinect: 0
90 | xboxEnableKinectAutoTracking: 0
91 | xboxEnableFitness: 0
92 | visibleInBackground: 1
93 | allowFullscreenSwitch: 1
94 | graphicsJobMode: 0
95 | fullscreenMode: 1
96 | xboxSpeechDB: 0
97 | xboxEnableHeadOrientation: 0
98 | xboxEnableGuest: 0
99 | xboxEnablePIXSampling: 0
100 | metalFramebufferOnly: 0
101 | xboxOneResolution: 0
102 | xboxOneSResolution: 0
103 | xboxOneXResolution: 3
104 | xboxOneMonoLoggingLevel: 0
105 | xboxOneLoggingLevel: 1
106 | xboxOneDisableEsram: 0
107 | xboxOnePresentImmediateThreshold: 0
108 | switchQueueCommandMemory: 0
109 | switchQueueControlMemory: 16384
110 | switchQueueComputeMemory: 262144
111 | switchNVNShaderPoolsGranularity: 33554432
112 | switchNVNDefaultPoolsGranularity: 16777216
113 | switchNVNOtherPoolsGranularity: 16777216
114 | vulkanEnableSetSRGBWrite: 0
115 | m_SupportedAspectRatios:
116 | 4:3: 1
117 | 5:4: 1
118 | 16:10: 1
119 | 16:9: 1
120 | Others: 1
121 | bundleVersion: 0.1
122 | preloadedAssets: []
123 | metroInputSource: 0
124 | wsaTransparentSwapchain: 0
125 | m_HolographicPauseOnTrackingLoss: 1
126 | xboxOneDisableKinectGpuReservation: 1
127 | xboxOneEnable7thCore: 1
128 | isWsaHolographicRemotingEnabled: 0
129 | vrSettings:
130 | cardboard:
131 | depthFormat: 0
132 | enableTransitionView: 0
133 | daydream:
134 | depthFormat: 0
135 | useSustainedPerformanceMode: 0
136 | enableVideoLayer: 0
137 | useProtectedVideoMemory: 0
138 | minimumSupportedHeadTracking: 0
139 | maximumSupportedHeadTracking: 1
140 | hololens:
141 | depthFormat: 1
142 | depthBufferSharingEnabled: 1
143 | oculus:
144 | sharedDepthBuffer: 1
145 | dashSupport: 1
146 | enable360StereoCapture: 0
147 | protectGraphicsMemory: 0
148 | enableFrameTimingStats: 0
149 | useHDRDisplay: 0
150 | m_ColorGamuts: 00000000
151 | targetPixelDensity: 30
152 | resolutionScalingMode: 0
153 | androidSupportedAspectRatio: 1
154 | androidMaxAspectRatio: 2.1
155 | applicationIdentifier: {}
156 | buildNumber: {}
157 | AndroidBundleVersionCode: 1
158 | AndroidMinSdkVersion: 16
159 | AndroidTargetSdkVersion: 0
160 | AndroidPreferredInstallLocation: 1
161 | aotOptions:
162 | stripEngineCode: 1
163 | iPhoneStrippingLevel: 0
164 | iPhoneScriptCallOptimization: 0
165 | ForceInternetPermission: 0
166 | ForceSDCardPermission: 0
167 | CreateWallpaper: 0
168 | APKExpansionFiles: 0
169 | keepLoadedShadersAlive: 0
170 | StripUnusedMeshComponents: 1
171 | VertexChannelCompressionMask: 4054
172 | iPhoneSdkVersion: 988
173 | iOSTargetOSVersionString: 9.0
174 | tvOSSdkVersion: 0
175 | tvOSRequireExtendedGameController: 0
176 | tvOSTargetOSVersionString: 9.0
177 | uIPrerenderedIcon: 0
178 | uIRequiresPersistentWiFi: 0
179 | uIRequiresFullScreen: 1
180 | uIStatusBarHidden: 1
181 | uIExitOnSuspend: 0
182 | uIStatusBarStyle: 0
183 | iPhoneSplashScreen: {fileID: 0}
184 | iPhoneHighResSplashScreen: {fileID: 0}
185 | iPhoneTallHighResSplashScreen: {fileID: 0}
186 | iPhone47inSplashScreen: {fileID: 0}
187 | iPhone55inPortraitSplashScreen: {fileID: 0}
188 | iPhone55inLandscapeSplashScreen: {fileID: 0}
189 | iPhone58inPortraitSplashScreen: {fileID: 0}
190 | iPhone58inLandscapeSplashScreen: {fileID: 0}
191 | iPadPortraitSplashScreen: {fileID: 0}
192 | iPadHighResPortraitSplashScreen: {fileID: 0}
193 | iPadLandscapeSplashScreen: {fileID: 0}
194 | iPadHighResLandscapeSplashScreen: {fileID: 0}
195 | appleTVSplashScreen: {fileID: 0}
196 | appleTVSplashScreen2x: {fileID: 0}
197 | tvOSSmallIconLayers: []
198 | tvOSSmallIconLayers2x: []
199 | tvOSLargeIconLayers: []
200 | tvOSLargeIconLayers2x: []
201 | tvOSTopShelfImageLayers: []
202 | tvOSTopShelfImageLayers2x: []
203 | tvOSTopShelfImageWideLayers: []
204 | tvOSTopShelfImageWideLayers2x: []
205 | iOSLaunchScreenType: 0
206 | iOSLaunchScreenPortrait: {fileID: 0}
207 | iOSLaunchScreenLandscape: {fileID: 0}
208 | iOSLaunchScreenBackgroundColor:
209 | serializedVersion: 2
210 | rgba: 0
211 | iOSLaunchScreenFillPct: 100
212 | iOSLaunchScreenSize: 100
213 | iOSLaunchScreenCustomXibPath:
214 | iOSLaunchScreeniPadType: 0
215 | iOSLaunchScreeniPadImage: {fileID: 0}
216 | iOSLaunchScreeniPadBackgroundColor:
217 | serializedVersion: 2
218 | rgba: 0
219 | iOSLaunchScreeniPadFillPct: 100
220 | iOSLaunchScreeniPadSize: 100
221 | iOSLaunchScreeniPadCustomXibPath:
222 | iOSUseLaunchScreenStoryboard: 0
223 | iOSLaunchScreenCustomStoryboardPath:
224 | iOSDeviceRequirements: []
225 | iOSURLSchemes: []
226 | iOSBackgroundModes: 0
227 | iOSMetalForceHardShadows: 0
228 | metalEditorSupport: 1
229 | metalAPIValidation: 1
230 | iOSRenderExtraFrameOnPause: 0
231 | appleDeveloperTeamID:
232 | iOSManualSigningProvisioningProfileID:
233 | tvOSManualSigningProvisioningProfileID:
234 | iOSManualSigningProvisioningProfileType: 0
235 | tvOSManualSigningProvisioningProfileType: 0
236 | appleEnableAutomaticSigning: 0
237 | iOSRequireARKit: 0
238 | appleEnableProMotion: 0
239 | clonedFromGUID: c0afd0d1d80e3634a9dac47e8a0426ea
240 | templatePackageId: com.unity.template.3d@1.3.0
241 | templateDefaultScene: Assets/Scenes/SampleScene.unity
242 | AndroidTargetArchitectures: 5
243 | AndroidSplashScreenScale: 0
244 | androidSplashScreen: {fileID: 0}
245 | AndroidKeystoreName:
246 | AndroidKeyaliasName:
247 | AndroidBuildApkPerCpuArchitecture: 0
248 | AndroidTVCompatibility: 1
249 | AndroidIsGame: 1
250 | AndroidEnableTango: 0
251 | androidEnableBanner: 1
252 | androidUseLowAccuracyLocation: 0
253 | m_AndroidBanners:
254 | - width: 320
255 | height: 180
256 | banner: {fileID: 0}
257 | androidGamepadSupportLevel: 0
258 | resolutionDialogBanner: {fileID: 0}
259 | m_BuildTargetIcons: []
260 | m_BuildTargetPlatformIcons: []
261 | m_BuildTargetBatching:
262 | - m_BuildTarget: Standalone
263 | m_StaticBatching: 1
264 | m_DynamicBatching: 0
265 | - m_BuildTarget: tvOS
266 | m_StaticBatching: 1
267 | m_DynamicBatching: 0
268 | - m_BuildTarget: Android
269 | m_StaticBatching: 1
270 | m_DynamicBatching: 0
271 | - m_BuildTarget: iPhone
272 | m_StaticBatching: 1
273 | m_DynamicBatching: 0
274 | - m_BuildTarget: WebGL
275 | m_StaticBatching: 0
276 | m_DynamicBatching: 0
277 | m_BuildTargetGraphicsAPIs:
278 | - m_BuildTarget: AndroidPlayer
279 | m_APIs: 0b00000008000000
280 | m_Automatic: 1
281 | - m_BuildTarget: iOSSupport
282 | m_APIs: 10000000
283 | m_Automatic: 1
284 | - m_BuildTarget: AppleTVSupport
285 | m_APIs: 10000000
286 | m_Automatic: 0
287 | - m_BuildTarget: WebGLSupport
288 | m_APIs: 0b000000
289 | m_Automatic: 1
290 | m_BuildTargetVRSettings:
291 | - m_BuildTarget: Standalone
292 | m_Enabled: 0
293 | m_Devices:
294 | - Oculus
295 | - OpenVR
296 | m_BuildTargetEnableVuforiaSettings: []
297 | openGLRequireES31: 0
298 | openGLRequireES31AEP: 0
299 | m_TemplateCustomTags: {}
300 | mobileMTRendering:
301 | Android: 1
302 | iPhone: 1
303 | tvOS: 1
304 | m_BuildTargetGroupLightmapEncodingQuality: []
305 | m_BuildTargetGroupLightmapSettings: []
306 | playModeTestRunnerEnabled: 0
307 | runPlayModeTestAsEditModeTest: 0
308 | actionOnDotNetUnhandledException: 1
309 | enableInternalProfiler: 0
310 | logObjCUncaughtExceptions: 1
311 | enableCrashReportAPI: 0
312 | cameraUsageDescription:
313 | locationUsageDescription:
314 | microphoneUsageDescription:
315 | switchNetLibKey:
316 | switchSocketMemoryPoolSize: 6144
317 | switchSocketAllocatorPoolSize: 128
318 | switchSocketConcurrencyLimit: 14
319 | switchScreenResolutionBehavior: 2
320 | switchUseCPUProfiler: 0
321 | switchApplicationID: 0x01004b9000490000
322 | switchNSODependencies:
323 | switchTitleNames_0:
324 | switchTitleNames_1:
325 | switchTitleNames_2:
326 | switchTitleNames_3:
327 | switchTitleNames_4:
328 | switchTitleNames_5:
329 | switchTitleNames_6:
330 | switchTitleNames_7:
331 | switchTitleNames_8:
332 | switchTitleNames_9:
333 | switchTitleNames_10:
334 | switchTitleNames_11:
335 | switchTitleNames_12:
336 | switchTitleNames_13:
337 | switchTitleNames_14:
338 | switchPublisherNames_0:
339 | switchPublisherNames_1:
340 | switchPublisherNames_2:
341 | switchPublisherNames_3:
342 | switchPublisherNames_4:
343 | switchPublisherNames_5:
344 | switchPublisherNames_6:
345 | switchPublisherNames_7:
346 | switchPublisherNames_8:
347 | switchPublisherNames_9:
348 | switchPublisherNames_10:
349 | switchPublisherNames_11:
350 | switchPublisherNames_12:
351 | switchPublisherNames_13:
352 | switchPublisherNames_14:
353 | switchIcons_0: {fileID: 0}
354 | switchIcons_1: {fileID: 0}
355 | switchIcons_2: {fileID: 0}
356 | switchIcons_3: {fileID: 0}
357 | switchIcons_4: {fileID: 0}
358 | switchIcons_5: {fileID: 0}
359 | switchIcons_6: {fileID: 0}
360 | switchIcons_7: {fileID: 0}
361 | switchIcons_8: {fileID: 0}
362 | switchIcons_9: {fileID: 0}
363 | switchIcons_10: {fileID: 0}
364 | switchIcons_11: {fileID: 0}
365 | switchIcons_12: {fileID: 0}
366 | switchIcons_13: {fileID: 0}
367 | switchIcons_14: {fileID: 0}
368 | switchSmallIcons_0: {fileID: 0}
369 | switchSmallIcons_1: {fileID: 0}
370 | switchSmallIcons_2: {fileID: 0}
371 | switchSmallIcons_3: {fileID: 0}
372 | switchSmallIcons_4: {fileID: 0}
373 | switchSmallIcons_5: {fileID: 0}
374 | switchSmallIcons_6: {fileID: 0}
375 | switchSmallIcons_7: {fileID: 0}
376 | switchSmallIcons_8: {fileID: 0}
377 | switchSmallIcons_9: {fileID: 0}
378 | switchSmallIcons_10: {fileID: 0}
379 | switchSmallIcons_11: {fileID: 0}
380 | switchSmallIcons_12: {fileID: 0}
381 | switchSmallIcons_13: {fileID: 0}
382 | switchSmallIcons_14: {fileID: 0}
383 | switchManualHTML:
384 | switchAccessibleURLs:
385 | switchLegalInformation:
386 | switchMainThreadStackSize: 1048576
387 | switchPresenceGroupId:
388 | switchLogoHandling: 0
389 | switchReleaseVersion: 0
390 | switchDisplayVersion: 1.0.0
391 | switchStartupUserAccount: 0
392 | switchTouchScreenUsage: 0
393 | switchSupportedLanguagesMask: 0
394 | switchLogoType: 0
395 | switchApplicationErrorCodeCategory:
396 | switchUserAccountSaveDataSize: 0
397 | switchUserAccountSaveDataJournalSize: 0
398 | switchApplicationAttribute: 0
399 | switchCardSpecSize: -1
400 | switchCardSpecClock: -1
401 | switchRatingsMask: 0
402 | switchRatingsInt_0: 0
403 | switchRatingsInt_1: 0
404 | switchRatingsInt_2: 0
405 | switchRatingsInt_3: 0
406 | switchRatingsInt_4: 0
407 | switchRatingsInt_5: 0
408 | switchRatingsInt_6: 0
409 | switchRatingsInt_7: 0
410 | switchRatingsInt_8: 0
411 | switchRatingsInt_9: 0
412 | switchRatingsInt_10: 0
413 | switchRatingsInt_11: 0
414 | switchLocalCommunicationIds_0:
415 | switchLocalCommunicationIds_1:
416 | switchLocalCommunicationIds_2:
417 | switchLocalCommunicationIds_3:
418 | switchLocalCommunicationIds_4:
419 | switchLocalCommunicationIds_5:
420 | switchLocalCommunicationIds_6:
421 | switchLocalCommunicationIds_7:
422 | switchParentalControl: 0
423 | switchAllowsScreenshot: 1
424 | switchAllowsVideoCapturing: 1
425 | switchAllowsRuntimeAddOnContentInstall: 0
426 | switchDataLossConfirmation: 0
427 | switchUserAccountLockEnabled: 0
428 | switchSystemResourceMemory: 16777216
429 | switchSupportedNpadStyles: 3
430 | switchNativeFsCacheSize: 32
431 | switchIsHoldTypeHorizontal: 0
432 | switchSupportedNpadCount: 8
433 | switchSocketConfigEnabled: 0
434 | switchTcpInitialSendBufferSize: 32
435 | switchTcpInitialReceiveBufferSize: 64
436 | switchTcpAutoSendBufferSizeMax: 256
437 | switchTcpAutoReceiveBufferSizeMax: 256
438 | switchUdpSendBufferSize: 9
439 | switchUdpReceiveBufferSize: 42
440 | switchSocketBufferEfficiency: 4
441 | switchSocketInitializeEnabled: 1
442 | switchNetworkInterfaceManagerInitializeEnabled: 1
443 | switchPlayerConnectionEnabled: 1
444 | ps4NPAgeRating: 12
445 | ps4NPTitleSecret:
446 | ps4NPTrophyPackPath:
447 | ps4ParentalLevel: 11
448 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000
449 | ps4Category: 0
450 | ps4MasterVersion: 01.00
451 | ps4AppVersion: 01.00
452 | ps4AppType: 0
453 | ps4ParamSfxPath:
454 | ps4VideoOutPixelFormat: 0
455 | ps4VideoOutInitialWidth: 1920
456 | ps4VideoOutBaseModeInitialWidth: 1920
457 | ps4VideoOutReprojectionRate: 60
458 | ps4PronunciationXMLPath:
459 | ps4PronunciationSIGPath:
460 | ps4BackgroundImagePath:
461 | ps4StartupImagePath:
462 | ps4StartupImagesFolder:
463 | ps4IconImagesFolder:
464 | ps4SaveDataImagePath:
465 | ps4SdkOverride:
466 | ps4BGMPath:
467 | ps4ShareFilePath:
468 | ps4ShareOverlayImagePath:
469 | ps4PrivacyGuardImagePath:
470 | ps4NPtitleDatPath:
471 | ps4RemotePlayKeyAssignment: -1
472 | ps4RemotePlayKeyMappingDir:
473 | ps4PlayTogetherPlayerCount: 0
474 | ps4EnterButtonAssignment: 1
475 | ps4ApplicationParam1: 0
476 | ps4ApplicationParam2: 0
477 | ps4ApplicationParam3: 0
478 | ps4ApplicationParam4: 0
479 | ps4DownloadDataSize: 0
480 | ps4GarlicHeapSize: 2048
481 | ps4ProGarlicHeapSize: 2560
482 | ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ
483 | ps4pnSessions: 1
484 | ps4pnPresence: 1
485 | ps4pnFriends: 1
486 | ps4pnGameCustomData: 1
487 | playerPrefsSupport: 0
488 | enableApplicationExit: 0
489 | resetTempFolder: 1
490 | restrictedAudioUsageRights: 0
491 | ps4UseResolutionFallback: 0
492 | ps4ReprojectionSupport: 0
493 | ps4UseAudio3dBackend: 0
494 | ps4SocialScreenEnabled: 0
495 | ps4ScriptOptimizationLevel: 0
496 | ps4Audio3dVirtualSpeakerCount: 14
497 | ps4attribCpuUsage: 0
498 | ps4PatchPkgPath:
499 | ps4PatchLatestPkgPath:
500 | ps4PatchChangeinfoPath:
501 | ps4PatchDayOne: 0
502 | ps4attribUserManagement: 0
503 | ps4attribMoveSupport: 0
504 | ps4attrib3DSupport: 0
505 | ps4attribShareSupport: 0
506 | ps4attribExclusiveVR: 0
507 | ps4disableAutoHideSplash: 0
508 | ps4videoRecordingFeaturesUsed: 0
509 | ps4contentSearchFeaturesUsed: 0
510 | ps4attribEyeToEyeDistanceSettingVR: 0
511 | ps4IncludedModules: []
512 | monoEnv:
513 | splashScreenBackgroundSourceLandscape: {fileID: 0}
514 | splashScreenBackgroundSourcePortrait: {fileID: 0}
515 | spritePackerPolicy:
516 | webGLMemorySize: 256
517 | webGLExceptionSupport: 1
518 | webGLNameFilesAsHashes: 0
519 | webGLDataCaching: 1
520 | webGLDebugSymbols: 0
521 | webGLEmscriptenArgs:
522 | webGLModulesDirectory:
523 | webGLTemplate: APPLICATION:Default
524 | webGLAnalyzeBuildSize: 0
525 | webGLUseEmbeddedResources: 0
526 | webGLCompressionFormat: 1
527 | webGLLinkerTarget: 1
528 | webGLThreadsSupport: 0
529 | scriptingDefineSymbols: {}
530 | platformArchitecture: {}
531 | scriptingBackend: {}
532 | il2cppCompilerConfiguration: {}
533 | managedStrippingLevel: {}
534 | incrementalIl2cppBuild: {}
535 | allowUnsafeCode: 0
536 | additionalIl2CppArgs:
537 | scriptingRuntimeVersion: 1
538 | apiCompatibilityLevelPerPlatform: {}
539 | m_RenderingPath: 1
540 | m_MobileRenderingPath: 1
541 | metroPackageName: Template_3D
542 | metroPackageVersion:
543 | metroCertificatePath:
544 | metroCertificatePassword:
545 | metroCertificateSubject:
546 | metroCertificateIssuer:
547 | metroCertificateNotAfter: 0000000000000000
548 | metroApplicationDescription: Template_3D
549 | wsaImages: {}
550 | metroTileShortName:
551 | metroTileShowName: 0
552 | metroMediumTileShowName: 0
553 | metroLargeTileShowName: 0
554 | metroWideTileShowName: 0
555 | metroSupportStreamingInstall: 0
556 | metroLastRequiredScene: 0
557 | metroDefaultTileSize: 1
558 | metroTileForegroundText: 2
559 | metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0}
560 | metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628,
561 | a: 1}
562 | metroSplashScreenUseBackgroundColor: 0
563 | platformCapabilities: {}
564 | metroTargetDeviceFamilies: {}
565 | metroFTAName:
566 | metroFTAFileTypes: []
567 | metroProtocolName:
568 | metroCompilationOverrides: 1
569 | XboxOneProductId:
570 | XboxOneUpdateKey:
571 | XboxOneSandboxId:
572 | XboxOneContentId:
573 | XboxOneTitleId:
574 | XboxOneSCId:
575 | XboxOneGameOsOverridePath:
576 | XboxOnePackagingOverridePath:
577 | XboxOneAppManifestOverridePath:
578 | XboxOneVersion: 1.0.0.0
579 | XboxOnePackageEncryption: 0
580 | XboxOnePackageUpdateGranularity: 2
581 | XboxOneDescription:
582 | XboxOneLanguage:
583 | - enus
584 | XboxOneCapability: []
585 | XboxOneGameRating: {}
586 | XboxOneIsContentPackage: 0
587 | XboxOneEnableGPUVariability: 1
588 | XboxOneSockets: {}
589 | XboxOneSplashScreen: {fileID: 0}
590 | XboxOneAllowedProductIds: []
591 | XboxOnePersistentLocalStorageSize: 0
592 | XboxOneXTitleMemory: 8
593 | xboxOneScriptCompiler: 1
594 | XboxOneOverrideIdentityName:
595 | vrEditorSettings:
596 | daydream:
597 | daydreamIconForeground: {fileID: 0}
598 | daydreamIconBackground: {fileID: 0}
599 | cloudServicesEnabled:
600 | UNet: 1
601 | luminIcon:
602 | m_Name:
603 | m_ModelFolderPath:
604 | m_PortalFolderPath:
605 | luminCert:
606 | m_CertPath:
607 | m_PrivateKeyPath:
608 | luminIsChannelApp: 0
609 | luminVersion:
610 | m_VersionCode: 1
611 | m_VersionName:
612 | facebookSdkVersion: 7.9.4
613 | facebookAppId:
614 | facebookCookies: 1
615 | facebookLogging: 1
616 | facebookStatus: 1
617 | facebookXfbml: 0
618 | facebookFrictionlessRequests: 1
619 | apiCompatibilityLevel: 6
620 | cloudProjectId:
621 | framebufferDepthMemorylessMode: 0
622 | projectName:
623 | organizationId:
624 | cloudEnabled: 0
625 | enableNativePlatformBackendsForNewInputSystem: 0
626 | disableOldInputManagerSupport: 0
627 | legacyClampBlendShapeWeights: 0
628 |
--------------------------------------------------------------------------------
/samples/solid-principles/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 2018.3.8f1
2 |
--------------------------------------------------------------------------------
/samples/solid-principles/ProjectSettings/QualitySettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!47 &1
4 | QualitySettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 5
7 | m_CurrentQuality: 4
8 | m_QualitySettings:
9 | - serializedVersion: 2
10 | name: Very Low
11 | pixelLightCount: 0
12 | shadows: 0
13 | shadowResolution: 0
14 | shadowProjection: 1
15 | shadowCascades: 1
16 | shadowDistance: 15
17 | shadowNearPlaneOffset: 3
18 | shadowCascade2Split: 0.33333334
19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
20 | shadowmaskMode: 0
21 | blendWeights: 1
22 | textureQuality: 1
23 | anisotropicTextures: 0
24 | antiAliasing: 0
25 | softParticles: 0
26 | softVegetation: 0
27 | realtimeReflectionProbes: 0
28 | billboardsFaceCameraPosition: 0
29 | vSyncCount: 0
30 | lodBias: 0.3
31 | maximumLODLevel: 0
32 | particleRaycastBudget: 4
33 | asyncUploadTimeSlice: 2
34 | asyncUploadBufferSize: 16
35 | resolutionScalingFixedDPIFactor: 1
36 | excludedTargetPlatforms: []
37 | - serializedVersion: 2
38 | name: Low
39 | pixelLightCount: 0
40 | shadows: 0
41 | shadowResolution: 0
42 | shadowProjection: 1
43 | shadowCascades: 1
44 | shadowDistance: 20
45 | shadowNearPlaneOffset: 3
46 | shadowCascade2Split: 0.33333334
47 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
48 | shadowmaskMode: 0
49 | blendWeights: 2
50 | textureQuality: 0
51 | anisotropicTextures: 0
52 | antiAliasing: 0
53 | softParticles: 0
54 | softVegetation: 0
55 | realtimeReflectionProbes: 0
56 | billboardsFaceCameraPosition: 0
57 | vSyncCount: 0
58 | lodBias: 0.4
59 | maximumLODLevel: 0
60 | particleRaycastBudget: 16
61 | asyncUploadTimeSlice: 2
62 | asyncUploadBufferSize: 16
63 | resolutionScalingFixedDPIFactor: 1
64 | excludedTargetPlatforms: []
65 | - serializedVersion: 2
66 | name: Medium
67 | pixelLightCount: 1
68 | shadows: 1
69 | shadowResolution: 0
70 | shadowProjection: 1
71 | shadowCascades: 1
72 | shadowDistance: 20
73 | shadowNearPlaneOffset: 3
74 | shadowCascade2Split: 0.33333334
75 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
76 | shadowmaskMode: 0
77 | blendWeights: 2
78 | textureQuality: 0
79 | anisotropicTextures: 1
80 | antiAliasing: 0
81 | softParticles: 0
82 | softVegetation: 0
83 | realtimeReflectionProbes: 0
84 | billboardsFaceCameraPosition: 0
85 | vSyncCount: 1
86 | lodBias: 0.7
87 | maximumLODLevel: 0
88 | particleRaycastBudget: 64
89 | asyncUploadTimeSlice: 2
90 | asyncUploadBufferSize: 16
91 | resolutionScalingFixedDPIFactor: 1
92 | excludedTargetPlatforms: []
93 | - serializedVersion: 2
94 | name: High
95 | pixelLightCount: 2
96 | shadows: 2
97 | shadowResolution: 1
98 | shadowProjection: 1
99 | shadowCascades: 2
100 | shadowDistance: 40
101 | shadowNearPlaneOffset: 3
102 | shadowCascade2Split: 0.33333334
103 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
104 | shadowmaskMode: 1
105 | blendWeights: 2
106 | textureQuality: 0
107 | anisotropicTextures: 1
108 | antiAliasing: 2
109 | softParticles: 0
110 | softVegetation: 1
111 | realtimeReflectionProbes: 1
112 | billboardsFaceCameraPosition: 1
113 | vSyncCount: 1
114 | lodBias: 1
115 | maximumLODLevel: 0
116 | particleRaycastBudget: 256
117 | asyncUploadTimeSlice: 2
118 | asyncUploadBufferSize: 16
119 | resolutionScalingFixedDPIFactor: 1
120 | excludedTargetPlatforms: []
121 | - serializedVersion: 2
122 | name: Very High
123 | pixelLightCount: 3
124 | shadows: 2
125 | shadowResolution: 2
126 | shadowProjection: 1
127 | shadowCascades: 2
128 | shadowDistance: 40
129 | shadowNearPlaneOffset: 3
130 | shadowCascade2Split: 0.33333334
131 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
132 | shadowmaskMode: 1
133 | blendWeights: 4
134 | textureQuality: 0
135 | anisotropicTextures: 1
136 | antiAliasing: 4
137 | softParticles: 1
138 | softVegetation: 1
139 | realtimeReflectionProbes: 1
140 | billboardsFaceCameraPosition: 1
141 | vSyncCount: 1
142 | lodBias: 1.5
143 | maximumLODLevel: 0
144 | particleRaycastBudget: 1024
145 | asyncUploadTimeSlice: 2
146 | asyncUploadBufferSize: 16
147 | resolutionScalingFixedDPIFactor: 1
148 | excludedTargetPlatforms: []
149 | - serializedVersion: 2
150 | name: Ultra
151 | pixelLightCount: 4
152 | shadows: 2
153 | shadowResolution: 2
154 | shadowProjection: 1
155 | shadowCascades: 4
156 | shadowDistance: 150
157 | shadowNearPlaneOffset: 3
158 | shadowCascade2Split: 0.33333334
159 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
160 | shadowmaskMode: 1
161 | blendWeights: 4
162 | textureQuality: 0
163 | anisotropicTextures: 1
164 | antiAliasing: 4
165 | softParticles: 1
166 | softVegetation: 1
167 | realtimeReflectionProbes: 1
168 | billboardsFaceCameraPosition: 1
169 | vSyncCount: 1
170 | lodBias: 2
171 | maximumLODLevel: 0
172 | particleRaycastBudget: 4096
173 | asyncUploadTimeSlice: 2
174 | asyncUploadBufferSize: 16
175 | resolutionScalingFixedDPIFactor: 1
176 | excludedTargetPlatforms: []
177 | m_PerPlatformDefaultQuality:
178 | Android: 2
179 | Nintendo 3DS: 5
180 | Nintendo Switch: 5
181 | PS4: 5
182 | PSP2: 2
183 | Standalone: 5
184 | Tizen: 2
185 | WebGL: 3
186 | WiiU: 5
187 | Windows Store Apps: 5
188 | XboxOne: 5
189 | iPhone: 2
190 | tvOS: 2
191 |
--------------------------------------------------------------------------------
/samples/solid-principles/ProjectSettings/TagManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!78 &1
4 | TagManager:
5 | serializedVersion: 2
6 | tags: []
7 | layers:
8 | - Default
9 | - TransparentFX
10 | - Ignore Raycast
11 | -
12 | - Water
13 | - UI
14 | -
15 | -
16 | - PostProcessing
17 | -
18 | -
19 | -
20 | -
21 | -
22 | -
23 | -
24 | -
25 | -
26 | -
27 | -
28 | -
29 | -
30 | -
31 | -
32 | -
33 | -
34 | -
35 | -
36 | -
37 | -
38 | -
39 | -
40 | m_SortingLayers:
41 | - name: Default
42 | uniqueID: 0
43 | locked: 0
44 |
--------------------------------------------------------------------------------
/samples/solid-principles/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 |
--------------------------------------------------------------------------------
/samples/solid-principles/ProjectSettings/UnityConnectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!310 &1
4 | UnityConnectSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 1
7 | m_Enabled: 0
8 | m_TestMode: 0
9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events
11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com
12 | m_TestInitMode: 0
13 | CrashReportingSettings:
14 | m_EventUrl: https://perf-events.cloud.unity3d.com
15 | m_Enabled: 0
16 | m_LogBufferSize: 10
17 | m_CaptureEditorExceptions: 1
18 | UnityPurchasingSettings:
19 | m_Enabled: 0
20 | m_TestMode: 0
21 | UnityAnalyticsSettings:
22 | m_Enabled: 0
23 | m_TestMode: 0
24 | m_InitializeOnStartup: 1
25 | UnityAdsSettings:
26 | m_Enabled: 0
27 | m_InitializeOnStartup: 1
28 | m_TestMode: 0
29 | m_IosGameId:
30 | m_AndroidGameId:
31 | m_GameIds: {}
32 | m_GameId:
33 | PerformanceReportingSettings:
34 | m_Enabled: 0
35 |
--------------------------------------------------------------------------------
/samples/solid-principles/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 |
--------------------------------------------------------------------------------
/samples/solid-principles/README.md:
--------------------------------------------------------------------------------
1 | # SOLID Principles
2 | Script examples of how to use [SOLID](https://en.wikipedia.org/wiki/SOLID) in Unity.
3 |
4 | * [Single Responsibility](Assets/Scripts/Single%20Responsibility)
5 | * A class should only have a single responsibility, that is, only changes to one part of the software's specification should be able to affect the specification of the class.
6 | * [Open Closed](Assets/Scripts/Open%20Closed)
7 | * "Software entities ... should be open for extension, but closed for modification."
8 | * [Liskov's Substitution](Assets/Scripts/Liskov%20Substitution)
9 | * "Objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program."
10 | * [Interface Segregation](Assets/Scripts/Interface%20Segregation)
11 | * "Many client-specific interfaces are better than one general-purpose interface."
12 | * [Dependency Inversion](Assets/Scripts/Dependency%20Inversion)
13 | * One should "depend upon abstractions, [not] concretions."
14 |
15 | *Note: examples inspired by [this talk by Dan Sagmiller](https://www.youtube.com/watch?v=eIf3-aDTOOA).*
16 |
--------------------------------------------------------------------------------