├── .gitignore
├── CONTRIBUTING.md
├── Documentation
└── UnityQuery Cheat Sheet.docx
├── FAQ.md
├── LICENSE
├── Media
├── Screenshots
│ ├── CheatSheet.png
│ ├── HierarchyManipulation.png
│ ├── HierarchyQueries.png
│ ├── Picking.png
│ └── VectorSwizzling.png
└── Store Assets
│ ├── Background.png
│ ├── Facebook.png
│ ├── Icon.png
│ ├── Key Visual.png
│ ├── Key Visual.xcf
│ ├── Small.png
│ ├── Small.xcf
│ ├── Tutorial.txt
│ └── UnityQueryLogo.xcf
├── README.md
└── Source
└── UnityQuery
├── Assets
├── UnityQuery.Tests.meta
├── UnityQuery.Tests
│ ├── Editor.meta
│ └── Editor
│ │ ├── CollectionsTests.cs
│ │ ├── CollectionsTests.cs.meta
│ │ ├── ColorsTests.cs
│ │ ├── ColorsTests.cs.meta
│ │ ├── SwizzlingTests.cs
│ │ └── SwizzlingTests.cs.meta
├── UnityQuery.meta
└── UnityQuery
│ ├── Scripts.meta
│ ├── Scripts
│ ├── Collections.cs
│ ├── Collections.cs.meta
│ ├── Colors.cs
│ ├── Colors.cs.meta
│ ├── Components.cs
│ ├── Components.cs.meta
│ ├── GameObjects.cs
│ ├── GameObjects.cs.meta
│ ├── Hierarchy.cs
│ ├── Hierarchy.cs.meta
│ ├── Log.cs
│ ├── Log.cs.meta
│ ├── Picking.cs
│ ├── Picking.cs.meta
│ ├── Query.cs
│ ├── Query.cs.meta
│ ├── QueryExtensions.cs
│ ├── QueryExtensions.cs.meta
│ ├── Swizzling.cs
│ └── Swizzling.cs.meta
│ ├── UnityQuery Cheat Sheet.pdf
│ └── UnityQuery Cheat Sheet.pdf.meta
└── ProjectSettings
├── AudioManager.asset
├── ClusterInputManager.asset
├── DynamicsManager.asset
├── EditorBuildSettings.asset
├── EditorSettings.asset
├── GraphicsSettings.asset
├── InputManager.asset
├── NavMeshAreas.asset
├── NetworkManager.asset
├── Physics2DSettings.asset
├── ProjectSettings.asset
├── ProjectVersion.txt
├── QualitySettings.asset
├── TagManager.asset
├── TimeManager.asset
└── UnityConnectSettings.asset
/.gitignore:
--------------------------------------------------------------------------------
1 | [Ll]ibrary/
2 | [Tt]emp/
3 | [Oo]bj/
4 | [Bb]uild/
5 |
6 | # Autogenerated VS/MD solution and project files
7 | *.csproj
8 | *.unityproj
9 | *.sln
10 | *.suo
11 | *.tmp
12 | *.user
13 | *.userprefs
14 | *.pidb
15 | *.booproj
16 |
17 | # Unity3D generated meta files
18 | *.pidb.meta
19 |
20 | # Unity3D Generated File On Crash Reports
21 | sysinfo.txt
22 |
23 | # Unity 3rd party libraries
24 | UnityTestTools*
25 | UnityVS*
26 | Source/UnityQuery/Assets/AssetStoreTools/
27 | Source/UnityQuery/Assets/AssetStoreTools.meta
28 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing
2 |
3 | You'd like to help make UnityQuery even more awesome? Seems like today's our lucky day! In order to maintain stability of the tool and its code base, please adhere to the following steps, and we'll be pleased to include your additions in our next release.
4 |
5 | Note that UnityQuery is distributed under the [MIT License](https://github.com/npruehs/unity-query/blob/master/LICENSE). So will be your code.
6 |
7 | ## Step 1: Choose what to do
8 |
9 | If you've got no idea how to help, head over to our [issue tracker](https://github.com/npruehs/unity-query/issues) and see what you'd like to do most. You can basically pick anything you want to, as long as it's not already assigned to anyone.
10 |
11 | If you know exactly what you're missing, [open a new issue](https://github.com/npruehs/unity-query/issues/new) to begin a short discussion about your idea and how it fits the project. If we all agree, you're good to go!
12 |
13 | Note there's also an [FAQ](https://github.com/npruehs/unity-query/blob/master/FAQ.md) explaining some features we deliberately did not implement in UnityQuery.
14 |
15 | ## Step 2: Fork the project and check out the code
16 |
17 | UnityQuery is developed using the [GitFlow branching model](http://nvie.com/posts/a-successful-git-branching-model/). In order to contribute, you should check out the latest develop branch, and create a new feature or hotfix branch to be merged back.
18 |
19 | ## Step 3: Implement your feature or bugfix
20 |
21 | We recommend using [StyleCop](http://stylecop.codeplex.com/) for verifying your code against our [coding guidelines](https://msdn.microsoft.com/en-us/library/ff926074.aspx).
22 |
23 | ## Step 4: Open a pull request
24 |
25 | Finally, [open a pull request](https://help.github.com/articles/using-pull-requests/) so we can review your changes together, and finally integrate it into the next release.
26 |
--------------------------------------------------------------------------------
/Documentation/UnityQuery Cheat Sheet.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/npruehs/unity-query/16894d6e8b60bd10a8e555ae60ff2dc3f6118155/Documentation/UnityQuery Cheat Sheet.docx
--------------------------------------------------------------------------------
/FAQ.md:
--------------------------------------------------------------------------------
1 | # FAQ
2 |
3 | ## Why are there no helper methods for handling [Coroutines](http://docs.unity3d.com/Manual/Coroutines.html)?
4 |
5 | Yes, we agree: Coroutines are ugly. Fortunately, there is already a very nice open-source solution to this problem called [Reactive Extensions for Unity](https://github.com/neuecc/UniRx) by Yoshifumi Kawai.
6 |
7 | Reactive Extensions for Unity provide asynchronous operations with return values and proper error handling, and we don't think we could do that any better.
8 |
9 | ## Why are there no helper methods for creating and accessing [Singletons](https://en.wikipedia.org/wiki/Singleton_pattern)?
10 |
11 | UnityQuery aims to be a lightweight library, not a framework: We want to provide utility methods without imposing structure on your project.
12 |
13 | This implies that you shouldn't need to create types deriving from UnityQuery types in order to use the library. If you want to implement parts of your game as singletons, roll your own or check [other implementations such as the one in the Unify Community Wiki](http://wiki.unity3d.com/index.php/Toolbox).
14 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015-2016 Nick Pruehs
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 |
23 |
--------------------------------------------------------------------------------
/Media/Screenshots/CheatSheet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/npruehs/unity-query/16894d6e8b60bd10a8e555ae60ff2dc3f6118155/Media/Screenshots/CheatSheet.png
--------------------------------------------------------------------------------
/Media/Screenshots/HierarchyManipulation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/npruehs/unity-query/16894d6e8b60bd10a8e555ae60ff2dc3f6118155/Media/Screenshots/HierarchyManipulation.png
--------------------------------------------------------------------------------
/Media/Screenshots/HierarchyQueries.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/npruehs/unity-query/16894d6e8b60bd10a8e555ae60ff2dc3f6118155/Media/Screenshots/HierarchyQueries.png
--------------------------------------------------------------------------------
/Media/Screenshots/Picking.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/npruehs/unity-query/16894d6e8b60bd10a8e555ae60ff2dc3f6118155/Media/Screenshots/Picking.png
--------------------------------------------------------------------------------
/Media/Screenshots/VectorSwizzling.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/npruehs/unity-query/16894d6e8b60bd10a8e555ae60ff2dc3f6118155/Media/Screenshots/VectorSwizzling.png
--------------------------------------------------------------------------------
/Media/Store Assets/Background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/npruehs/unity-query/16894d6e8b60bd10a8e555ae60ff2dc3f6118155/Media/Store Assets/Background.png
--------------------------------------------------------------------------------
/Media/Store Assets/Facebook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/npruehs/unity-query/16894d6e8b60bd10a8e555ae60ff2dc3f6118155/Media/Store Assets/Facebook.png
--------------------------------------------------------------------------------
/Media/Store Assets/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/npruehs/unity-query/16894d6e8b60bd10a8e555ae60ff2dc3f6118155/Media/Store Assets/Icon.png
--------------------------------------------------------------------------------
/Media/Store Assets/Key Visual.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/npruehs/unity-query/16894d6e8b60bd10a8e555ae60ff2dc3f6118155/Media/Store Assets/Key Visual.png
--------------------------------------------------------------------------------
/Media/Store Assets/Key Visual.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/npruehs/unity-query/16894d6e8b60bd10a8e555ae60ff2dc3f6118155/Media/Store Assets/Key Visual.xcf
--------------------------------------------------------------------------------
/Media/Store Assets/Small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/npruehs/unity-query/16894d6e8b60bd10a8e555ae60ff2dc3f6118155/Media/Store Assets/Small.png
--------------------------------------------------------------------------------
/Media/Store Assets/Small.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/npruehs/unity-query/16894d6e8b60bd10a8e555ae60ff2dc3f6118155/Media/Store Assets/Small.xcf
--------------------------------------------------------------------------------
/Media/Store Assets/Tutorial.txt:
--------------------------------------------------------------------------------
1 | https://www.gimpshop.com/tutorials/how-to-create-a-logo
--------------------------------------------------------------------------------
/Media/Store Assets/UnityQueryLogo.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/npruehs/unity-query/16894d6e8b60bd10a8e555ae60ff2dc3f6118155/Media/Store Assets/UnityQueryLogo.xcf
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # UnityQuery
2 |
3 | UnityQuery is a small, lightweight C# library designed to increase productivity with [Unity3D](http://unity3d.com/).
4 |
5 | Each and every one of us has written these small utility and extension methods we're using and re-writing over and over again with each new project. UnityQuery aims to collect the most general, versatile and helpful of these code snippets for re-use, and is inspired by recent work at the [Slash Framework](https://github.com/SlashGames/slash-framework) and by [LINQ to GameObject](https://github.com/neuecc/LINQ-to-GameObject-for-Unity) by Yoshifumi Kawai.
6 |
7 | If you're missing any of your personal favorites, we'd love to see it - please refer to the [Contributing](https://github.com/npruehs/unity-query/blob/master/CONTRIBUTING.md) file!
8 |
9 | ## Features
10 |
11 | * Hierarchy queries (e.g. GetChildren, GetDescendants, OnLayer, IsAncestor, GetRoot, ...)
12 | * Hierarchy manipulation (e.g. DestroyChildren)
13 | * Component-wise vector swizzling (e.g. v.XZ)
14 | * Changing single vector or color components while preserving immutability
15 | * Picking (e.g. object at mouse position)
16 | * Collection extensions (e.g. ContainsAll, GetValueOrDefault, IsNullOrEmpty, SequenceToString)
17 | * Logs with timestamps and object names
18 |
19 | ## Getting UnityQuery
20 |
21 | You can either
22 |
23 | * download STABLE from the [Unity Asset Store](https://www.assetstore.unity3d.com/en/#!/content/42015)
24 | * checkout LATEST from this repository
25 |
26 | ## Usage
27 |
28 | Just import the `UnityQuery` namespace and you're good to go!
29 |
30 | using UnityQuery;
31 |
32 | The library adds many hierarchy queries to your game objects.
33 |
34 | // Select all descendants(children, grandchildren, etc.).
35 | foreach (var descendant in this.gameObject.GetDescendants())
36 | {
37 | // ...
38 | }
39 |
40 | You can freely re-combine these queries with other library methods.
41 |
42 | // Change the layers of all default layer descendants to UI.
43 | this.gameObject
44 | .GetDescendants()
45 | .OnLayer("Default")
46 | .AsQuery()
47 | .SetLayers("UI");
48 |
49 | Right now, all of the UnityQuery methods are implemented as extension methods.
50 |
51 | // u = (1, 2, 3)
52 | Vector3 u = new Vector3(1, 2, 3);
53 |
54 | // v = (1, 3)
55 | Vector2 v = u.XZ();
56 |
57 | That means, you can use all of them as syntatic sugar without having to recall where they're located.
58 |
59 | var o = Camera.main.PickObject();
60 |
61 | Note there's also a [Cheat Sheet](https://github.com/npruehs/unity-query/raw/master/Source/UnityQuery/Assets/UnityQuery/UnityQuery%20Cheat%20Sheet.pdf) available for you.
62 |
63 | ## Development Cycle
64 |
65 | We know that using a library like UnityQuery in production requires you to be completely sure about stability and compatibility. Thus, new releases of UnityQuery are created using [Semantic Versioning](http://semver.org/). In short:
66 |
67 | * Version numbers are specified as MAJOR.MINOR.PATCH.
68 | * MAJOR version increases indicate incompatible changes with respect to the public UnityQuery API.
69 | * MINOR version increases indicate new functionality that are backwards-compatible.
70 | * PATCH version increases indicate backwards-compatible bug fixes.
71 |
72 | ## Bugs & Feature Requests
73 |
74 | We are sorry that you've experienced issues or are missing a feature! After verifying that you are using the [latest version](https://github.com/npruehs/unity-query/releases) of UnityQuery and having checked whether a [similar issue](https://github.com/npruehs/unity-query/issues) has already been reported, feel free to [open a new issue](https://github.com/npruehs/unity-query/issues/new). In order to help us resolving your problem as fast as possible, please include the following details in your report:
75 |
76 | * Steps to reproduce
77 | * What happened?
78 | * What did you expect to happen?
79 |
80 | After being able to reproduce the issue, we'll look into fixing it immediately.
81 |
82 | ## Contributors
83 |
84 | (in no particular order)
85 |
86 | * [Nick Prühs](https://github.com/npruehs) (Maintainer)
87 | * [Christian Oeing](https://github.com/coeing)
88 | * [Björn von der Osten](https://github.com/Froghut)
89 | * [Patrick Henschel](https://bitbucket.org/Ffyhlkain)
90 | * Michael Kluge
91 | * [Johannes Deml](https://github.com/JohannesDeml)
92 | * [Slawa Deisling](https://twitter.com/SlawaDeisling)
93 | * [Robin Fischer](https://github.com/robinryf)
94 |
95 | ## License
96 |
97 | UnityQuery is released under the [MIT license](https://github.com/npruehs/unity-query/blob/master/LICENSE).
98 |
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery.Tests.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bbdeefa6ffa678c4483a4ee5908090b1
3 | folderAsset: yes
4 | timeCreated: 1436292561
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery.Tests/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 93bebae86d17c3a4288727a49b9afecc
3 | folderAsset: yes
4 | timeCreated: 1436292565
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery.Tests/Editor/CollectionsTests.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright (c) Nick Prühs. All rights reserved.
4 | //
5 | // --------------------------------------------------------------------------------------------------------------------
6 |
7 | namespace UnityQuery.Tests
8 | {
9 | using System.Collections.Generic;
10 |
11 | using NUnit.Framework;
12 |
13 | public class CollectionsTests
14 | {
15 | #region Public Methods and Operators
16 |
17 | [Test]
18 | public void TestContainsAll()
19 | {
20 | // Arrange.
21 | var first = new List { 1, 2, 3 };
22 | var second = new List { 1, 3 };
23 | var third = new List { 1, 2, 4 };
24 |
25 | // Assert.
26 | Assert.IsTrue(first.ContainsAll(second));
27 | Assert.IsFalse(first.ContainsAll(third));
28 | }
29 |
30 | [Test]
31 | public void TestGetValueOrDefault()
32 | {
33 | // Arrange.
34 | var dictionary = new Dictionary();
35 | dictionary.Add("one", 1);
36 |
37 | // Assert.
38 | Assert.AreEqual(1, dictionary.GetValueOrDefault("one", 0));
39 |
40 | Assert.AreEqual(0, dictionary.GetValueOrDefault("two"));
41 | Assert.AreEqual(0, dictionary.GetValueOrDefault("two", 0));
42 | }
43 |
44 | [Test]
45 | public void TestIndexOfElement()
46 | {
47 | // Arrange.
48 | IEnumerable list = new List { 1, 2, 3 };
49 |
50 | // Assert.
51 | Assert.AreEqual(0, list.IndexOf(1));
52 | Assert.AreEqual(2, list.IndexOf(3));
53 | Assert.AreEqual(-1, list.IndexOf(5));
54 | }
55 |
56 | [Test]
57 | public void TestIndexOfPredicate()
58 | {
59 | // Arrange.
60 | IEnumerable list = new List { 1, 2, 3 };
61 |
62 | // Assert.
63 | Assert.AreEqual(2, list.IndexOf(i => i > 2));
64 | }
65 |
66 | [Test]
67 | public void TestNullOrEmpty()
68 | {
69 | // Arrange.
70 | var sequence = new List { 1, 2, 3 };
71 | var emptySequence = new List();
72 | List nullSequence = null;
73 |
74 | // Assert.
75 | Assert.IsFalse(sequence.IsNullOrEmpty());
76 |
77 | Assert.IsTrue(emptySequence.IsNullOrEmpty());
78 | Assert.IsTrue(nullSequence.IsNullOrEmpty());
79 | }
80 |
81 | [Test]
82 | public void TestToString()
83 | {
84 | // Arrange.
85 | var list = new List { 1, 2, 3 };
86 |
87 | // Act.
88 | var s = list.SequenceToString();
89 |
90 | // Assert.
91 | Assert.AreEqual("[1,2,3]", s);
92 | }
93 |
94 | #endregion
95 | }
96 | }
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery.Tests/Editor/CollectionsTests.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c1d2627977761c240a1905899504c2ea
3 | timeCreated: 1436294295
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery.Tests/Editor/ColorsTests.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright (c) Nick Prühs. All rights reserved.
4 | //
5 | // --------------------------------------------------------------------------------------------------------------------
6 |
7 | namespace UnityQuery.Tests
8 | {
9 | using NUnit.Framework;
10 |
11 | using UnityEngine;
12 |
13 | public class ColorsTests
14 | {
15 | #region Constants
16 |
17 | private const byte ByteAlpha = 4;
18 |
19 | private const byte ByteBlue = 3;
20 |
21 | private const byte ByteGreen = 2;
22 |
23 | private const byte ByteRed = 1;
24 |
25 | private const float FloatAlpha = 0.4f;
26 |
27 | private const float FloatBlue = 0.3f;
28 |
29 | private const float FloatGreen = 0.2f;
30 |
31 | private const float FloatRed = 0.1f;
32 |
33 | #endregion
34 |
35 | #region Public Methods and Operators
36 |
37 | [Test]
38 | public void TestColorWithByteAlpha()
39 | {
40 | // Arrange.
41 | Color32 before = new Color32(ByteRed, ByteGreen, ByteBlue, ByteAlpha);
42 | const byte NewAlpha = 5;
43 |
44 | // Act.
45 | Color32 after = ((Color)before).WithAlpha(NewAlpha);
46 |
47 | // Assert.
48 | Assert.AreEqual(before.r, after.r);
49 | Assert.AreEqual(before.g, after.g);
50 | Assert.AreEqual(before.b, after.b);
51 | Assert.AreEqual(NewAlpha, after.a);
52 | }
53 |
54 | [Test]
55 | public void TestColorWithByteBlue()
56 | {
57 | // Arrange.
58 | Color32 before = new Color32(ByteRed, ByteGreen, ByteBlue, ByteAlpha);
59 | const byte NewBlue = 5;
60 |
61 | // Act.
62 | Color32 after = ((Color)before).WithBlue(NewBlue);
63 |
64 | // Assert.
65 | Assert.AreEqual(before.r, after.r);
66 | Assert.AreEqual(before.g, after.g);
67 | Assert.AreEqual(NewBlue, after.b);
68 | Assert.AreEqual(before.a, after.a);
69 | }
70 |
71 | [Test]
72 | public void TestColorWithByteGreen()
73 | {
74 | // Arrange.
75 | Color32 before = new Color32(ByteRed, ByteGreen, ByteBlue, ByteAlpha);
76 | const byte NewGreen = 5;
77 |
78 | // Act.
79 | Color32 after = ((Color)before).WithGreen(NewGreen);
80 |
81 | // Assert.
82 | Assert.AreEqual(before.r, after.r);
83 | Assert.AreEqual(NewGreen, after.g);
84 | Assert.AreEqual(before.b, after.b);
85 | Assert.AreEqual(before.a, after.a);
86 | }
87 |
88 | [Test]
89 | public void TestColorWithByteRed()
90 | {
91 | // Arrange.
92 | Color32 before = new Color32(ByteRed, ByteGreen, ByteBlue, ByteAlpha);
93 | const byte NewRed = 5;
94 |
95 | // Act.
96 | Color32 after = ((Color)before).WithRed(NewRed);
97 |
98 | // Assert.
99 | Assert.AreEqual(NewRed, after.r);
100 | Assert.AreEqual(before.g, after.g);
101 | Assert.AreEqual(before.b, after.b);
102 | Assert.AreEqual(before.a, after.a);
103 | }
104 |
105 | [Test]
106 | public void TestColorWithFloatAlpha()
107 | {
108 | // Arrange.
109 | var before = new Color(FloatRed, FloatGreen, FloatBlue, FloatAlpha);
110 | const float NewAlpha = 0.5f;
111 |
112 | // Act.
113 | var after = before.WithAlpha(NewAlpha);
114 |
115 | // Assert.
116 | Assert.AreEqual(before.r, after.r);
117 | Assert.AreEqual(before.g, after.g);
118 | Assert.AreEqual(before.b, after.b);
119 | Assert.AreEqual(NewAlpha, after.a);
120 | }
121 |
122 | [Test]
123 | public void TestColorWithFloatBlue()
124 | {
125 | // Arrange.
126 | var before = new Color(FloatRed, FloatGreen, FloatBlue, FloatAlpha);
127 | const float NewBlue = 0.5f;
128 |
129 | // Act.
130 | var after = before.WithBlue(NewBlue);
131 |
132 | // Assert.
133 | Assert.AreEqual(before.r, after.r);
134 | Assert.AreEqual(before.g, after.g);
135 | Assert.AreEqual(NewBlue, after.b);
136 | Assert.AreEqual(before.a, after.a);
137 | }
138 |
139 | [Test]
140 | public void TestColorWithFloatGreen()
141 | {
142 | // Arrange.
143 | var before = new Color(FloatRed, FloatGreen, FloatBlue, FloatAlpha);
144 | const float NewGreen = 0.5f;
145 |
146 | // Act.
147 | var after = before.WithGreen(NewGreen);
148 |
149 | // Assert.
150 | Assert.AreEqual(before.r, after.r);
151 | Assert.AreEqual(NewGreen, after.g);
152 | Assert.AreEqual(before.b, after.b);
153 | Assert.AreEqual(before.a, after.a);
154 | }
155 |
156 | [Test]
157 | public void TestColorWithFloatRed()
158 | {
159 | // Arrange.
160 | var before = new Color(FloatRed, FloatGreen, FloatBlue, FloatAlpha);
161 | const float NewRed = 0.5f;
162 |
163 | // Act.
164 | var after = before.WithRed(NewRed);
165 |
166 | // Assert.
167 | Assert.AreEqual(NewRed, after.r);
168 | Assert.AreEqual(before.g, after.g);
169 | Assert.AreEqual(before.b, after.b);
170 | Assert.AreEqual(before.a, after.a);
171 | }
172 |
173 | #endregion
174 | }
175 | }
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery.Tests/Editor/ColorsTests.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4043e990856a13d4f9f5f41912054043
3 | timeCreated: 1437081242
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery.Tests/Editor/SwizzlingTests.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright (c) Nick Prühs. All rights reserved.
4 | //
5 | // --------------------------------------------------------------------------------------------------------------------
6 |
7 | namespace UnityQuery.Tests
8 | {
9 | using NUnit.Framework;
10 |
11 | using UnityEngine;
12 |
13 | public class SwizzlingTests
14 | {
15 | #region Constants
16 |
17 | private const float X = 1;
18 |
19 | private const float Y = 2;
20 |
21 | private const float Z = 3;
22 |
23 | #endregion
24 |
25 | #region Public Methods and Operators
26 |
27 | [Test]
28 | public void TestVector2WithX()
29 | {
30 | // Arrange.
31 | var u = new Vector2(X, Y);
32 | const int NewX = 4;
33 |
34 | // Act.
35 | var v = u.WithX(NewX);
36 |
37 | // Assert.
38 | Assert.AreEqual(NewX, v.x);
39 | Assert.AreEqual(u.y, v.y);
40 | }
41 |
42 | [Test]
43 | public void TestVector2WithY()
44 | {
45 | // Arrange.
46 | var u = new Vector2(X, Y);
47 | const int NewY = 4;
48 |
49 | // Act.
50 | var v = u.WithY(NewY);
51 |
52 | // Assert.
53 | Assert.AreEqual(u.x, v.x);
54 | Assert.AreEqual(NewY, v.y);
55 | }
56 |
57 | [Test]
58 | public void TestVector3WithX()
59 | {
60 | // Arrange.
61 | var u = new Vector3(X, Y, Z);
62 | const int NewX = 4;
63 |
64 | // Act.
65 | var v = u.WithX(NewX);
66 |
67 | // Assert.
68 | Assert.AreEqual(NewX, v.x);
69 | Assert.AreEqual(u.y, v.y);
70 | Assert.AreEqual(u.z, v.z);
71 | }
72 |
73 | [Test]
74 | public void TestVector3WithY()
75 | {
76 | // Arrange.
77 | var u = new Vector3(X, Y, Z);
78 | const int NewY = 4;
79 |
80 | // Act.
81 | var v = u.WithY(NewY);
82 |
83 | // Assert.
84 | Assert.AreEqual(u.x, v.x);
85 | Assert.AreEqual(NewY, v.y);
86 | Assert.AreEqual(u.z, v.z);
87 | }
88 |
89 | [Test]
90 | public void TestVector3WithZ()
91 | {
92 | // Arrange.
93 | var u = new Vector3(X, Y, Z);
94 | const int NewZ = 4;
95 |
96 | // Act.
97 | var v = u.WithZ(NewZ);
98 |
99 | // Assert.
100 | Assert.AreEqual(u.x, v.x);
101 | Assert.AreEqual(u.y, v.y);
102 | Assert.AreEqual(NewZ, v.z);
103 | }
104 |
105 | [Test]
106 | public void TestVector3XY()
107 | {
108 | // Arrange.
109 | var u = new Vector3(X, Y, Z);
110 |
111 | // Act.
112 | var v = u.XY();
113 |
114 | // Assert.
115 | Assert.AreEqual(X, v.x);
116 | Assert.AreEqual(Y, v.y);
117 | }
118 |
119 | [Test]
120 | public void TestVector3XZ()
121 | {
122 | // Arrange.
123 | var u = new Vector3(X, Y, Z);
124 |
125 | // Act.
126 | var v = u.XZ();
127 |
128 | // Assert.
129 | Assert.AreEqual(X, v.x);
130 | Assert.AreEqual(Z, v.y);
131 | }
132 |
133 | [Test]
134 | public void TestVector3YZ()
135 | {
136 | // Arrange.
137 | var u = new Vector3(X, Y, Z);
138 |
139 | // Act.
140 | var v = u.YZ();
141 |
142 | // Assert.
143 | Assert.AreEqual(Y, v.x);
144 | Assert.AreEqual(Z, v.y);
145 | }
146 |
147 | #endregion
148 | }
149 | }
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery.Tests/Editor/SwizzlingTests.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9c4c4aa9c53f9514796f3ee4fd01b460
3 | timeCreated: 1436292606
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7df5cc98361ed1c4aa206edc66610248
3 | folderAsset: yes
4 | timeCreated: 1436293054
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 12c0e8f3ca353ef4f9b78ebfb5e2a6a9
3 | folderAsset: yes
4 | timeCreated: 1436293054
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery/Scripts/Collections.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright (c) Nick Prühs. All rights reserved.
4 | //
5 | // --------------------------------------------------------------------------------------------------------------------
6 |
7 | namespace UnityQuery
8 | {
9 | using System;
10 | using System.Collections;
11 | using System.Collections.Generic;
12 | using System.Linq;
13 | using System.Text;
14 |
15 | public static class Collections
16 | {
17 | #region Public Methods and Operators
18 |
19 | ///
20 | /// Checks whether a sequence contains all elements of another one.
21 | ///
22 | /// Type of the elements of the sequence to check.
23 | /// Containing sequence.
24 | /// Contained sequence.
25 | ///
26 | /// true, if the sequence contains all elements of the other one, and
27 | /// false otherwise.
28 | ///
29 | public static bool ContainsAll(this IEnumerable first, IEnumerable second)
30 | {
31 | return second.All(first.Contains);
32 | }
33 |
34 | ///
35 | /// Tries to get the value with the specified key from the
36 | /// dictionary, and returns the passed default value if the key
37 | /// could not be found.
38 | ///
39 | /// Type of the dictionary keys.
40 | /// Type of the dictionary values.
41 | ///
42 | /// Dictionary to get the value from.
43 | ///
44 | ///
45 | /// Key of the value to get.
46 | ///
47 | ///
48 | /// Default value to return if the specified key could not be found.
49 | ///
50 | ///
51 | /// Value with the specified , if found,
52 | /// and otherwise.
53 | ///
54 | public static TValue GetValueOrDefault(
55 | this IDictionary dictionary,
56 | TKey key,
57 | TValue defaultValue)
58 | {
59 | TValue value;
60 | return dictionary.TryGetValue(key, out value) ? value : defaultValue;
61 | }
62 |
63 | ///
64 | /// Tries to get the value with the specified key from the
65 | /// dictionary, and returns the default value of the key type
66 | /// if the key could not be found.
67 | ///
68 | /// Type of the dictionary keys.
69 | /// Type of the dictionary values.
70 | ///
71 | /// Dictionary to get the value from.
72 | ///
73 | ///
74 | /// Key of the value to get.
75 | ///
76 | ///
77 | /// Value with the specified , if found,
78 | /// and the default value of otherwise.
79 | ///
80 | public static TValue GetValueOrDefault(this IDictionary dictionary, TKey key)
81 | {
82 | TValue value;
83 | return dictionary.TryGetValue(key, out value) ? value : default(TValue);
84 | }
85 |
86 | ///
87 | /// Returns the zero-based index of the first occurrence of the specified item in a sequence.
88 | ///
89 | /// Type of the elements of the sequence.
90 | /// Sequence to search.
91 | /// Item to search for.
92 | ///
93 | /// Index of the specified item, if it could be found,
94 | /// and -1 otherwise.
95 | ///
96 | public static int IndexOf(this IEnumerable items, T item)
97 | {
98 | var index = 0;
99 |
100 | foreach (var i in items)
101 | {
102 | if (Equals(i, item))
103 | {
104 | return index;
105 | }
106 |
107 | ++index;
108 | }
109 |
110 | return -1;
111 | }
112 |
113 | ///
114 | /// Returns the zero-based index of the first item in a sequence that satisfies a condition.
115 | ///
116 | /// Type of the elements of the sequence.
117 | /// Sequence to search.
118 | /// Function to test each element for a condition..
119 | ///
120 | /// Index of the first item satisfying the condition, if any could be found,
121 | /// and -1 otherwise.
122 | ///
123 | public static int IndexOf(this IEnumerable items, Func predicate)
124 | {
125 | var index = 0;
126 |
127 | foreach (var i in items)
128 | {
129 | if (predicate(i))
130 | {
131 | return index;
132 | }
133 |
134 | ++index;
135 | }
136 |
137 | return -1;
138 | }
139 |
140 | ///
141 | /// Determines whether a sequence is null or doesn't contain any elements.
142 | ///
143 | /// Type of the elements of the sequence to check.
144 | /// Sequence to check.
145 | ///
146 | /// true if the sequence is null or empty, and
147 | /// false otherwise.
148 | ///
149 | public static bool IsNullOrEmpty(this IEnumerable sequence)
150 | {
151 | if (sequence == null)
152 | {
153 | return true;
154 | }
155 |
156 | return !sequence.Any();
157 | }
158 |
159 | ///
160 | /// Returns a comma-separated string that represents a sequence.
161 | ///
162 | /// Sequence to get a textual representation of.
163 | /// Comma-separated string that represents the sequence.
164 | public static string SequenceToString(this IEnumerable sequence)
165 | {
166 | // Check empty sequence.
167 | if (sequence == null)
168 | {
169 | return "null";
170 | }
171 |
172 | var stringBuilder = new StringBuilder();
173 |
174 | // Add opening bracket.
175 | stringBuilder.Append("[");
176 |
177 | foreach (var element in sequence)
178 | {
179 | var elementString = element as string;
180 | if (elementString == null)
181 | {
182 | // Handle nested enumerables.
183 | var elementEnumerable = element as IEnumerable;
184 | elementString = elementEnumerable != null
185 | ? elementEnumerable.SequenceToString()
186 | : element.ToString();
187 | }
188 |
189 | // Add comma.
190 | stringBuilder.AppendFormat("{0},", elementString);
191 | }
192 |
193 | // Empty sequence.
194 | if (stringBuilder.Length <= 1)
195 | {
196 | return "[]";
197 | }
198 |
199 | // Add closing bracket.
200 | stringBuilder[stringBuilder.Length - 1] = ']';
201 | return stringBuilder.ToString();
202 | }
203 |
204 | #endregion
205 | }
206 | }
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery/Scripts/Collections.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 07cc0c2ad3e48704e9ab86accdcf1f2e
3 | timeCreated: 1436294295
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery/Scripts/Colors.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright (c) Nick Prühs. All rights reserved.
4 | //
5 | // --------------------------------------------------------------------------------------------------------------------
6 |
7 | namespace UnityQuery
8 | {
9 | using UnityEngine;
10 |
11 | public static class Colors
12 | {
13 | #region Public Methods and Operators
14 |
15 | public static Color WithAlpha(this Color c, float newAlpha)
16 | {
17 | return new Color(c.r, c.g, c.b, newAlpha);
18 | }
19 |
20 | public static Color WithAlpha(this Color c, byte newAlpha)
21 | {
22 | Color32 color = c;
23 | return new Color32(color.r, color.g, color.b, newAlpha);
24 | }
25 |
26 | public static Color WithBlue(this Color c, float newBlue)
27 | {
28 | return new Color(c.r, c.g, newBlue, c.a);
29 | }
30 |
31 | public static Color WithBlue(this Color c, byte newBlue)
32 | {
33 | Color32 color = c;
34 | return new Color32(color.r, color.g, newBlue, color.a);
35 | }
36 |
37 | public static Color WithGreen(this Color c, float newGreen)
38 | {
39 | return new Color(c.r, newGreen, c.b, c.a);
40 | }
41 |
42 | public static Color WithGreen(this Color c, byte newGreen)
43 | {
44 | Color32 color = c;
45 | return new Color32(color.r, newGreen, color.b, color.a);
46 | }
47 |
48 | public static Color WithRed(this Color c, float newRed)
49 | {
50 | return new Color(newRed, c.g, c.b, c.a);
51 | }
52 |
53 | public static Color WithRed(this Color c, byte newRed)
54 | {
55 | Color32 color = c;
56 | return new Color32(newRed, color.g, color.b, color.a);
57 | }
58 |
59 | #endregion
60 | }
61 | }
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery/Scripts/Colors.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d79067b285f1a304f92a4d28de686de0
3 | timeCreated: 1437081242
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery/Scripts/Components.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright (c) Nick Prühs. All rights reserved.
4 | //
5 | // --------------------------------------------------------------------------------------------------------------------
6 |
7 | namespace UnityQuery
8 | {
9 | using UnityEngine;
10 |
11 | public static class Components
12 | {
13 | #region Public Methods and Operators
14 |
15 | ///
16 | /// Tries to get the component on the same of type .
17 | ///
18 | /// Type of the component to get.
19 | /// on the game object to try to get the component of.
20 | /// Found component, or null otherwise.
21 | /// true if a component was found, and false otherwise.
22 | public static bool TryGetComponent(this Component obj, out T component)
23 | {
24 | component = obj.GetComponent();
25 | return component != null;
26 | }
27 |
28 | #endregion
29 | }
30 | }
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery/Scripts/Components.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 26d6f16052f6bbe408188cc00fd92088
3 | timeCreated: 1488569976
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery/Scripts/GameObjects.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright (c) Nick Prühs. All rights reserved.
4 | //
5 | // --------------------------------------------------------------------------------------------------------------------
6 |
7 | namespace UnityQuery
8 | {
9 | using System.Linq;
10 |
11 | using UnityEngine;
12 |
13 | public static class GameObjects
14 | {
15 | #region Public Methods and Operators
16 |
17 | ///
18 | /// Instantiates a new game object and parents it to this one.
19 | /// Resets position, rotation and scale and inherits the layer.
20 | ///
21 | /// Game object to add the child to.
22 | /// New child.
23 | public static GameObject AddChild(this GameObject parent)
24 | {
25 | return parent.AddChild("New Game Object");
26 | }
27 |
28 | ///
29 | /// Instantiates a new game object and parents it to this one.
30 | /// Resets position, rotation and scale and inherits the layer.
31 | ///
32 | /// Game object to add the child to.
33 | /// Name of the child to add.
34 | /// New child.
35 | public static GameObject AddChild(this GameObject parent, string name)
36 | {
37 | var go = AddChild(parent, (GameObject)null);
38 | go.name = name;
39 | return go;
40 | }
41 |
42 | ///
43 | /// Instantiates a prefab and parents it to this one.
44 | /// Resets position, rotation and scale and inherits the layer.
45 | ///
46 | /// Game object to add the child to.
47 | /// Prefab to instantiate.
48 | /// New prefab instance.
49 | public static GameObject AddChild(this GameObject parent, GameObject prefab)
50 | {
51 | var go = prefab != null ? Object.Instantiate(prefab) : new GameObject();
52 | if (go == null || parent == null)
53 | {
54 | return go;
55 | }
56 |
57 | var transform = go.transform;
58 | transform.SetParent(parent.transform);
59 | transform.Reset();
60 | go.layer = parent.layer;
61 | return go;
62 | }
63 |
64 | ///
65 | /// Destroys all children of a object.
66 | ///
67 | /// Game object to destroy all children of.
68 | public static void DestroyChildren(this GameObject gameObject)
69 | {
70 | foreach (var child in gameObject.GetChildren())
71 | {
72 | // Hide immediately.
73 | child.SetActive(false);
74 |
75 | if (Application.isEditor && !Application.isPlaying)
76 | {
77 | Object.DestroyImmediate(child);
78 | }
79 | else
80 | {
81 | Object.Destroy(child);
82 | }
83 | }
84 | }
85 |
86 | ///
87 | /// Gets the component of type if the game object has one attached,
88 | /// and adds and returns a new one if it doesn't.
89 | ///
90 | /// Type of the component to get or add.
91 | /// Game object to get the component of.
92 | ///
93 | /// Component of type attached to the game object.
94 | ///
95 | public static T GetOrAddComponent(this GameObject gameObject) where T : Component
96 | {
97 | return gameObject.GetComponent() ?? gameObject.AddComponent();
98 | }
99 |
100 | ///
101 | /// Returns the full path of a game object, i.e. the names of all
102 | /// ancestors and the game object itself.
103 | ///
104 | /// Game object to get the path of.
105 | /// Full path of the game object.
106 | public static string GetPath(this GameObject gameObject)
107 | {
108 | return
109 | gameObject.GetAncestorsAndSelf()
110 | .Reverse()
111 | .Aggregate(string.Empty, (path, go) => path + "/" + go.name)
112 | .Substring(1);
113 | }
114 |
115 | ///
116 | /// Resets the local position, rotation and scale of a transform.
117 | ///
118 | /// Transform to reset.
119 | public static void Reset(this Transform transform)
120 | {
121 | transform.localPosition = Vector3.zero;
122 | transform.localRotation = Quaternion.identity;
123 | transform.localScale = Vector3.one;
124 | }
125 |
126 | ///
127 | /// Sets the layer of the game object.
128 | ///
129 | /// Game object to set the layer of.
130 | /// Name of the new layer.
131 | public static void SetLayer(this GameObject gameObject, string layerName)
132 | {
133 | var layer = LayerMask.NameToLayer(layerName);
134 | gameObject.layer = layer;
135 | }
136 |
137 | ///
138 | /// Sets the layers of all queried game objects.
139 | ///
140 | /// Game objects to set the layers of.
141 | /// Name of the new layer.
142 | /// Query for further execution.
143 | public static Query SetLayers(this Query gameObjects, string layerName)
144 | {
145 | var layer = LayerMask.NameToLayer(layerName);
146 | foreach (var o in gameObjects)
147 | {
148 | o.layer = layer;
149 | }
150 | return gameObjects;
151 | }
152 |
153 | ///
154 | /// Sets the tags of all queried game objects.
155 | ///
156 | /// Game objects to set the tags of.
157 | /// Name of the new tag.
158 | /// Query for further execution.
159 | public static Query SetTags(this Query gameObjects, string tag)
160 | {
161 | foreach (var gameObject in gameObjects)
162 | {
163 | gameObject.tag = tag;
164 | }
165 | return gameObjects;
166 | }
167 |
168 | ///
169 | /// Tries to get the component on the same of type .
170 | ///
171 | /// Type of the component to get.
172 | /// to try to get the component of.
173 | /// Found component, or null otherwise.
174 | /// true if a component was found, and false otherwise.
175 | public static bool TryGetComponent(this GameObject obj, out T component)
176 | {
177 | component = obj.GetComponent();
178 | return component != null;
179 | }
180 |
181 | #endregion
182 | }
183 | }
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery/Scripts/GameObjects.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4189f093c88a304498214e7551c4c0f6
3 | timeCreated: 1436295413
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery/Scripts/Hierarchy.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright (c) Nick Prühs. All rights reserved.
4 | //
5 | // --------------------------------------------------------------------------------------------------------------------
6 |
7 | namespace UnityQuery
8 | {
9 | using System.Collections.Generic;
10 | using System.Linq;
11 |
12 | using UnityEngine;
13 |
14 | public static class Hierarchy
15 | {
16 | #region Public Methods and Operators
17 |
18 | ///
19 | /// Selects all ancestors (parent, grandparent, etc.) of a game object.
20 | ///
21 | /// Game object to select the ancestors of.
22 | /// All ancestors of the object.
23 | public static IEnumerable GetAncestors(this GameObject gameObject)
24 | {
25 | var parent = gameObject.transform.parent;
26 |
27 | while (parent != null)
28 | {
29 | yield return parent.gameObject;
30 | parent = parent.parent;
31 | }
32 | }
33 |
34 | ///
35 | /// Selects all ancestors (parent, grandparent, etc.) of a game object,
36 | /// and the game object itself.
37 | ///
38 | /// Game object to select the ancestors of.
39 | ///
40 | /// All ancestors of the game object,
41 | /// and the game object itself.
42 | ///
43 | public static IEnumerable GetAncestorsAndSelf(this GameObject gameObject)
44 | {
45 | yield return gameObject;
46 |
47 | foreach (var ancestor in gameObject.GetAncestors())
48 | {
49 | yield return ancestor;
50 | }
51 | }
52 |
53 | ///
54 | /// Selects all children of a game object.
55 | ///
56 | /// Game object to select the children of.
57 | /// All children of the game object.
58 | public static IEnumerable GetChildren(this GameObject gameObject)
59 | {
60 | return (from Transform child in gameObject.transform select child.gameObject);
61 | }
62 |
63 | ///
64 | /// Selects all descendants (children, grandchildren, etc.) of a game object.
65 | ///
66 | /// Game object to select the descendants of.
67 | /// All descendants of the game object.
68 | public static IEnumerable GetDescendants(this GameObject gameObject)
69 | {
70 | foreach (var child in gameObject.GetChildren())
71 | {
72 | yield return child;
73 |
74 | // Depth-first.
75 | foreach (var descendant in child.GetDescendants())
76 | {
77 | yield return descendant;
78 | }
79 | }
80 | }
81 |
82 | ///
83 | /// Selects all descendants (children, grandchildren, etc.) of a
84 | /// game object, and the game object itself.
85 | ///
86 | /// Game object to select the descendants of.
87 | ///
88 | /// All descendants of the game object,
89 | /// and the game object itself.
90 | ///
91 | public static IEnumerable GetDescendantsAndSelf(this GameObject gameObject)
92 | {
93 | yield return gameObject;
94 |
95 | foreach (var descendant in gameObject.GetDescendants())
96 | {
97 | yield return descendant;
98 | }
99 | }
100 |
101 | ///
102 | /// Gets the hierarchy root of the game object.
103 | ///
104 | /// Game object to get the root of.
105 | /// Root of the specified game object.
106 | public static GameObject GetRoot(this GameObject gameObject)
107 | {
108 | var root = gameObject.transform;
109 |
110 | while (root.parent != null)
111 | {
112 | root = root.parent;
113 | }
114 |
115 | return root.gameObject;
116 | }
117 |
118 | ///
119 | /// Indicates whether the a game object is an ancestor of another one.
120 | ///
121 | /// Possible ancestor.
122 | /// Possible descendant.
123 | ///
124 | /// true, if the game object is an ancestor of the other one, and
125 | /// false otherwise.
126 | ///
127 | public static bool IsAncestorOf(this GameObject gameObject, GameObject descendant)
128 | {
129 | return gameObject.GetDescendants().Contains(descendant);
130 | }
131 |
132 | ///
133 | /// Indicates whether the a game object is a descendant of another one.
134 | ///
135 | /// Possible descendant.
136 | /// Possible ancestor.
137 | ///
138 | /// true, if the game object is a descendant of the other one, and
139 | /// false otherwise.
140 | ///
141 | public static bool IsDescendantOf(this GameObject gameObject, GameObject ancestor)
142 | {
143 | return gameObject.GetAncestors().Contains(ancestor);
144 | }
145 |
146 | ///
147 | /// Filters a sequence of game objects by layer.
148 | ///
149 | /// Game objects to filter.
150 | /// Layer to get the game objects of.
151 | /// Game objects on the specified layer.
152 | public static IEnumerable OnLayer(this IEnumerable gameObjects, int layer)
153 | {
154 | return gameObjects.Where(gameObject => Equals(gameObject.layer, layer));
155 | }
156 |
157 | ///
158 | /// Filters a sequence of game objects by layer.
159 | ///
160 | /// Game objects to filter.
161 | /// Layer to get the game objects of.
162 | /// Game objects on the specified layer.
163 | public static IEnumerable OnLayer(this IEnumerable gameObjects, string layerName)
164 | {
165 | var layer = LayerMask.NameToLayer(layerName);
166 | return gameObjects.Where(gameObject => Equals(gameObject.layer, layer));
167 | }
168 |
169 | ///
170 | /// Filters a sequence of game objects by tag.
171 | ///
172 | /// Game objects to filter.
173 | /// Tag to get the game objects of.
174 | /// Game objects with the specified tag.
175 | public static IEnumerable WithTag(this IEnumerable gameObjects, string tag)
176 | {
177 | return gameObjects.Where(gameObject => Equals(gameObject.tag, tag));
178 | }
179 |
180 | #endregion
181 | }
182 | }
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery/Scripts/Hierarchy.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 675b415b7d81ee4459d1974eb69b9700
3 | timeCreated: 1438628542
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery/Scripts/Log.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright (c) Nick Prühs. All rights reserved.
4 | //
5 | // --------------------------------------------------------------------------------------------------------------------
6 |
7 | namespace UnityQuery
8 | {
9 | using UnityEngine;
10 |
11 | public static class Log
12 | {
13 | #region Public Methods and Operators
14 |
15 | public static void Error(Object context, string s)
16 | {
17 | Debug.LogError(s.ToLogString(context), context);
18 | }
19 |
20 | public static void Error(Object context, string s, params object[] args)
21 | {
22 | Debug.LogErrorFormat(context, s.ToLogString(context), args);
23 | }
24 |
25 | public static void Info(Object context, string s)
26 | {
27 | Debug.Log(s.ToLogString(context), context);
28 | }
29 |
30 | public static void Info(Object context, string s, params object[] args)
31 | {
32 | Debug.LogFormat(context, s.ToLogString(context), args);
33 | }
34 |
35 | public static void Warn(Object context, string s)
36 | {
37 | Debug.LogWarning(s.ToLogString(context), context);
38 | }
39 |
40 | public static void Warn(Object context, string s, params object[] args)
41 | {
42 | Debug.LogWarningFormat(context, s.ToLogString(context), args);
43 | }
44 |
45 | public static string WithFrame(this string s)
46 | {
47 | return string.Format("[{0:00000}] {1}", Time.frameCount, s);
48 | }
49 |
50 | public static string WithObjectName(this string s, Object o)
51 | {
52 | return string.Format("[{0}] {1}", o.name, s);
53 | }
54 |
55 | public static string WithTimestamp(this string s)
56 | {
57 | return string.Format("[{0:000.000}] {1}", Time.realtimeSinceStartup, s);
58 | }
59 |
60 | #endregion
61 |
62 | #region Methods
63 |
64 | private static string ToLogString(this string s, Object context)
65 | {
66 | return s.WithObjectName(context).WithTimestamp();
67 | }
68 |
69 | #endregion
70 | }
71 | }
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery/Scripts/Log.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6e3bbbdab10aa4a439820b9eac6f89e3
3 | timeCreated: 1436464446
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery/Scripts/Picking.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright (c) Nick Prühs. All rights reserved.
4 | //
5 | // --------------------------------------------------------------------------------------------------------------------
6 |
7 | namespace UnityQuery
8 | {
9 | using UnityEngine;
10 |
11 | public static class Picking
12 | {
13 | #region Constants
14 |
15 | private const float DefaultDistance = 1000.0f;
16 |
17 | private const int DefaultLayerMask = -1;
18 |
19 | private static readonly Plane DefaultPlane = new Plane(Vector3.up, Vector3.zero);
20 |
21 | #endregion
22 |
23 | #region Properties
24 |
25 | private static Vector3 DefaultPosition
26 | {
27 | get
28 | {
29 | return Input.mousePosition;
30 | }
31 | }
32 |
33 | #endregion
34 |
35 | #region Public Methods and Operators
36 |
37 | ///
38 | /// Picks the object seen by the camera at the current mouse position.
39 | ///
40 | /// Camera to cast the ray from.
41 | ///
42 | /// Object seen by the camera at the current mouse position, if any, and
43 | /// null otherwise.
44 | ///
45 | public static Transform PickObject(this Camera camera)
46 | {
47 | return camera.PickObject(DefaultPosition);
48 | }
49 |
50 | ///
51 | /// Picks the object seen by the camera at the specified screen position.
52 | ///
53 | /// Camera to cast the ray from.
54 | /// Screen position to cast the ray to.
55 | ///
56 | /// Object seen by the camera at the specified screen position, if any, and
57 | /// null otherwise.
58 | ///
59 | public static Transform PickObject(this Camera camera, Vector3 screenPosition)
60 | {
61 | return camera.PickObject(screenPosition, DefaultLayerMask);
62 | }
63 |
64 | ///
65 | /// Picks the object seen by the camera at the current mouse position.
66 | ///
67 | /// Camera to cast the ray from.
68 | /// Layers of objects to pick.
69 | ///
70 | /// Object seen by the camera at the current mouse position, if any, and
71 | /// null otherwise.
72 | ///
73 | public static Transform PickObject(this Camera camera, LayerMask layerMask)
74 | {
75 | return camera.PickObject(DefaultPosition, layerMask);
76 | }
77 |
78 | ///
79 | /// Picks the object seen by the camera at the current mouse position.
80 | ///
81 | /// Camera to cast the ray from.
82 | /// Maximum distance to pick objects in.
83 | ///
84 | /// Object seen by the camera at the current mouse position, if any, and
85 | /// null otherwise.
86 | ///
87 | public static Transform PickObject(this Camera camera, float maxDistance)
88 | {
89 | return camera.PickObject(DefaultPosition, maxDistance);
90 | }
91 |
92 | ///
93 | /// Picks the object seen by the camera at the specified screen position.
94 | ///
95 | /// Camera to cast the ray from.
96 | /// Screen position to cast the ray to.
97 | /// Layers of objects to pick.
98 | ///
99 | /// Object seen by the camera at the specified screen position, if any, and
100 | /// null otherwise.
101 | ///
102 | public static Transform PickObject(this Camera camera, Vector3 screenPosition, LayerMask layerMask)
103 | {
104 | return camera.PickObject(screenPosition, layerMask, DefaultDistance);
105 | }
106 |
107 | ///
108 | /// Picks the object seen by the camera at the specified screen position.
109 | ///
110 | /// Camera to cast the ray from.
111 | /// Screen position to cast the ray to.
112 | /// Maximum distance to pick objects in.
113 | ///
114 | /// Object seen by the camera at the specified screen position, if any, and
115 | /// null otherwise.
116 | ///
117 | public static Transform PickObject(this Camera camera, Vector3 screenPosition, float maxDistance)
118 | {
119 | return camera.PickObject(screenPosition, DefaultLayerMask, maxDistance);
120 | }
121 |
122 | ///
123 | /// Picks the object seen by the camera at the current mouse position.
124 | ///
125 | /// Camera to cast the ray from.
126 | /// Layers of objects to pick.
127 | /// Maximum distance to pick objects in.
128 | ///
129 | /// Object seen by the camera at the current mouse position, if any, and
130 | /// null otherwise.
131 | ///
132 | public static Transform PickObject(this Camera camera, LayerMask layerMask, float maxDistance)
133 | {
134 | return camera.PickObject(DefaultPosition, layerMask, maxDistance);
135 | }
136 |
137 | ///
138 | /// Picks the object seen by the camera at the specified screen position.
139 | ///
140 | /// Camera to cast the ray from.
141 | /// Screen position to cast the ray to.
142 | /// Layers of objects to pick.
143 | /// Maximum distance to pick objects in.
144 | ///
145 | /// Object seen by the camera at the specified screen position, if any, and
146 | /// null otherwise.
147 | ///
148 | public static Transform PickObject(
149 | this Camera camera,
150 | Vector3 screenPosition,
151 | LayerMask layerMask,
152 | float maxDistance)
153 | {
154 | var ray = camera.ScreenPointToRay(screenPosition);
155 | RaycastHit hitInfo;
156 | return Physics.Raycast(ray, out hitInfo, maxDistance, layerMask) ? hitInfo.transform : null;
157 | }
158 |
159 | ///
160 | /// Picks the world position on the XZ plane seen by the camera at the current mouse position.
161 | ///
162 | /// Camera to cast the ray from.
163 | /// Plane position seen by the camera at the current mouse position.
164 | ///
165 | /// true, if any position on the XZ plane was seen by the camera at the current mouse position, and
166 | /// false otherwise.
167 | ///
168 | public static bool PickPosition(this Camera camera, out Vector3 position)
169 | {
170 | return camera.PickPosition(DefaultPosition, out position);
171 | }
172 |
173 | ///
174 | /// Picks the world position on the XZ plane seen by the camera at the specified screen position.
175 | ///
176 | /// Camera to cast the ray from.
177 | /// Screen position to cast the ray to.
178 | /// Plane position seen by the camera at the specified screen position.
179 | ///
180 | /// true, if any position on the XZ plane was seen by the camera at the specified screen position, and
181 | /// false otherwise.
182 | ///
183 | public static bool PickPosition(this Camera camera, Vector3 screenPosition, out Vector3 position)
184 | {
185 | return camera.PickPosition(screenPosition, DefaultPlane, out position);
186 | }
187 |
188 | ///
189 | /// Picks the plane position seen by the camera at the current mouse position.
190 | ///
191 | /// Camera to cast the ray from.
192 | /// Plane to cast the ray against.
193 | /// Plane position seen by the camera at the current mouse position.
194 | ///
195 | /// true, if any position on the plane was seen by the camera at the current mouse position, and
196 | /// false otherwise.
197 | ///
198 | public static bool PickPosition(this Camera camera, Plane plane, out Vector3 position)
199 | {
200 | return camera.PickPosition(DefaultPosition, plane, out position);
201 | }
202 |
203 | ///
204 | /// Picks the plane position seen by the camera at the specified screen position.
205 | ///
206 | /// Camera to cast the ray from.
207 | /// Screen position to cast the ray to.
208 | /// Plane to cast the ray against.
209 | /// Plane position seen by the camera at the specified screen position.
210 | ///
211 | /// true, if any position on the plane was seen by the camera at the specified screen position, and
212 | /// false otherwise.
213 | ///
214 | public static bool PickPosition(this Camera camera, Vector3 screenPosition, Plane plane, out Vector3 position)
215 | {
216 | float distance;
217 | var ray = camera.ScreenPointToRay(screenPosition);
218 |
219 | if (plane.Raycast(ray, out distance))
220 | {
221 | position = ray.GetPoint(distance);
222 | return true;
223 | }
224 |
225 | position = Vector3.zero;
226 | return false;
227 | }
228 |
229 | #endregion
230 | }
231 | }
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery/Scripts/Picking.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 21c14ea094b17b74782138373ed2b0e4
3 | timeCreated: 1436464987
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery/Scripts/Query.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright (c) Nick Prühs. All rights reserved.
4 | //
5 | // --------------------------------------------------------------------------------------------------------------------
6 |
7 | namespace UnityQuery
8 | {
9 | using System.Collections;
10 | using System.Collections.Generic;
11 | using System.Linq;
12 |
13 | ///
14 | /// Wraps a sequence of objects, forcing immediate execution of an
15 | /// enumeration.
16 | ///
17 | ///
18 | public class Query : IEnumerable
19 | {
20 | #region Fields
21 |
22 | private readonly List sequence;
23 |
24 | #endregion
25 |
26 | #region Constructors and Destructors
27 |
28 | ///
29 | /// Wraps the passed sequence of objects, forcing immediate execution.
30 | ///
31 | ///
32 | public Query(IEnumerable sequence)
33 | {
34 | this.sequence = sequence.ToList();
35 | }
36 |
37 | ///
38 | /// Wraps the passed sequence of objects, forcing immediate execution.
39 | ///
40 | ///
41 | public Query(List sequence)
42 | {
43 | this.sequence = sequence;
44 | }
45 |
46 | #endregion
47 |
48 | #region Public Methods and Operators
49 |
50 | public IEnumerator GetEnumerator()
51 | {
52 | return this.sequence.GetEnumerator();
53 | }
54 |
55 | #endregion
56 |
57 | #region Methods
58 |
59 | IEnumerator IEnumerable.GetEnumerator()
60 | {
61 | return this.GetEnumerator();
62 | }
63 |
64 | #endregion
65 | }
66 | }
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery/Scripts/Query.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4f480abe504c5cd4ab3d9966d522ed74
3 | timeCreated: 1438629817
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery/Scripts/QueryExtensions.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright (c) Nick Prühs. All rights reserved.
4 | //
5 | // --------------------------------------------------------------------------------------------------------------------
6 |
7 | namespace UnityQuery
8 | {
9 | using System.Collections.Generic;
10 |
11 | using UnityEngine;
12 |
13 | public static class QueryExtensions
14 | {
15 | #region Public Methods and Operators
16 |
17 | ///
18 | /// Forces immediate execution of the query, enabling further
19 | /// operations such as changing the layers or tags of all queried
20 | /// objects.
21 | ///
22 | /// Enumeration to evaluate.
23 | /// Query for further execution.
24 | public static Query AsQuery(this IEnumerable gameObjects)
25 | {
26 | return new Query(gameObjects);
27 | }
28 |
29 | ///
30 | /// Forces immediate execution of the query, enabling further
31 | /// operations such as changing the layers or tags of all queried
32 | /// objects.
33 | ///
34 | /// Enumeration to evaluate.
35 | /// Query for further execution.
36 | public static Query AsQuery(this List gameObjects)
37 | {
38 | return new Query(gameObjects);
39 | }
40 |
41 | #endregion
42 | }
43 | }
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery/Scripts/QueryExtensions.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f9be1544bed8c894486851cef50aa1de
3 | timeCreated: 1438630422
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery/Scripts/Swizzling.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright (c) Nick Prühs. All rights reserved.
4 | //
5 | // --------------------------------------------------------------------------------------------------------------------
6 |
7 | namespace UnityQuery
8 | {
9 | using UnityEngine;
10 |
11 | public static class Swizzling
12 | {
13 | #region Public Methods and Operators
14 |
15 | public static Vector2 WithX(this Vector2 v, float newX)
16 | {
17 | return new Vector2(newX, v.y);
18 | }
19 |
20 | public static Vector3 WithX(this Vector3 v, float newX)
21 | {
22 | return new Vector3(newX, v.y, v.z);
23 | }
24 |
25 | public static Vector2 WithY(this Vector2 v, float newY)
26 | {
27 | return new Vector2(v.x, newY);
28 | }
29 |
30 | public static Vector3 WithY(this Vector3 v, float newY)
31 | {
32 | return new Vector3(v.x, newY, v.z);
33 | }
34 |
35 | public static Vector3 WithZ(this Vector3 v, float newZ)
36 | {
37 | return new Vector3(v.x, v.y, newZ);
38 | }
39 |
40 | public static Vector2 XY(this Vector3 v)
41 | {
42 | return new Vector2(v.x, v.y);
43 | }
44 |
45 | public static Vector2 XZ(this Vector3 v)
46 | {
47 | return new Vector2(v.x, v.z);
48 | }
49 |
50 | public static Vector2 YZ(this Vector3 v)
51 | {
52 | return new Vector2(v.y, v.z);
53 | }
54 |
55 | #endregion
56 | }
57 | }
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery/Scripts/Swizzling.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2c9e43b85f895e34e95be997ecc1d961
3 | timeCreated: 1436293054
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery/UnityQuery Cheat Sheet.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/npruehs/unity-query/16894d6e8b60bd10a8e555ae60ff2dc3f6118155/Source/UnityQuery/Assets/UnityQuery/UnityQuery Cheat Sheet.pdf
--------------------------------------------------------------------------------
/Source/UnityQuery/Assets/UnityQuery/UnityQuery Cheat Sheet.pdf.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7257462531ee7ec4c881efa1f6a26eec
3 | timeCreated: 1436895814
4 | licenseType: Free
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Source/UnityQuery/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: 0
12 | m_VirtualVoiceCount: 512
13 | m_RealVoiceCount: 32
14 | m_SpatializerPlugin:
15 | m_DisableAudio: 0
16 |
--------------------------------------------------------------------------------
/Source/UnityQuery/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 |
--------------------------------------------------------------------------------
/Source/UnityQuery/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: 2
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_SolverIterationCount: 6
13 | m_QueriesHitTriggers: 1
14 | m_EnableAdaptiveForce: 0
15 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
16 |
--------------------------------------------------------------------------------
/Source/UnityQuery/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 |
--------------------------------------------------------------------------------
/Source/UnityQuery/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: 3
7 | m_ExternalVersionControlSupport: Visible Meta Files
8 | m_SerializationMode: 2
9 | m_WebSecurityEmulationEnabled: 0
10 | m_WebSecurityEmulationHostUrl: http://www.mydomain.com/mygame.unity3d
11 | m_DefaultBehaviorMode: 0
12 | m_SpritePackerMode: 2
13 | m_SpritePackerPaddingPower: 1
14 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd
15 | m_ProjectGenerationRootNamespace:
16 |
--------------------------------------------------------------------------------
/Source/UnityQuery/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: 9
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: 10770, guid: 0000000000000000f000000000000000, type: 0}
37 | - {fileID: 10782, guid: 0000000000000000f000000000000000, type: 0}
38 | m_PreloadedShaders: []
39 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
40 | type: 0}
41 | m_TierSettings_Tier1:
42 | renderingPath: 1
43 | useCascadedShadowMaps: 1
44 | m_TierSettings_Tier2:
45 | renderingPath: 1
46 | useCascadedShadowMaps: 1
47 | m_TierSettings_Tier3:
48 | renderingPath: 1
49 | useCascadedShadowMaps: 1
50 | m_DefaultRenderingPath: 1
51 | m_DefaultMobileRenderingPath: 1
52 | m_TierSettings: []
53 | m_LightmapStripping: 0
54 | m_FogStripping: 0
55 | m_LightmapKeepPlain: 1
56 | m_LightmapKeepDirCombined: 1
57 | m_LightmapKeepDirSeparate: 1
58 | m_LightmapKeepDynamicPlain: 1
59 | m_LightmapKeepDynamicDirCombined: 1
60 | m_LightmapKeepDynamicDirSeparate: 1
61 | m_FogKeepLinear: 1
62 | m_FogKeepExp: 1
63 | m_FogKeepExp2: 1
64 |
--------------------------------------------------------------------------------
/Source/UnityQuery/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 |
--------------------------------------------------------------------------------
/Source/UnityQuery/ProjectSettings/NavMeshAreas.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!126 &1
4 | NavMeshAreas:
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 |
--------------------------------------------------------------------------------
/Source/UnityQuery/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 |
--------------------------------------------------------------------------------
/Source/UnityQuery/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: 2
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_MinPenetrationForPenalty: 0.01
17 | m_BaumgarteScale: 0.2
18 | m_BaumgarteTimeOfImpactScale: 0.75
19 | m_TimeToSleep: 0.5
20 | m_LinearSleepTolerance: 0.01
21 | m_AngularSleepTolerance: 2
22 | m_QueriesHitTriggers: 1
23 | m_QueriesStartInColliders: 1
24 | m_ChangeStopsCallbacks: 0
25 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
26 |
--------------------------------------------------------------------------------
/Source/UnityQuery/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: 11
7 | productGUID: 482bdfbc8091bf94bacd444d023ee1bc
8 | AndroidProfiler: 0
9 | defaultScreenOrientation: 4
10 | targetDevice: 2
11 | useOnDemandResources: 0
12 | accelerometerFrequency: 60
13 | companyName: DefaultCompany
14 | productName: UnityQuery
15 | defaultCursor: {fileID: 0}
16 | cursorHotspot: {x: 0, y: 0}
17 | m_SplashScreenBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21176471, a: 1}
18 | m_ShowUnitySplashScreen: 1
19 | m_ShowUnitySplashLogo: 1
20 | m_SplashScreenOverlayOpacity: 1
21 | m_SplashScreenAnimation: 1
22 | m_SplashScreenLogoStyle: 1
23 | m_SplashScreenDrawMode: 0
24 | m_SplashScreenBackgroundAnimationZoom: 1
25 | m_SplashScreenLogoAnimationZoom: 1
26 | m_SplashScreenBackgroundLandscapeAspect: 1
27 | m_SplashScreenBackgroundPortraitAspect: 1
28 | m_SplashScreenBackgroundLandscapeUvs:
29 | serializedVersion: 2
30 | x: 0
31 | y: 0
32 | width: 1
33 | height: 1
34 | m_SplashScreenBackgroundPortraitUvs:
35 | serializedVersion: 2
36 | x: 0
37 | y: 0
38 | width: 1
39 | height: 1
40 | m_SplashScreenLogos: []
41 | m_SplashScreenBackgroundLandscape: {fileID: 0}
42 | m_SplashScreenBackgroundPortrait: {fileID: 0}
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_MobileMTRendering: 0
53 | m_StackTraceTypes: 010000000100000001000000010000000100000001000000
54 | iosShowActivityIndicatorOnLoading: -1
55 | androidShowActivityIndicatorOnLoading: -1
56 | tizenShowActivityIndicatorOnLoading: -1
57 | iosAppInBackgroundBehavior: 0
58 | displayResolutionDialog: 1
59 | iosAllowHTTPDownload: 1
60 | allowedAutorotateToPortrait: 1
61 | allowedAutorotateToPortraitUpsideDown: 1
62 | allowedAutorotateToLandscapeRight: 1
63 | allowedAutorotateToLandscapeLeft: 1
64 | useOSAutorotation: 1
65 | use32BitDisplayBuffer: 1
66 | disableDepthAndStencilBuffers: 0
67 | defaultIsFullScreen: 1
68 | defaultIsNativeResolution: 1
69 | runInBackground: 1
70 | captureSingleScreen: 0
71 | muteOtherAudioSources: 0
72 | Prepare IOS For Recording: 0
73 | submitAnalytics: 1
74 | usePlayerLog: 1
75 | bakeCollisionMeshes: 0
76 | forceSingleInstance: 0
77 | resizableWindow: 0
78 | useMacAppStoreValidation: 0
79 | gpuSkinning: 0
80 | graphicsJobs: 0
81 | xboxPIXTextureCapture: 0
82 | xboxEnableAvatar: 0
83 | xboxEnableKinect: 0
84 | xboxEnableKinectAutoTracking: 0
85 | xboxEnableFitness: 0
86 | visibleInBackground: 0
87 | allowFullscreenSwitch: 1
88 | graphicsJobMode: 0
89 | macFullscreenMode: 2
90 | d3d9FullscreenMode: 1
91 | d3d11FullscreenMode: 1
92 | xboxSpeechDB: 0
93 | xboxEnableHeadOrientation: 0
94 | xboxEnableGuest: 0
95 | xboxEnablePIXSampling: 0
96 | n3dsDisableStereoscopicView: 0
97 | n3dsEnableSharedListOpt: 1
98 | n3dsEnableVSync: 0
99 | ignoreAlphaClear: 0
100 | xboxOneResolution: 0
101 | xboxOneMonoLoggingLevel: 0
102 | xboxOneLoggingLevel: 1
103 | videoMemoryForVertexBuffers: 0
104 | psp2PowerMode: 0
105 | psp2AcquireBGM: 1
106 | wiiUTVResolution: 0
107 | wiiUGamePadMSAA: 1
108 | wiiUSupportsNunchuk: 0
109 | wiiUSupportsClassicController: 0
110 | wiiUSupportsBalanceBoard: 0
111 | wiiUSupportsMotionPlus: 0
112 | wiiUSupportsProController: 0
113 | wiiUAllowScreenCapture: 1
114 | wiiUControllerCount: 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: 1.0
122 | preloadedAssets: []
123 | metroInputSource: 0
124 | m_HolographicPauseOnTrackingLoss: 1
125 | xboxOneDisableKinectGpuReservation: 0
126 | xboxOneEnable7thCore: 0
127 | vrSettings:
128 | cardboard:
129 | depthFormat: 0
130 | enableTransitionView: 0
131 | daydream:
132 | depthFormat: 0
133 | useSustainedPerformanceMode: 0
134 | hololens:
135 | depthFormat: 1
136 | protectGraphicsMemory: 0
137 | useHDRDisplay: 0
138 | applicationIdentifier:
139 | Android: com.Company.ProductName
140 | Standalone: unity.DefaultCompany.UnityQuery
141 | Tizen: com.Company.ProductName
142 | iOS: com.Company.ProductName
143 | tvOS: com.Company.ProductName
144 | buildNumber:
145 | iOS: 0
146 | AndroidBundleVersionCode: 1
147 | AndroidMinSdkVersion: 16
148 | AndroidTargetSdkVersion: 0
149 | AndroidPreferredInstallLocation: 1
150 | aotOptions:
151 | stripEngineCode: 1
152 | iPhoneStrippingLevel: 0
153 | iPhoneScriptCallOptimization: 0
154 | ForceInternetPermission: 0
155 | ForceSDCardPermission: 0
156 | CreateWallpaper: 0
157 | APKExpansionFiles: 0
158 | keepLoadedShadersAlive: 0
159 | StripUnusedMeshComponents: 0
160 | VertexChannelCompressionMask:
161 | serializedVersion: 2
162 | m_Bits: 238
163 | iPhoneSdkVersion: 988
164 | iOSTargetOSVersionString: 6.0
165 | tvOSSdkVersion: 0
166 | tvOSRequireExtendedGameController: 0
167 | tvOSTargetOSVersionString: 9.0
168 | uIPrerenderedIcon: 0
169 | uIRequiresPersistentWiFi: 0
170 | uIRequiresFullScreen: 1
171 | uIStatusBarHidden: 1
172 | uIExitOnSuspend: 0
173 | uIStatusBarStyle: 0
174 | iPhoneSplashScreen: {fileID: 0}
175 | iPhoneHighResSplashScreen: {fileID: 0}
176 | iPhoneTallHighResSplashScreen: {fileID: 0}
177 | iPhone47inSplashScreen: {fileID: 0}
178 | iPhone55inPortraitSplashScreen: {fileID: 0}
179 | iPhone55inLandscapeSplashScreen: {fileID: 0}
180 | iPadPortraitSplashScreen: {fileID: 0}
181 | iPadHighResPortraitSplashScreen: {fileID: 0}
182 | iPadLandscapeSplashScreen: {fileID: 0}
183 | iPadHighResLandscapeSplashScreen: {fileID: 0}
184 | appleTVSplashScreen: {fileID: 0}
185 | tvOSSmallIconLayers: []
186 | tvOSLargeIconLayers: []
187 | tvOSTopShelfImageLayers: []
188 | tvOSTopShelfImageWideLayers: []
189 | iOSLaunchScreenType: 0
190 | iOSLaunchScreenPortrait: {fileID: 0}
191 | iOSLaunchScreenLandscape: {fileID: 0}
192 | iOSLaunchScreenBackgroundColor:
193 | serializedVersion: 2
194 | rgba: 0
195 | iOSLaunchScreenFillPct: 100
196 | iOSLaunchScreenSize: 100
197 | iOSLaunchScreenCustomXibPath:
198 | iOSLaunchScreeniPadType: 0
199 | iOSLaunchScreeniPadImage: {fileID: 0}
200 | iOSLaunchScreeniPadBackgroundColor:
201 | serializedVersion: 2
202 | rgba: 0
203 | iOSLaunchScreeniPadFillPct: 100
204 | iOSLaunchScreeniPadSize: 100
205 | iOSLaunchScreeniPadCustomXibPath:
206 | iOSDeviceRequirements: []
207 | iOSURLSchemes: []
208 | iOSBackgroundModes: 0
209 | iOSMetalForceHardShadows: 0
210 | metalEditorSupport: 1
211 | metalAPIValidation: 1
212 | appleDeveloperTeamID:
213 | iOSManualSigningProvisioningProfileID:
214 | tvOSManualSigningProvisioningProfileID:
215 | appleEnableAutomaticSigning: 0
216 | AndroidTargetDevice: 0
217 | AndroidSplashScreenScale: 0
218 | androidSplashScreen: {fileID: 0}
219 | AndroidKeystoreName:
220 | AndroidKeyaliasName:
221 | AndroidTVCompatibility: 1
222 | AndroidIsGame: 1
223 | androidEnableBanner: 1
224 | m_AndroidBanners:
225 | - width: 320
226 | height: 180
227 | banner: {fileID: 0}
228 | androidGamepadSupportLevel: 0
229 | resolutionDialogBanner: {fileID: 0}
230 | m_BuildTargetIcons: []
231 | m_BuildTargetBatching: []
232 | m_BuildTargetGraphicsAPIs: []
233 | m_BuildTargetVRSettings:
234 | - m_BuildTarget: Android
235 | m_Enabled: 0
236 | m_Devices:
237 | - Oculus
238 | - m_BuildTarget: Metro
239 | m_Enabled: 0
240 | m_Devices: []
241 | - m_BuildTarget: N3DS
242 | m_Enabled: 0
243 | m_Devices: []
244 | - m_BuildTarget: PS3
245 | m_Enabled: 0
246 | m_Devices: []
247 | - m_BuildTarget: PS4
248 | m_Enabled: 0
249 | m_Devices:
250 | - PlayStationVR
251 | - m_BuildTarget: PSM
252 | m_Enabled: 0
253 | m_Devices: []
254 | - m_BuildTarget: PSP2
255 | m_Enabled: 0
256 | m_Devices: []
257 | - m_BuildTarget: SamsungTV
258 | m_Enabled: 0
259 | m_Devices: []
260 | - m_BuildTarget: Standalone
261 | m_Enabled: 0
262 | m_Devices:
263 | - Oculus
264 | - m_BuildTarget: Tizen
265 | m_Enabled: 0
266 | m_Devices: []
267 | - m_BuildTarget: WebGL
268 | m_Enabled: 0
269 | m_Devices: []
270 | - m_BuildTarget: WebPlayer
271 | m_Enabled: 0
272 | m_Devices: []
273 | - m_BuildTarget: WiiU
274 | m_Enabled: 0
275 | m_Devices: []
276 | - m_BuildTarget: Xbox360
277 | m_Enabled: 0
278 | m_Devices: []
279 | - m_BuildTarget: XboxOne
280 | m_Enabled: 0
281 | m_Devices: []
282 | - m_BuildTarget: iOS
283 | m_Enabled: 0
284 | m_Devices: []
285 | - m_BuildTarget: tvOS
286 | m_Enabled: 0
287 | m_Devices: []
288 | openGLRequireES31: 0
289 | openGLRequireES31AEP: 0
290 | webPlayerTemplate: APPLICATION:Default
291 | m_TemplateCustomTags: {}
292 | wiiUTitleID: 0005000011000000
293 | wiiUGroupID: 00010000
294 | wiiUCommonSaveSize: 4096
295 | wiiUAccountSaveSize: 2048
296 | wiiUOlvAccessKey: 0
297 | wiiUTinCode: 0
298 | wiiUJoinGameId: 0
299 | wiiUJoinGameModeMask: 0000000000000000
300 | wiiUCommonBossSize: 0
301 | wiiUAccountBossSize: 0
302 | wiiUAddOnUniqueIDs: []
303 | wiiUMainThreadStackSize: 3072
304 | wiiULoaderThreadStackSize: 1024
305 | wiiUSystemHeapSize: 128
306 | wiiUTVStartupScreen: {fileID: 0}
307 | wiiUGamePadStartupScreen: {fileID: 0}
308 | wiiUDrcBufferDisabled: 0
309 | wiiUProfilerLibPath:
310 | actionOnDotNetUnhandledException: 1
311 | enableInternalProfiler: 0
312 | logObjCUncaughtExceptions: 1
313 | enableCrashReportAPI: 0
314 | cameraUsageDescription:
315 | locationUsageDescription:
316 | microphoneUsageDescription:
317 | switchNetLibKey:
318 | switchSocketMemoryPoolSize: 6144
319 | switchSocketAllocatorPoolSize: 128
320 | switchSocketConcurrencyLimit: 14
321 | switchUseCPUProfiler: 0
322 | switchApplicationID: 0x0005000C10000001
323 | switchNSODependencies:
324 | switchTitleNames_0:
325 | switchTitleNames_1:
326 | switchTitleNames_2:
327 | switchTitleNames_3:
328 | switchTitleNames_4:
329 | switchTitleNames_5:
330 | switchTitleNames_6:
331 | switchTitleNames_7:
332 | switchTitleNames_8:
333 | switchTitleNames_9:
334 | switchTitleNames_10:
335 | switchTitleNames_11:
336 | switchTitleNames_12:
337 | switchTitleNames_13:
338 | switchTitleNames_14:
339 | switchPublisherNames_0:
340 | switchPublisherNames_1:
341 | switchPublisherNames_2:
342 | switchPublisherNames_3:
343 | switchPublisherNames_4:
344 | switchPublisherNames_5:
345 | switchPublisherNames_6:
346 | switchPublisherNames_7:
347 | switchPublisherNames_8:
348 | switchPublisherNames_9:
349 | switchPublisherNames_10:
350 | switchPublisherNames_11:
351 | switchPublisherNames_12:
352 | switchPublisherNames_13:
353 | switchPublisherNames_14:
354 | switchIcons_0: {fileID: 0}
355 | switchIcons_1: {fileID: 0}
356 | switchIcons_2: {fileID: 0}
357 | switchIcons_3: {fileID: 0}
358 | switchIcons_4: {fileID: 0}
359 | switchIcons_5: {fileID: 0}
360 | switchIcons_6: {fileID: 0}
361 | switchIcons_7: {fileID: 0}
362 | switchIcons_8: {fileID: 0}
363 | switchIcons_9: {fileID: 0}
364 | switchIcons_10: {fileID: 0}
365 | switchIcons_11: {fileID: 0}
366 | switchIcons_12: {fileID: 0}
367 | switchIcons_13: {fileID: 0}
368 | switchIcons_14: {fileID: 0}
369 | switchSmallIcons_0: {fileID: 0}
370 | switchSmallIcons_1: {fileID: 0}
371 | switchSmallIcons_2: {fileID: 0}
372 | switchSmallIcons_3: {fileID: 0}
373 | switchSmallIcons_4: {fileID: 0}
374 | switchSmallIcons_5: {fileID: 0}
375 | switchSmallIcons_6: {fileID: 0}
376 | switchSmallIcons_7: {fileID: 0}
377 | switchSmallIcons_8: {fileID: 0}
378 | switchSmallIcons_9: {fileID: 0}
379 | switchSmallIcons_10: {fileID: 0}
380 | switchSmallIcons_11: {fileID: 0}
381 | switchSmallIcons_12: {fileID: 0}
382 | switchSmallIcons_13: {fileID: 0}
383 | switchSmallIcons_14: {fileID: 0}
384 | switchManualHTML:
385 | switchAccessibleURLs:
386 | switchLegalInformation:
387 | switchMainThreadStackSize: 1048576
388 | switchPresenceGroupId: 0x0005000C10000001
389 | switchLogoHandling: 0
390 | switchReleaseVersion: 0
391 | switchDisplayVersion: 1.0.0
392 | switchStartupUserAccount: 0
393 | switchTouchScreenUsage: 0
394 | switchSupportedLanguagesMask: 0
395 | switchLogoType: 0
396 | switchApplicationErrorCodeCategory:
397 | switchUserAccountSaveDataSize: 0
398 | switchUserAccountSaveDataJournalSize: 0
399 | switchAttribute: 0
400 | switchCardSpecSize: 4
401 | switchCardSpecClock: 25
402 | switchRatingsMask: 0
403 | switchRatingsInt_0: 0
404 | switchRatingsInt_1: 0
405 | switchRatingsInt_2: 0
406 | switchRatingsInt_3: 0
407 | switchRatingsInt_4: 0
408 | switchRatingsInt_5: 0
409 | switchRatingsInt_6: 0
410 | switchRatingsInt_7: 0
411 | switchRatingsInt_8: 0
412 | switchRatingsInt_9: 0
413 | switchRatingsInt_10: 0
414 | switchRatingsInt_11: 0
415 | switchLocalCommunicationIds_0: 0x0005000C10000001
416 | switchLocalCommunicationIds_1:
417 | switchLocalCommunicationIds_2:
418 | switchLocalCommunicationIds_3:
419 | switchLocalCommunicationIds_4:
420 | switchLocalCommunicationIds_5:
421 | switchLocalCommunicationIds_6:
422 | switchLocalCommunicationIds_7:
423 | switchParentalControl: 0
424 | switchAllowsScreenshot: 1
425 | switchDataLossConfirmation: 0
426 | ps4NPAgeRating: 12
427 | ps4NPTitleSecret:
428 | ps4NPTrophyPackPath:
429 | ps4ParentalLevel: 1
430 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000
431 | ps4Category: 0
432 | ps4MasterVersion: 01.00
433 | ps4AppVersion: 01.00
434 | ps4AppType: 0
435 | ps4ParamSfxPath:
436 | ps4VideoOutPixelFormat: 0
437 | ps4VideoOutInitialWidth: 1920
438 | ps4VideoOutBaseModeInitialWidth: 1920
439 | ps4VideoOutReprojectionRate: 120
440 | ps4PronunciationXMLPath:
441 | ps4PronunciationSIGPath:
442 | ps4BackgroundImagePath:
443 | ps4StartupImagePath:
444 | ps4SaveDataImagePath:
445 | ps4SdkOverride:
446 | ps4BGMPath:
447 | ps4ShareFilePath:
448 | ps4ShareOverlayImagePath:
449 | ps4PrivacyGuardImagePath:
450 | ps4NPtitleDatPath:
451 | ps4RemotePlayKeyAssignment: -1
452 | ps4RemotePlayKeyMappingDir:
453 | ps4PlayTogetherPlayerCount: 0
454 | ps4EnterButtonAssignment: 1
455 | ps4ApplicationParam1: 0
456 | ps4ApplicationParam2: 0
457 | ps4ApplicationParam3: 0
458 | ps4ApplicationParam4: 0
459 | ps4DownloadDataSize: 0
460 | ps4GarlicHeapSize: 2048
461 | ps4ProGarlicHeapSize: 2560
462 | ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ
463 | ps4UseDebugIl2cppLibs: 0
464 | ps4pnSessions: 1
465 | ps4pnPresence: 1
466 | ps4pnFriends: 1
467 | ps4pnGameCustomData: 1
468 | playerPrefsSupport: 0
469 | restrictedAudioUsageRights: 0
470 | ps4UseResolutionFallback: 0
471 | ps4ReprojectionSupport: 0
472 | ps4UseAudio3dBackend: 0
473 | ps4SocialScreenEnabled: 0
474 | ps4ScriptOptimizationLevel: 3
475 | ps4Audio3dVirtualSpeakerCount: 14
476 | ps4attribCpuUsage: 0
477 | ps4PatchPkgPath:
478 | ps4PatchLatestPkgPath:
479 | ps4PatchChangeinfoPath:
480 | ps4PatchDayOne: 0
481 | ps4attribUserManagement: 0
482 | ps4attribMoveSupport: 0
483 | ps4attrib3DSupport: 0
484 | ps4attribShareSupport: 0
485 | ps4attribExclusiveVR: 0
486 | ps4disableAutoHideSplash: 0
487 | ps4videoRecordingFeaturesUsed: 0
488 | ps4contentSearchFeaturesUsed: 0
489 | ps4attribEyeToEyeDistanceSettingVR: 0
490 | ps4IncludedModules: []
491 | monoEnv:
492 | psp2Splashimage: {fileID: 0}
493 | psp2NPTrophyPackPath:
494 | psp2NPSupportGBMorGJP: 0
495 | psp2NPAgeRating: 12
496 | psp2NPTitleDatPath:
497 | psp2NPCommsID:
498 | psp2NPCommunicationsID:
499 | psp2NPCommsPassphrase:
500 | psp2NPCommsSig:
501 | psp2ParamSfxPath:
502 | psp2ManualPath:
503 | psp2LiveAreaGatePath:
504 | psp2LiveAreaBackroundPath:
505 | psp2LiveAreaPath:
506 | psp2LiveAreaTrialPath:
507 | psp2PatchChangeInfoPath:
508 | psp2PatchOriginalPackage:
509 | psp2PackagePassword: F69AzBlax3CF3EDNhm3soLBPh71Yexui
510 | psp2KeystoneFile:
511 | psp2MemoryExpansionMode: 0
512 | psp2DRMType: 0
513 | psp2StorageType: 0
514 | psp2MediaCapacity: 0
515 | psp2DLCConfigPath:
516 | psp2ThumbnailPath:
517 | psp2BackgroundPath:
518 | psp2SoundPath:
519 | psp2TrophyCommId:
520 | psp2TrophyPackagePath:
521 | psp2PackagedResourcesPath:
522 | psp2SaveDataQuota: 10240
523 | psp2ParentalLevel: 1
524 | psp2ShortTitle: Not Set
525 | psp2ContentID: IV0000-ABCD12345_00-0123456789ABCDEF
526 | psp2Category: 0
527 | psp2MasterVersion: 01.00
528 | psp2AppVersion: 01.00
529 | psp2TVBootMode: 0
530 | psp2EnterButtonAssignment: 2
531 | psp2TVDisableEmu: 0
532 | psp2AllowTwitterDialog: 1
533 | psp2Upgradable: 0
534 | psp2HealthWarning: 0
535 | psp2UseLibLocation: 0
536 | psp2InfoBarOnStartup: 0
537 | psp2InfoBarColor: 0
538 | psp2UseDebugIl2cppLibs: 0
539 | psmSplashimage: {fileID: 0}
540 | splashScreenBackgroundSourceLandscape: {fileID: 0}
541 | splashScreenBackgroundSourcePortrait: {fileID: 0}
542 | spritePackerPolicy:
543 | webGLMemorySize: 256
544 | webGLExceptionSupport: 1
545 | webGLNameFilesAsHashes: 0
546 | webGLDataCaching: 0
547 | webGLDebugSymbols: 0
548 | webGLEmscriptenArgs:
549 | webGLModulesDirectory:
550 | webGLTemplate: APPLICATION:Default
551 | webGLAnalyzeBuildSize: 0
552 | webGLUseEmbeddedResources: 0
553 | webGLUseWasm: 0
554 | webGLCompressionFormat: 1
555 | scriptingDefineSymbols: {}
556 | platformArchitecture:
557 | iOS: 2
558 | scriptingBackend:
559 | Android: 0
560 | Metro: 2
561 | Standalone: 0
562 | WP8: 2
563 | WebGL: 1
564 | iOS: 1
565 | incrementalIl2cppBuild:
566 | iOS: 0
567 | additionalIl2CppArgs:
568 | apiCompatibilityLevelPerPlatform: {}
569 | m_RenderingPath: 1
570 | m_MobileRenderingPath: 1
571 | metroPackageName: UnityQuery
572 | metroPackageVersion:
573 | metroCertificatePath:
574 | metroCertificatePassword:
575 | metroCertificateSubject:
576 | metroCertificateIssuer:
577 | metroCertificateNotAfter: 0000000000000000
578 | metroApplicationDescription: UnityQuery
579 | wsaImages: {}
580 | metroTileShortName:
581 | metroCommandLineArgsFile:
582 | metroTileShowName: 0
583 | metroMediumTileShowName: 0
584 | metroLargeTileShowName: 0
585 | metroWideTileShowName: 0
586 | metroDefaultTileSize: 1
587 | metroTileForegroundText: 1
588 | metroTileBackgroundColor: {r: 0, g: 0, b: 0, a: 1}
589 | metroSplashScreenBackgroundColor: {r: 0, g: 0, b: 0, a: 1}
590 | metroSplashScreenUseBackgroundColor: 0
591 | platformCapabilities: {}
592 | metroFTAName:
593 | metroFTAFileTypes: []
594 | metroProtocolName:
595 | metroCompilationOverrides: 1
596 | tizenProductDescription:
597 | tizenProductURL:
598 | tizenSigningProfileName:
599 | tizenGPSPermissions: 0
600 | tizenMicrophonePermissions: 0
601 | tizenDeploymentTarget:
602 | tizenDeploymentTargetType: -1
603 | tizenMinOSVersion: 1
604 | n3dsUseExtSaveData: 0
605 | n3dsCompressStaticMem: 1
606 | n3dsExtSaveDataNumber: 0x12345
607 | n3dsStackSize: 131072
608 | n3dsTargetPlatform: 2
609 | n3dsRegion: 7
610 | n3dsMediaSize: 0
611 | n3dsLogoStyle: 3
612 | n3dsTitle: GameName
613 | n3dsProductCode:
614 | n3dsApplicationId: 0xFF3FF
615 | stvDeviceAddress:
616 | stvProductDescription:
617 | stvProductAuthor:
618 | stvProductAuthorEmail:
619 | stvProductLink:
620 | stvProductCategory: 0
621 | XboxOneProductId:
622 | XboxOneUpdateKey:
623 | XboxOneSandboxId:
624 | XboxOneContentId:
625 | XboxOneTitleId:
626 | XboxOneSCId:
627 | XboxOneGameOsOverridePath:
628 | XboxOnePackagingOverridePath:
629 | XboxOneAppManifestOverridePath:
630 | XboxOnePackageEncryption: 0
631 | XboxOnePackageUpdateGranularity: 2
632 | XboxOneDescription:
633 | XboxOneLanguage:
634 | - enus
635 | XboxOneCapability: []
636 | XboxOneGameRating: {}
637 | XboxOneIsContentPackage: 0
638 | XboxOneEnableGPUVariability: 0
639 | XboxOneSockets: {}
640 | XboxOneSplashScreen: {fileID: 0}
641 | XboxOneAllowedProductIds: []
642 | XboxOnePersistentLocalStorageSize: 0
643 | xboxOneScriptCompiler: 0
644 | vrEditorSettings:
645 | daydream:
646 | daydreamIconForeground: {fileID: 0}
647 | daydreamIconBackground: {fileID: 0}
648 | cloudServicesEnabled:
649 | Analytics: 0
650 | Build: 0
651 | Collab: 0
652 | ErrorHub: 0
653 | Game_Performance: 0
654 | Hub: 0
655 | Purchasing: 0
656 | UNet: 0
657 | Unity_Ads: 0
658 | facebookSdkVersion: 7.9.1
659 | apiCompatibilityLevel: 2
660 | cloudProjectId:
661 | projectName:
662 | organizationId:
663 | cloudEnabled: 0
664 | enableNewInputSystem: 0
665 |
--------------------------------------------------------------------------------
/Source/UnityQuery/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 5.6.0f3
2 |
--------------------------------------------------------------------------------
/Source/UnityQuery/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: 5
8 | m_QualitySettings:
9 | - serializedVersion: 2
10 | name: Fastest
11 | pixelLightCount: 0
12 | shadows: 0
13 | shadowResolution: 0
14 | shadowProjection: 1
15 | shadowCascades: 1
16 | shadowDistance: 15
17 | shadowNearPlaneOffset: 2
18 | shadowCascade2Split: 0.33333334
19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
20 | blendWeights: 1
21 | textureQuality: 1
22 | anisotropicTextures: 0
23 | antiAliasing: 0
24 | softParticles: 0
25 | softVegetation: 0
26 | realtimeReflectionProbes: 0
27 | billboardsFaceCameraPosition: 0
28 | vSyncCount: 0
29 | lodBias: 0.3
30 | maximumLODLevel: 0
31 | particleRaycastBudget: 4
32 | asyncUploadTimeSlice: 2
33 | asyncUploadBufferSize: 4
34 | excludedTargetPlatforms: []
35 | - serializedVersion: 2
36 | name: Fast
37 | pixelLightCount: 0
38 | shadows: 0
39 | shadowResolution: 0
40 | shadowProjection: 1
41 | shadowCascades: 1
42 | shadowDistance: 20
43 | shadowNearPlaneOffset: 2
44 | shadowCascade2Split: 0.33333334
45 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
46 | blendWeights: 2
47 | textureQuality: 0
48 | anisotropicTextures: 0
49 | antiAliasing: 0
50 | softParticles: 0
51 | softVegetation: 0
52 | realtimeReflectionProbes: 0
53 | billboardsFaceCameraPosition: 0
54 | vSyncCount: 0
55 | lodBias: 0.4
56 | maximumLODLevel: 0
57 | particleRaycastBudget: 16
58 | asyncUploadTimeSlice: 2
59 | asyncUploadBufferSize: 4
60 | excludedTargetPlatforms: []
61 | - serializedVersion: 2
62 | name: Simple
63 | pixelLightCount: 1
64 | shadows: 1
65 | shadowResolution: 0
66 | shadowProjection: 1
67 | shadowCascades: 1
68 | shadowDistance: 20
69 | shadowNearPlaneOffset: 2
70 | shadowCascade2Split: 0.33333334
71 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
72 | blendWeights: 2
73 | textureQuality: 0
74 | anisotropicTextures: 1
75 | antiAliasing: 0
76 | softParticles: 0
77 | softVegetation: 0
78 | realtimeReflectionProbes: 0
79 | billboardsFaceCameraPosition: 0
80 | vSyncCount: 0
81 | lodBias: 0.7
82 | maximumLODLevel: 0
83 | particleRaycastBudget: 64
84 | asyncUploadTimeSlice: 2
85 | asyncUploadBufferSize: 4
86 | excludedTargetPlatforms: []
87 | - serializedVersion: 2
88 | name: Good
89 | pixelLightCount: 2
90 | shadows: 2
91 | shadowResolution: 1
92 | shadowProjection: 1
93 | shadowCascades: 2
94 | shadowDistance: 40
95 | shadowNearPlaneOffset: 2
96 | shadowCascade2Split: 0.33333334
97 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
98 | blendWeights: 2
99 | textureQuality: 0
100 | anisotropicTextures: 1
101 | antiAliasing: 0
102 | softParticles: 0
103 | softVegetation: 1
104 | realtimeReflectionProbes: 1
105 | billboardsFaceCameraPosition: 1
106 | vSyncCount: 1
107 | lodBias: 1
108 | maximumLODLevel: 0
109 | particleRaycastBudget: 256
110 | asyncUploadTimeSlice: 2
111 | asyncUploadBufferSize: 4
112 | excludedTargetPlatforms: []
113 | - serializedVersion: 2
114 | name: Beautiful
115 | pixelLightCount: 3
116 | shadows: 2
117 | shadowResolution: 2
118 | shadowProjection: 1
119 | shadowCascades: 2
120 | shadowDistance: 70
121 | shadowNearPlaneOffset: 2
122 | shadowCascade2Split: 0.33333334
123 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
124 | blendWeights: 4
125 | textureQuality: 0
126 | anisotropicTextures: 2
127 | antiAliasing: 2
128 | softParticles: 1
129 | softVegetation: 1
130 | realtimeReflectionProbes: 1
131 | billboardsFaceCameraPosition: 1
132 | vSyncCount: 1
133 | lodBias: 1.5
134 | maximumLODLevel: 0
135 | particleRaycastBudget: 1024
136 | asyncUploadTimeSlice: 2
137 | asyncUploadBufferSize: 4
138 | excludedTargetPlatforms: []
139 | - serializedVersion: 2
140 | name: Fantastic
141 | pixelLightCount: 4
142 | shadows: 2
143 | shadowResolution: 2
144 | shadowProjection: 1
145 | shadowCascades: 4
146 | shadowDistance: 150
147 | shadowNearPlaneOffset: 2
148 | shadowCascade2Split: 0.33333334
149 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
150 | blendWeights: 4
151 | textureQuality: 0
152 | anisotropicTextures: 2
153 | antiAliasing: 2
154 | softParticles: 1
155 | softVegetation: 1
156 | realtimeReflectionProbes: 1
157 | billboardsFaceCameraPosition: 1
158 | vSyncCount: 1
159 | lodBias: 2
160 | maximumLODLevel: 0
161 | particleRaycastBudget: 4096
162 | asyncUploadTimeSlice: 2
163 | asyncUploadBufferSize: 4
164 | excludedTargetPlatforms: []
165 | m_PerPlatformDefaultQuality:
166 | Android: 2
167 | BlackBerry: 2
168 | GLES Emulation: 5
169 | PS3: 5
170 | PS4: 5
171 | PSM: 5
172 | PSP2: 5
173 | Samsung TV: 2
174 | Standalone: 5
175 | Tizen: 2
176 | WP8: 5
177 | Web: 5
178 | WebGL: 3
179 | Windows Store Apps: 5
180 | XBOX360: 5
181 | XboxOne: 5
182 | iPhone: 2
183 |
--------------------------------------------------------------------------------
/Source/UnityQuery/ProjectSettings/TagManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!78 &1
4 | TagManager:
5 | serializedVersion: 2
6 | tags: []
7 | layers:
8 | - Default
9 | - TransparentFX
10 | - Ignore Raycast
11 | -
12 | - Water
13 | - UI
14 | -
15 | -
16 | -
17 | -
18 | -
19 | -
20 | -
21 | -
22 | -
23 | -
24 | -
25 | -
26 | -
27 | -
28 | -
29 | -
30 | -
31 | -
32 | -
33 | -
34 | -
35 | -
36 | -
37 | -
38 | -
39 | -
40 | m_SortingLayers:
41 | - name: Default
42 | uniqueID: 0
43 | locked: 0
44 |
--------------------------------------------------------------------------------
/Source/UnityQuery/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.33333334
8 | m_TimeScale: 1
9 |
--------------------------------------------------------------------------------
/Source/UnityQuery/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 | m_Enabled: 0
7 | m_TestMode: 0
8 | m_TestEventUrl:
9 | m_TestConfigUrl:
10 | CrashReportingSettings:
11 | m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes
12 | m_Enabled: 0
13 | m_CaptureEditorExceptions: 1
14 | UnityPurchasingSettings:
15 | m_Enabled: 0
16 | m_TestMode: 0
17 | UnityAnalyticsSettings:
18 | m_Enabled: 0
19 | m_InitializeOnStartup: 1
20 | m_TestMode: 0
21 | m_TestEventUrl:
22 | m_TestConfigUrl:
23 | UnityAdsSettings:
24 | m_Enabled: 0
25 | m_InitializeOnStartup: 1
26 | m_TestMode: 0
27 | m_EnabledPlatforms: 4294967295
28 | m_IosGameId:
29 | m_AndroidGameId:
30 |
--------------------------------------------------------------------------------