- LocationBoard callbacks now only run on the host.

- CameraAnchor now properly syncs followed player data.
This commit is contained in:
Jamie Greunbaum 2026-04-21 16:35:19 -04:00
parent 47eb6aae77
commit a6b3b840b2
16 changed files with 333 additions and 264 deletions

View File

@ -1293,9 +1293,9 @@
<Project>{DFC90E0B-36B0-292E-7E42-CFA532E2309E}</Project> <Project>{DFC90E0B-36B0-292E-7E42-CFA532E2309E}</Project>
<Name>UdonSharp.Editor</Name> <Name>UdonSharp.Editor</Name>
</ProjectReference> </ProjectReference>
<ProjectReference Include="vrchat.jordo.easyquestswitch.csproj"> <ProjectReference Include="vrckmart.easyplatformswitch.Editor.csproj">
<Project>{24AABBF3-C935-A9B5-2807-501AFC381210}</Project> <Project>{A471DCB6-4610-9E98-390F-F81B51A4EE50}</Project>
<Name>vrchat.jordo.easyquestswitch</Name> <Name>vrckmart.easyplatformswitch.Editor</Name>
</ProjectReference> </ProjectReference>
<ProjectReference Include="VRC.ExampleCentral.Editor.csproj"> <ProjectReference Include="VRC.ExampleCentral.Editor.csproj">
<Project>{EFC3CF82-BDD3-0A74-7E14-B8F28DD7337C}</Project> <Project>{EFC3CF82-BDD3-0A74-7E14-B8F28DD7337C}</Project>
@ -1305,6 +1305,10 @@
<Project>{FDB73D17-E810-FE48-8491-69642B6A5EF8}</Project> <Project>{FDB73D17-E810-FE48-8491-69642B6A5EF8}</Project>
<Name>VRC.SDKBase.Editor.BuildPipeline</Name> <Name>VRC.SDKBase.Editor.BuildPipeline</Name>
</ProjectReference> </ProjectReference>
<ProjectReference Include="vrckmart.easyplatformswitch.csproj">
<Project>{35BA0EEF-FF0A-28D9-181F-629E12D8982F}</Project>
<Name>vrckmart.easyplatformswitch</Name>
</ProjectReference>
<ProjectReference Include="VRC.Udon.Serialization.OdinSerializer.csproj"> <ProjectReference Include="VRC.Udon.Serialization.OdinSerializer.csproj">
<Project>{C4865AD8-5708-4E51-79C2-E64911B4DB43}</Project> <Project>{C4865AD8-5708-4E51-79C2-E64911B4DB43}</Project>
<Name>VRC.Udon.Serialization.OdinSerializer</Name> <Name>VRC.Udon.Serialization.OdinSerializer</Name>
@ -1345,10 +1349,6 @@
<Project>{9580962B-C9DD-86D2-0CAB-74F2C1EA7A40}</Project> <Project>{9580962B-C9DD-86D2-0CAB-74F2C1EA7A40}</Project>
<Name>UniTask</Name> <Name>UniTask</Name>
</ProjectReference> </ProjectReference>
<ProjectReference Include="vrchat.jordo.easyquestswitch.Editor.csproj">
<Project>{68381FC4-7E6D-8422-C194-D43CD9B5430F}</Project>
<Name>vrchat.jordo.easyquestswitch.Editor</Name>
</ProjectReference>
<ProjectReference Include="VRC.SDK3.csproj"> <ProjectReference Include="VRC.SDK3.csproj">
<Project>{08FEB8F6-AD22-0DF5-5232-7DE088616AF5}</Project> <Project>{08FEB8F6-AD22-0DF5-5232-7DE088616AF5}</Project>
<Name>VRC.SDK3</Name> <Name>VRC.SDK3</Name>

View File

@ -1326,9 +1326,9 @@
<Project>{DFC90E0B-36B0-292E-7E42-CFA532E2309E}</Project> <Project>{DFC90E0B-36B0-292E-7E42-CFA532E2309E}</Project>
<Name>UdonSharp.Editor</Name> <Name>UdonSharp.Editor</Name>
</ProjectReference> </ProjectReference>
<ProjectReference Include="vrchat.jordo.easyquestswitch.csproj"> <ProjectReference Include="vrckmart.easyplatformswitch.Editor.csproj">
<Project>{24AABBF3-C935-A9B5-2807-501AFC381210}</Project> <Project>{A471DCB6-4610-9E98-390F-F81B51A4EE50}</Project>
<Name>vrchat.jordo.easyquestswitch</Name> <Name>vrckmart.easyplatformswitch.Editor</Name>
</ProjectReference> </ProjectReference>
<ProjectReference Include="VRC.ExampleCentral.Editor.csproj"> <ProjectReference Include="VRC.ExampleCentral.Editor.csproj">
<Project>{EFC3CF82-BDD3-0A74-7E14-B8F28DD7337C}</Project> <Project>{EFC3CF82-BDD3-0A74-7E14-B8F28DD7337C}</Project>
@ -1338,6 +1338,10 @@
<Project>{FDB73D17-E810-FE48-8491-69642B6A5EF8}</Project> <Project>{FDB73D17-E810-FE48-8491-69642B6A5EF8}</Project>
<Name>VRC.SDKBase.Editor.BuildPipeline</Name> <Name>VRC.SDKBase.Editor.BuildPipeline</Name>
</ProjectReference> </ProjectReference>
<ProjectReference Include="vrckmart.easyplatformswitch.csproj">
<Project>{35BA0EEF-FF0A-28D9-181F-629E12D8982F}</Project>
<Name>vrckmart.easyplatformswitch</Name>
</ProjectReference>
<ProjectReference Include="VRC.Udon.Serialization.OdinSerializer.csproj"> <ProjectReference Include="VRC.Udon.Serialization.OdinSerializer.csproj">
<Project>{C4865AD8-5708-4E51-79C2-E64911B4DB43}</Project> <Project>{C4865AD8-5708-4E51-79C2-E64911B4DB43}</Project>
<Name>VRC.Udon.Serialization.OdinSerializer</Name> <Name>VRC.Udon.Serialization.OdinSerializer</Name>
@ -1378,10 +1382,6 @@
<Project>{9580962B-C9DD-86D2-0CAB-74F2C1EA7A40}</Project> <Project>{9580962B-C9DD-86D2-0CAB-74F2C1EA7A40}</Project>
<Name>UniTask</Name> <Name>UniTask</Name>
</ProjectReference> </ProjectReference>
<ProjectReference Include="vrchat.jordo.easyquestswitch.Editor.csproj">
<Project>{68381FC4-7E6D-8422-C194-D43CD9B5430F}</Project>
<Name>vrchat.jordo.easyquestswitch.Editor</Name>
</ProjectReference>
<ProjectReference Include="VRC.SDK3.csproj"> <ProjectReference Include="VRC.SDK3.csproj">
<Project>{08FEB8F6-AD22-0DF5-5232-7DE088616AF5}</Project> <Project>{08FEB8F6-AD22-0DF5-5232-7DE088616AF5}</Project>
<Name>VRC.SDK3</Name> <Name>VRC.SDK3</Name>

View File

@ -85786,12 +85786,15 @@ MonoBehaviour:
Shader: Shader:
PC: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} PC: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
Quest: {fileID: 4800000, guid: 8b39b95ac85682040beff730e0cfc77a, type: 3} Quest: {fileID: 4800000, guid: 8b39b95ac85682040beff730e0cfc77a, type: 3}
iOS: {fileID: 4800000, guid: 8b39b95ac85682040beff730e0cfc77a, type: 3}
MainColor: MainColor:
PC: {r: 1, g: 1, b: 1, a: 1} PC: {r: 1, g: 1, b: 1, a: 1}
Quest: {r: 1, g: 1, b: 1, a: 1} Quest: {r: 1, g: 1, b: 1, a: 1}
iOS: {r: 1, g: 1, b: 1, a: 1}
GPUInstancing: GPUInstancing:
PC: 1 PC: 1
Quest: 1 Quest: 1
iOS: 1
--- !u!114 &1855771787 --- !u!114 &1855771787
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@ -85811,7 +85814,7 @@ MonoBehaviour:
- Target: {fileID: 2100000, guid: f1807abb25a22fb4fb9a796796ec55cb, type: 2} - Target: {fileID: 2100000, guid: f1807abb25a22fb4fb9a796796ec55cb, type: 2}
Type: {fileID: 1855771789} Type: {fileID: 1855771789}
Foldout: 1 Foldout: 1
version: 131 version: 141
buildInfo: buildInfo:
CachedBuildTarget: 19 CachedBuildTarget: 19
NewBuildTarget: 19 NewBuildTarget: 19
@ -85845,12 +85848,15 @@ MonoBehaviour:
Shader: Shader:
PC: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} PC: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
Quest: {fileID: 4800000, guid: 8b39b95ac85682040beff730e0cfc77a, type: 3} Quest: {fileID: 4800000, guid: 8b39b95ac85682040beff730e0cfc77a, type: 3}
iOS: {fileID: 4800000, guid: 8b39b95ac85682040beff730e0cfc77a, type: 3}
MainColor: MainColor:
PC: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} PC: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
Quest: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} Quest: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
iOS: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
GPUInstancing: GPUInstancing:
PC: 1 PC: 1
Quest: 1 Quest: 1
iOS: 1
--- !u!1 &1857279152 --- !u!1 &1857279152
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -106166,110 +106172,112 @@ MonoBehaviour:
useAssignedLayers: 0 useAssignedLayers: 0
DynamicPrefabs: [] DynamicPrefabs: []
DynamicMaterials: DynamicMaterials:
- {fileID: 2100000, guid: 82bace4c334919c4f92e87905c39fdf8, type: 2} - {fileID: 2100000, guid: 4fb0b8cdca56f5d47be970c7490cb7a1, type: 2}
- {fileID: 2100000, guid: 220d5a1f1701e674794a1083cc2f0bac, type: 2} - {fileID: 2100000, guid: 51b03d257a738e6468f623865f31dbec, type: 2}
- {fileID: 2100000, guid: 372c2f1b24e36bd438fea3de42b33e3b, type: 2} - {fileID: 2100000, guid: 98438748f07992c4a9eca84eb166591b, type: 2}
- {fileID: 2100000, guid: 49170bf20870c7c45873b3c1966d86af, type: 2} - {fileID: 2100000, guid: fc8a12d19cc40984b8be0a6d9889eb41, type: 2}
- {fileID: 2100000, guid: 80f2b6f3bfbc50240b0765a56e8a837e, type: 2}
- {fileID: 2100000, guid: 348ff3cc54305654d9eeebbbb385c262, type: 2}
- {fileID: 2100000, guid: cbc15475e78367045bc0909379ac97f3, type: 2}
- {fileID: 2100000, guid: 02c7236e085962d4581e686e88bbb28d, type: 2}
- {fileID: 2100000, guid: 5dcc23d6a7fa8e34990a27f3edfb0ac1, type: 2}
- {fileID: 2100000, guid: 13bdd523c81044447a951a8a69c474a1, type: 2}
- {fileID: 2100000, guid: c10453b4aa0c864458b74f3797cb611e, type: 2}
- {fileID: 2100000, guid: 12e96dbe16f21704485645506bfc235a, type: 2}
- {fileID: 2100000, guid: c0998459c7ac0e94d825035839d01ac9, type: 2}
- {fileID: 2100000, guid: 9fc84244963146c4e98b1fde1f95b5ec, type: 2}
- {fileID: 2100000, guid: fa8f228d6d5f77d479bf970e355f4bc3, type: 2}
- {fileID: 2100000, guid: 1eb2f964062497347b887d2c940e79c5, type: 2}
- {fileID: 2100000, guid: accd304c49b7d6d43b97738e8e118342, type: 2}
- {fileID: 2100000, guid: c3dd5e8fccdad6a46a32b54ace01f525, type: 2}
- {fileID: 2100000, guid: f8d93419468a06a48bf9c6c73aff7e36, type: 2}
- {fileID: 2100000, guid: 9cdc0250a4c9b534fae68ae6aa90bf31, type: 2}
- {fileID: 2100000, guid: d1244b908a4cccd4397cc9cad45fe846, type: 2} - {fileID: 2100000, guid: d1244b908a4cccd4397cc9cad45fe846, type: 2}
- {fileID: 2100000, guid: e53b90b5a4f1c3048b28024a40b455e7, type: 2} - {fileID: 2100000, guid: e53b90b5a4f1c3048b28024a40b455e7, type: 2}
- {fileID: 2100000, guid: 9cdc0250a4c9b534fae68ae6aa90bf31, type: 2} - {fileID: 2100000, guid: f568d5671e4d65741b9715e69a753869, type: 2}
- {fileID: 2100000, guid: db9b2b735115eb248a189b1fdc721a50, type: 2} - {fileID: 2100000, guid: 71ede89a28bd60e4ca2918572046ba90, type: 2}
- {fileID: 2100000, guid: 1eb2f964062497347b887d2c940e79c5, type: 2}
- {fileID: 2100000, guid: 9fc84244963146c4e98b1fde1f95b5ec, type: 2}
- {fileID: 2100000, guid: 02c7236e085962d4581e686e88bbb28d, type: 2}
- {fileID: 2100000, guid: 0c3dfdcd7a2a6ac408ec3d431f9a4932, type: 2}
- {fileID: 2100000, guid: af0c1cbaaffed304ba0e3a1fbac41e7e, type: 2}
- {fileID: 2100000, guid: cc22c7f9de95cab4488b30fe8699a82a, type: 2}
- {fileID: 2100000, guid: fe872fb72ad98da4dbb868481468e848, type: 2}
- {fileID: 2100000, guid: 4fb0b8cdca56f5d47be970c7490cb7a1, type: 2}
- {fileID: 2100000, guid: c1b531b2f1a7dab43b46daa7546cfda7, type: 2}
- {fileID: 2100000, guid: accd304c49b7d6d43b97738e8e118342, type: 2}
- {fileID: 2100000, guid: 2c0cd617d97924748a9d5e2eeb2039b5, type: 2}
- {fileID: 2100000, guid: cac39def7281c5c488b6a3465ec1951b, type: 2}
- {fileID: 2100000, guid: 82f2961c9baa48a45ac897be257fd655, type: 2}
- {fileID: 2100000, guid: bc5888e576e9cb34bab7b7af42d2b63f, type: 2}
- {fileID: 2100000, guid: 12e96dbe16f21704485645506bfc235a, type: 2}
- {fileID: 2100000, guid: 90a6fdf8f72a7a84d83dcb448e0f749e, type: 2}
- {fileID: 2100000, guid: 77b16945d3aad454fb793d2f16c64249, type: 2}
- {fileID: 2100000, guid: 0da83a16cbf2f704594ba64c96200537, type: 2}
- {fileID: 2100000, guid: 77cb94791cc41a5498279122022730b0, type: 2}
- {fileID: 2100000, guid: 71fff76911e92ab43a71d15602da4c4b, type: 2}
- {fileID: 2100000, guid: 51b03d257a738e6468f623865f31dbec, type: 2}
- {fileID: 2100000, guid: 4c14b2f4b9a613f418bb1e6cf8cf68f4, type: 2}
- {fileID: 2100000, guid: ea08301eace4f164bb3aae930413a978, type: 2}
- {fileID: 2100000, guid: 6dd6b8b1c8133f04dbc23ac81f5dfded, type: 2}
- {fileID: 2100000, guid: c3186340e03d26341969d34663dbf8f3, type: 2}
- {fileID: 2100000, guid: 98438748f07992c4a9eca84eb166591b, type: 2}
- {fileID: 2100000, guid: 672c36f6dbb36b5439cc0fdd2f74c531, type: 2}
- {fileID: 2100000, guid: fad82813fbe526340832cd1e33244566, type: 2}
- {fileID: 2100000, guid: f2d04047f1e90f34293134ea43fee656, type: 2}
- {fileID: 2100000, guid: 77485a45419b5da498cc74acff31c49a, type: 2}
- {fileID: 2100000, guid: c5d2a6b0c3904c747b937dd142cbb480, type: 2}
- {fileID: 2100000, guid: 8de5e47a4e3831b40b59595ad3e2e267, type: 2}
- {fileID: 2100000, guid: 4de84333504452948874f4422dec7b56, type: 2}
- {fileID: 2100000, guid: 012e77fb6a6d69548802da3b41814618, type: 2} - {fileID: 2100000, guid: 012e77fb6a6d69548802da3b41814618, type: 2}
- {fileID: 2100000, guid: 4d875a76d6e247742b8d3d66214b2c2d, type: 2} - {fileID: 2100000, guid: 4d875a76d6e247742b8d3d66214b2c2d, type: 2}
- {fileID: 2100000, guid: 8db36ece14c543d47be04e1d0cde1a1f, type: 2} - {fileID: 2100000, guid: 8db36ece14c543d47be04e1d0cde1a1f, type: 2}
- {fileID: 2100000, guid: 77485a45419b5da498cc74acff31c49a, type: 2}
- {fileID: 2100000, guid: d2b3854a83244764192826cd7eadc955, type: 2} - {fileID: 2100000, guid: d2b3854a83244764192826cd7eadc955, type: 2}
- {fileID: 2100000, guid: 8de5e47a4e3831b40b59595ad3e2e267, type: 2}
- {fileID: 2100000, guid: d23dd47c26278f94ea3bc15c730f59ed, type: 2} - {fileID: 2100000, guid: d23dd47c26278f94ea3bc15c730f59ed, type: 2}
- {fileID: 2100000, guid: 77cb94791cc41a5498279122022730b0, type: 2}
- {fileID: 2100000, guid: 98b5c6e030fc83d48bbba9e927a456d4, type: 2} - {fileID: 2100000, guid: 98b5c6e030fc83d48bbba9e927a456d4, type: 2}
- {fileID: 2100000, guid: c0998459c7ac0e94d825035839d01ac9, type: 2} - {fileID: 2100000, guid: 90a6fdf8f72a7a84d83dcb448e0f749e, type: 2}
- {fileID: 2100000, guid: fa8f228d6d5f77d479bf970e355f4bc3, type: 2}
- {fileID: 2100000, guid: 6075d345a5007be4abb1a4485d1ebb5f, type: 2} - {fileID: 2100000, guid: 6075d345a5007be4abb1a4485d1ebb5f, type: 2}
- {fileID: 2100000, guid: d7188495ea0838346af40c820ec9ffc8, type: 2} - {fileID: 2100000, guid: d7188495ea0838346af40c820ec9ffc8, type: 2}
- {fileID: 2100000, guid: 79cdc811085b366438fb60b12a3642ba, type: 2} - {fileID: 2100000, guid: 79cdc811085b366438fb60b12a3642ba, type: 2}
- {fileID: 2100000, guid: ffd504a9168a01c459170bb8f2fcea1c, type: 2} - {fileID: 2100000, guid: ffd504a9168a01c459170bb8f2fcea1c, type: 2}
- {fileID: 2100000, guid: c3dd5e8fccdad6a46a32b54ace01f525, type: 2}
- {fileID: 2100000, guid: 9d4baac78c2042b47b42fc9c92d87767, type: 2}
- {fileID: 2100000, guid: 53b84df3db050264db8132d12d59ac74, type: 2} - {fileID: 2100000, guid: 53b84df3db050264db8132d12d59ac74, type: 2}
- {fileID: 2100000, guid: 97a375a2664a65f44a74b8e0711591fb, type: 2} - {fileID: 2100000, guid: db9b2b735115eb248a189b1fdc721a50, type: 2}
- {fileID: 2100000, guid: 80f2b6f3bfbc50240b0765a56e8a837e, type: 2} - {fileID: 2100000, guid: 9d4baac78c2042b47b42fc9c92d87767, type: 2}
- {fileID: 2100000, guid: c5d2a6b0c3904c747b937dd142cbb480, type: 2}
- {fileID: 2100000, guid: c3186340e03d26341969d34663dbf8f3, type: 2}
- {fileID: 2100000, guid: 16eae5e38ba6186429997b1dfacc8517, type: 2}
- {fileID: 2100000, guid: bd56d6cf0f2fa36418ba719ef8ab4e84, type: 2}
- {fileID: 2100000, guid: de3fae6511ce1c94ebea5c8d415079dd, type: 2}
- {fileID: 2100000, guid: 4c14b2f4b9a613f418bb1e6cf8cf68f4, type: 2}
- {fileID: 2100000, guid: ea08301eace4f164bb3aae930413a978, type: 2}
- {fileID: 2100000, guid: 6dd6b8b1c8133f04dbc23ac81f5dfded, type: 2}
- {fileID: 2100000, guid: 69228227a9e257549a58eb39e32c695c, type: 2}
- {fileID: 2100000, guid: 77b16945d3aad454fb793d2f16c64249, type: 2}
- {fileID: 2100000, guid: 0da83a16cbf2f704594ba64c96200537, type: 2}
- {fileID: 2100000, guid: bc5888e576e9cb34bab7b7af42d2b63f, type: 2}
- {fileID: 2100000, guid: e45d02bbf7268504ca58513c548a58e7, type: 2}
- {fileID: 2100000, guid: 82f2961c9baa48a45ac897be257fd655, type: 2}
- {fileID: 2100000, guid: 7b2202d15bf99e9448eb4bf9442c92bc, type: 2}
- {fileID: 2100000, guid: 1814c9f2312983141826daa1c472c881, type: 2}
- {fileID: 2100000, guid: cac39def7281c5c488b6a3465ec1951b, type: 2}
- {fileID: 2100000, guid: f17bb8737aabc9d4990488f7ccd87693, type: 2}
- {fileID: 2100000, guid: 885429151ec5f6a4a926f6aaabd7e001, type: 2}
- {fileID: 2100000, guid: 82bace4c334919c4f92e87905c39fdf8, type: 2}
- {fileID: 2100000, guid: 220d5a1f1701e674794a1083cc2f0bac, type: 2}
- {fileID: 2100000, guid: 372c2f1b24e36bd438fea3de42b33e3b, type: 2}
- {fileID: 2100000, guid: 49170bf20870c7c45873b3c1966d86af, type: 2}
- {fileID: 2100000, guid: c5480627ec99c8a45bbd5dfe52d1dea7, type: 2}
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 2100000, guid: 81ea0ec5ed826d74fb516bcd6d26bf99, type: 2}
- {fileID: 2100000, guid: f1807abb25a22fb4fb9a796796ec55cb, type: 2}
- {fileID: 2100000, guid: 80746b095abb6ce41a1c737df3649172, type: 2}
- {fileID: 2100000, guid: 672c36f6dbb36b5439cc0fdd2f74c531, type: 2}
- {fileID: 2100000, guid: f2d04047f1e90f34293134ea43fee656, type: 2}
- {fileID: 2100000, guid: fad82813fbe526340832cd1e33244566, type: 2}
- {fileID: 2100000, guid: a55c6cba78f87d1499a304b41036f758, type: 2}
- {fileID: 2100000, guid: 8bc2ade7ea2681744b3a5bf052974502, type: 2}
- {fileID: 2100000, guid: 332daba92d0976f4d86bdcdc1a94179e, type: 2}
- {fileID: 2100000, guid: d4ecea58a2df3974e8f7d4fcaba16ec6, type: 2}
- {fileID: 2100000, guid: 3c107c925ecfe8b48bb1ad6bb1f3fc2a, type: 2}
- {fileID: 2100000, guid: e938c08786a400b4eac8b275aec1eabf, type: 2}
- {fileID: 2100000, guid: cc50b68eaabf3b84cad9a23b7eab8d9f, type: 2} - {fileID: 2100000, guid: cc50b68eaabf3b84cad9a23b7eab8d9f, type: 2}
- {fileID: 2100000, guid: ff445412d16ee6e45916bccc68d62aee, type: 2} - {fileID: 2100000, guid: ff445412d16ee6e45916bccc68d62aee, type: 2}
- {fileID: 2100000, guid: de3fae6511ce1c94ebea5c8d415079dd, type: 2}
- {fileID: 2100000, guid: 16eae5e38ba6186429997b1dfacc8517, type: 2}
- {fileID: 2100000, guid: 7b2202d15bf99e9448eb4bf9442c92bc, type: 2}
- {fileID: 2100000, guid: fc8a12d19cc40984b8be0a6d9889eb41, type: 2}
- {fileID: 2100000, guid: d4ecea58a2df3974e8f7d4fcaba16ec6, type: 2}
- {fileID: 2100000, guid: 1814c9f2312983141826daa1c472c881, type: 2}
- {fileID: 2100000, guid: d1b80c0437189d64bb20dc185f2a6797, type: 2} - {fileID: 2100000, guid: d1b80c0437189d64bb20dc185f2a6797, type: 2}
- {fileID: 2100000, guid: 64f09e1728ba15641a7bc0424f8a60f0, type: 2} - {fileID: 2100000, guid: 64f09e1728ba15641a7bc0424f8a60f0, type: 2}
- {fileID: 2100000, guid: f17bb8737aabc9d4990488f7ccd87693, type: 2} - {fileID: 2100000, guid: 4cbd5a7b91a8e2a469e33380a6d99a68, type: 2}
- {fileID: 2100000, guid: bd56d6cf0f2fa36418ba719ef8ab4e84, type: 2} - {fileID: 2100000, guid: 2c0cd617d97924748a9d5e2eeb2039b5, type: 2}
- {fileID: 2100000, guid: 5dcc23d6a7fa8e34990a27f3edfb0ac1, type: 2} - {fileID: 2100000, guid: 0c3dfdcd7a2a6ac408ec3d431f9a4932, type: 2}
- {fileID: 2100000, guid: cc8e36941dd3f2c42a157650e05b9242, type: 2} - {fileID: 2100000, guid: c1b531b2f1a7dab43b46daa7546cfda7, type: 2}
- {fileID: 2100000, guid: a94d8fe1854504e47a64e023cecaa130, type: 2}
- {fileID: 2100000, guid: e45d02bbf7268504ca58513c548a58e7, type: 2}
- {fileID: 2100000, guid: f568d5671e4d65741b9715e69a753869, type: 2}
- {fileID: 2100000, guid: 51fa5fa392620814cb6c526977429d66, type: 2}
- {fileID: 2100000, guid: 13bdd523c81044447a951a8a69c474a1, type: 2}
- {fileID: 2100000, guid: 80746b095abb6ce41a1c737df3649172, type: 2}
- {fileID: 2100000, guid: ecb032a524ca13b44bfd08d26711a69a, type: 2}
- {fileID: 2100000, guid: f8d93419468a06a48bf9c6c73aff7e36, type: 2}
- {fileID: 2100000, guid: 348ff3cc54305654d9eeebbbb385c262, type: 2}
- {fileID: 2100000, guid: cbc15475e78367045bc0909379ac97f3, type: 2}
- {fileID: 2100000, guid: 69228227a9e257549a58eb39e32c695c, type: 2}
- {fileID: 2100000, guid: c5480627ec99c8a45bbd5dfe52d1dea7, type: 2}
- {fileID: 2100000, guid: 8bc2ade7ea2681744b3a5bf052974502, type: 2}
- {fileID: 2100000, guid: a55c6cba78f87d1499a304b41036f758, type: 2}
- {fileID: 2100000, guid: cad30d30c6413634891f1783211ed82b, type: 2} - {fileID: 2100000, guid: cad30d30c6413634891f1783211ed82b, type: 2}
- {fileID: 2100000, guid: 93beab2420a2b634daa2d15fd24fbaa2, type: 2} - {fileID: 2100000, guid: 93beab2420a2b634daa2d15fd24fbaa2, type: 2}
- {fileID: 2100000, guid: 10b1411819262e7439e3721e092319bd, type: 2} - {fileID: 2100000, guid: 10b1411819262e7439e3721e092319bd, type: 2}
- {fileID: 2100000, guid: 332daba92d0976f4d86bdcdc1a94179e, type: 2}
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 2100000, guid: fe25aa579b9514441a94bd556cf54df9, type: 2}
- {fileID: 2100000, guid: 4cbd5a7b91a8e2a469e33380a6d99a68, type: 2}
- {fileID: 2100000, guid: 744980436e22f2c44bd454d320586a53, type: 2}
- {fileID: 2100000, guid: 81ea0ec5ed826d74fb516bcd6d26bf99, type: 2}
- {fileID: 2100000, guid: f1807abb25a22fb4fb9a796796ec55cb, type: 2}
- {fileID: 2100000, guid: 71ede89a28bd60e4ca2918572046ba90, type: 2}
- {fileID: 2100000, guid: 885429151ec5f6a4a926f6aaabd7e001, type: 2}
- {fileID: 2100000, guid: 35c2a316ece610b4b963e047e5238337, type: 2} - {fileID: 2100000, guid: 35c2a316ece610b4b963e047e5238337, type: 2}
- {fileID: 2100000, guid: ecb032a524ca13b44bfd08d26711a69a, type: 2}
- {fileID: 2100000, guid: 51fa5fa392620814cb6c526977429d66, type: 2}
- {fileID: 2100000, guid: 744980436e22f2c44bd454d320586a53, type: 2}
- {fileID: 2100000, guid: fe25aa579b9514441a94bd556cf54df9, type: 2}
- {fileID: 2100000, guid: af0c1cbaaffed304ba0e3a1fbac41e7e, type: 2}
- {fileID: 2100000, guid: cc22c7f9de95cab4488b30fe8699a82a, type: 2}
- {fileID: 2100000, guid: fe872fb72ad98da4dbb868481468e848, type: 2}
- {fileID: 2100000, guid: 71fff76911e92ab43a71d15602da4c4b, type: 2}
- {fileID: 2100000, guid: 4de84333504452948874f4422dec7b56, type: 2}
- {fileID: 2100000, guid: 97a375a2664a65f44a74b8e0711591fb, type: 2}
- {fileID: 2100000, guid: cc8e36941dd3f2c42a157650e05b9242, type: 2}
- {fileID: 2100000, guid: a94d8fe1854504e47a64e023cecaa130, type: 2}
- {fileID: 2100000, guid: bd33b7e8a1d3cd74b8059a1a4602033a, type: 2} - {fileID: 2100000, guid: bd33b7e8a1d3cd74b8059a1a4602033a, type: 2}
- {fileID: 2100000, guid: 8ded9a8136c72af4f901e652f138f9b6, type: 2} - {fileID: 2100000, guid: 8ded9a8136c72af4f901e652f138f9b6, type: 2}
- {fileID: 2100000, guid: b4ebc3728120eee449696f9b988eebcb, type: 2} - {fileID: 2100000, guid: b4ebc3728120eee449696f9b988eebcb, type: 2}
- {fileID: 2100000, guid: 2328ced7acf68884b96deba2b991c8ca, type: 2} - {fileID: 2100000, guid: 2328ced7acf68884b96deba2b991c8ca, type: 2}
- {fileID: 2100000, guid: c10453b4aa0c864458b74f3797cb611e, type: 2}
LightMapsNear: [] LightMapsNear: []
LightMapsFar: [] LightMapsFar: []
LightMode: 0 LightMode: 0

View File

@ -564,22 +564,130 @@ MonoBehaviour:
Data: Data:
- Name: $k - Name: $k
Entry: 1 Entry: 1
Data: _AttachedCamera Data: _FollowedPlayerNames
- Name: $v - Name: $v
Entry: 7 Entry: 7
Data: 37|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor Data: 37|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField - Name: <Name>k__BackingField
Entry: 1 Entry: 1
Data: _AttachedCamera Data: _FollowedPlayerNames
- Name: <UserType>k__BackingField - Name: <UserType>k__BackingField
Entry: 7 Entry: 7
Data: 38|System.RuntimeType, mscorlib Data: 38|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.String[], mscorlib
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 38
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 39|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 40|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: _AttachedCamera
- Name: $v
Entry: 7
Data: 41|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _AttachedCamera
- Name: <UserType>k__BackingField
Entry: 7
Data: 42|System.RuntimeType, mscorlib
- Name: - Name:
Entry: 1 Entry: 1
Data: UnityEngine.Camera, UnityEngine.CoreModule Data: UnityEngine.Camera, UnityEngine.CoreModule
- Name: - Name:
Entry: 8 Entry: 8
Data: Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 42
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 43|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: _FollowedPlayerNames_Cache
- Name: $v
Entry: 7
Data: 44|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _FollowedPlayerNames_Cache
- Name: <UserType>k__BackingField
Entry: 9
Data: 38
- Name: <SystemType>k__BackingField - Name: <SystemType>k__BackingField
Entry: 9 Entry: 9
Data: 38 Data: 38
@ -597,109 +705,7 @@ MonoBehaviour:
Data: false Data: false
- Name: _fieldAttributes - Name: _fieldAttributes
Entry: 7 Entry: 7
Data: 39|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib Data: 45|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: _FollowedPlayerNames
- Name: $v
Entry: 7
Data: 40|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _FollowedPlayerNames
- Name: <UserType>k__BackingField
Entry: 7
Data: 41|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.String[], mscorlib
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 41
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 42|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: _FollowedPlayerNames_Cache
- Name: $v
Entry: 7
Data: 43|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _FollowedPlayerNames_Cache
- Name: <UserType>k__BackingField
Entry: 9
Data: 41
- Name: <SystemType>k__BackingField
Entry: 9
Data: 41
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 44|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name: - Name:
Entry: 12 Entry: 12
Data: 0 Data: 0
@ -723,13 +729,13 @@ MonoBehaviour:
Data: _FollowedPlayers Data: _FollowedPlayers
- Name: $v - Name: $v
Entry: 7 Entry: 7
Data: 45|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor Data: 46|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField - Name: <Name>k__BackingField
Entry: 1 Entry: 1
Data: _FollowedPlayers Data: _FollowedPlayers
- Name: <UserType>k__BackingField - Name: <UserType>k__BackingField
Entry: 7 Entry: 7
Data: 46|System.RuntimeType, mscorlib Data: 47|System.RuntimeType, mscorlib
- Name: - Name:
Entry: 1 Entry: 1
Data: VRC.SDKBase.VRCPlayerApi[], VRCSDKBase Data: VRC.SDKBase.VRCPlayerApi[], VRCSDKBase
@ -738,7 +744,7 @@ MonoBehaviour:
Data: Data:
- Name: <SystemType>k__BackingField - Name: <SystemType>k__BackingField
Entry: 9 Entry: 9
Data: 46 Data: 47
- Name: <SyncMode>k__BackingField - Name: <SyncMode>k__BackingField
Entry: 7 Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -753,7 +759,7 @@ MonoBehaviour:
Data: false Data: false
- Name: _fieldAttributes - Name: _fieldAttributes
Entry: 7 Entry: 7
Data: 47|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib Data: 48|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name: - Name:
Entry: 12 Entry: 12
Data: 0 Data: 0
@ -777,7 +783,7 @@ MonoBehaviour:
Data: _CameraFollowSpeed Data: _CameraFollowSpeed
- Name: $v - Name: $v
Entry: 7 Entry: 7
Data: 48|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor Data: 49|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField - Name: <Name>k__BackingField
Entry: 1 Entry: 1
Data: _CameraFollowSpeed Data: _CameraFollowSpeed
@ -801,7 +807,7 @@ MonoBehaviour:
Data: false Data: false
- Name: _fieldAttributes - Name: _fieldAttributes
Entry: 7 Entry: 7
Data: 49|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib Data: 50|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name: - Name:
Entry: 12 Entry: 12
Data: 0 Data: 0

View File

@ -1,6 +1,7 @@
 
using CameraSystem; using CameraSystem;
using MMMaellon.LightSync; using MMMaellon.LightSync;
using System.Linq;
using UdonSharp; using UdonSharp;
using UnityEngine; using UnityEngine;
using VRC.SDKBase; using VRC.SDKBase;
@ -36,8 +37,9 @@ public class CameraAnchor : UdonSharpBehaviour
[UdonSynced] private int _AttachedCameraIndex = -1; [UdonSynced] private int _AttachedCameraIndex = -1;
[UdonSynced] private string[] _FollowedPlayerNames = new string[0];
private Camera _AttachedCamera = null; private Camera _AttachedCamera = null;
private string[] _FollowedPlayerNames = new string[0];
private string[] _FollowedPlayerNames_Cache = new string[0]; private string[] _FollowedPlayerNames_Cache = new string[0];
private VRCPlayerApi[] _FollowedPlayers = new VRCPlayerApi[0]; private VRCPlayerApi[] _FollowedPlayers = new VRCPlayerApi[0];
private float _CameraFollowSpeed = 1.0f; private float _CameraFollowSpeed = 1.0f;
@ -65,6 +67,11 @@ public class CameraAnchor : UdonSharpBehaviour
Vector3 CentroidSum = Vector3.zero; Vector3 CentroidSum = Vector3.zero;
for (int i = 0; i < _FollowedPlayers.Length; i++) for (int i = 0; i < _FollowedPlayers.Length; i++)
{ {
if (_FollowedPlayers[i] == null)
{
continue;
}
Vector3[] BonePositions = _BonesFromFollowMethod(_FollowedPlayers[i]); Vector3[] BonePositions = _BonesFromFollowMethod(_FollowedPlayers[i]);
Vector3 CentroidPointsAverage = Vector3.zero; Vector3 CentroidPointsAverage = Vector3.zero;
for (int j = 0; j < BonePositions.Length; j++) for (int j = 0; j < BonePositions.Length; j++)
@ -92,7 +99,6 @@ public class CameraAnchor : UdonSharpBehaviour
private Vector3[] _BonesFromFollowMethod(VRCPlayerApi Player) private Vector3[] _BonesFromFollowMethod(VRCPlayerApi Player)
{ {
switch(FollowMethod) switch(FollowMethod)
{ {
case PossibleFollowMethods.CloseUp: case PossibleFollowMethods.CloseUp:
@ -124,10 +130,10 @@ public class CameraAnchor : UdonSharpBehaviour
case PossibleFollowMethods.HipsDown: case PossibleFollowMethods.HipsDown:
{ {
Vector3[] BonesToTrack = new Vector3[4]; Vector3[] BonesToTrack = new Vector3[4];
BonesToTrack[2] = Player.GetBonePosition(HumanBodyBones.LeftUpperLeg); BonesToTrack[0] = Player.GetBonePosition(HumanBodyBones.LeftUpperLeg);
BonesToTrack[3] = Player.GetBonePosition(HumanBodyBones.RightUpperLeg); BonesToTrack[1] = Player.GetBonePosition(HumanBodyBones.RightUpperLeg);
BonesToTrack[0] = Player.GetBonePosition(HumanBodyBones.LeftFoot); BonesToTrack[2] = Player.GetBonePosition(HumanBodyBones.LeftFoot);
BonesToTrack[1] = Player.GetBonePosition(HumanBodyBones.RightFoot); BonesToTrack[3] = Player.GetBonePosition(HumanBodyBones.RightFoot);
return BonesToTrack; return BonesToTrack;
} }
case PossibleFollowMethods.FullBody: case PossibleFollowMethods.FullBody:
@ -234,21 +240,40 @@ public class CameraAnchor : UdonSharpBehaviour
VRCPlayerApi[] AllPlayers = new VRCPlayerApi[VRCPlayerApi.GetPlayerCount()]; VRCPlayerApi[] AllPlayers = new VRCPlayerApi[VRCPlayerApi.GetPlayerCount()];
VRCPlayerApi.GetPlayers(AllPlayers); VRCPlayerApi.GetPlayers(AllPlayers);
int i = 0; int NumValidPlayers = 0;
foreach (string PlayerName in _FollowedPlayerNames) for (int i = 0; i < _FollowedPlayerNames.Length; i++)
{ {
string PlayerName = _FollowedPlayerNames[i];
Debug.Log("[CameraAnchor] Trying to find player " + PlayerName + "...");
_FollowedPlayers[i] = null;
foreach (VRCPlayerApi Player in AllPlayers) foreach (VRCPlayerApi Player in AllPlayers)
{ {
if (Player.displayName == PlayerName) if (Player.displayName == PlayerName)
{ {
Debug.Log("[CameraAnchor] Found player " + PlayerName);
_FollowedPlayers[i] = Player; _FollowedPlayers[i] = Player;
i++; NumValidPlayers++;
break; break;
} }
} }
} }
Debug.Log("[CameraAnchor] Anchor " + gameObject.name + " is now following " + _FollowedPlayerNames); Debug.Log("[CameraAnchor] Found " + NumValidPlayers + " players out of a requested " + _FollowedPlayerNames.Length);
int ValidPlayerCounter = 0;
VRCPlayerApi[] ValidPlayers = new VRCPlayerApi[NumValidPlayers];
foreach (VRCPlayerApi Player in _FollowedPlayers)
{
if (Player != null)
{
ValidPlayers[ValidPlayerCounter] = Player;
ValidPlayerCounter++;
}
}
string PlayerNamesString = string.Join(", ", _FollowedPlayerNames);
Debug.Log("[CameraAnchor] Anchor " + gameObject.name + " is now following { " + PlayerNamesString + " }");
_FollowedPlayerNames_Cache = _FollowedPlayerNames; _FollowedPlayerNames_Cache = _FollowedPlayerNames;
} }

View File

@ -219,17 +219,20 @@ public class GameManagerRound2 : GameManagerBase
_Players[1] = _Players[0]; _Players[1] = _Players[0];
} }
HostCardRecoverTheLootInterface RecoverTheLootInterface = if (Networking.LocalPlayer == _CaseManager.GetHostOwner())
(HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot);
RecoverTheLootInterface.SetComment(_Players[_CurrentPlayerCounter % _Players.Length] + ", you're up first.", COLOR_STANDARD);
RecoverTheLootInterface.SetLootButton(_LocationBoard.LootLocation);
RecoverTheLootInterface.SetWarrantButton(_LocationBoard.WarrantLocation);
RecoverTheLootInterface.SetCrookButton(_LocationBoard.CrookLocation);
RecoverTheLootInterface.ActivateAllPanelButtons(true, true);
for (int i = 0; i < _Landmarks.Length; i++)
{ {
RecoverTheLootInterface.AddLandmarkName(i, _Landmarks[i]); HostCardRecoverTheLootInterface RecoverTheLootInterface =
(HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot);
RecoverTheLootInterface.SetComment(_Players[_CurrentPlayerCounter % _Players.Length] + ", you're up first.", COLOR_STANDARD);
RecoverTheLootInterface.SetLootButton(_LocationBoard.LootLocation);
RecoverTheLootInterface.SetWarrantButton(_LocationBoard.WarrantLocation);
RecoverTheLootInterface.SetCrookButton(_LocationBoard.CrookLocation);
RecoverTheLootInterface.ActivateAllPanelButtons(true, true);
for (int i = 0; i < _Landmarks.Length; i++)
{
RecoverTheLootInterface.AddLandmarkName(i, _Landmarks[i]);
}
} }
_JailPlayer.VideoIndex = (int)_CaseManager.GetCrook(); _JailPlayer.VideoIndex = (int)_CaseManager.GetCrook();
@ -242,6 +245,8 @@ public class GameManagerRound2 : GameManagerBase
public void OnTheRightTrack() public void OnTheRightTrack()
{ {
if (Networking.LocalPlayer != _CaseManager.GetHostOwner()) return;
HostCardRecoverTheLootInterface Interface = HostCardRecoverTheLootInterface Interface =
(HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot); (HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot);
Interface.SetComment("On the right track. You get a free turn.", COLOR_GREEN); Interface.SetComment("On the right track. You get a free turn.", COLOR_GREEN);
@ -251,6 +256,8 @@ public class GameManagerRound2 : GameManagerBase
public void AlmostThere() public void AlmostThere()
{ {
if (Networking.LocalPlayer != _CaseManager.GetHostOwner()) return;
HostCardRecoverTheLootInterface Interface = HostCardRecoverTheLootInterface Interface =
(HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot); (HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot);
Interface.SetComment("Almost got it. Another free turn.", COLOR_YELLOW); Interface.SetComment("Almost got it. Another free turn.", COLOR_YELLOW);
@ -260,6 +267,8 @@ public class GameManagerRound2 : GameManagerBase
public void OutOfOrder(PanelType Type) public void OutOfOrder(PanelType Type)
{ {
if (Networking.LocalPlayer != _CaseManager.GetHostOwner()) return;
HostCardRecoverTheLootInterface Interface = HostCardRecoverTheLootInterface Interface =
(HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot); (HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot);
@ -286,6 +295,8 @@ public class GameManagerRound2 : GameManagerBase
// all inputs to prevent messing up the game state. // all inputs to prevent messing up the game state.
public void NothingThere() public void NothingThere()
{ {
if (Networking.LocalPlayer != _CaseManager.GetHostOwner()) return;
HostCardRecoverTheLootInterface Interface = HostCardRecoverTheLootInterface Interface =
(HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot); (HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot);
Interface.SetComment("Nothing there.", COLOR_STANDARD); Interface.SetComment("Nothing there.", COLOR_STANDARD);
@ -297,6 +308,8 @@ public class GameManagerRound2 : GameManagerBase
public void AlreadyTried() public void AlreadyTried()
{ {
if (Networking.LocalPlayer != _CaseManager.GetHostOwner()) return;
HostCardRecoverTheLootInterface Interface = HostCardRecoverTheLootInterface Interface =
(HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot); (HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot);
Interface.SetComment("Already tried that one.", COLOR_STANDARD); Interface.SetComment("Already tried that one.", COLOR_STANDARD);
@ -308,6 +321,8 @@ public class GameManagerRound2 : GameManagerBase
public void NiceStrategy() public void NiceStrategy()
{ {
if (Networking.LocalPlayer != _CaseManager.GetHostOwner()) return;
HostCardRecoverTheLootInterface Interface = HostCardRecoverTheLootInterface Interface =
(HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot); (HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot);
Interface.SetComment("Nice strategy.", COLOR_GREEN); Interface.SetComment("Nice strategy.", COLOR_GREEN);
@ -321,6 +336,8 @@ public class GameManagerRound2 : GameManagerBase
// and should also enable victory animations. // and should also enable victory animations.
public void YoureWinner() public void YoureWinner()
{ {
if (Networking.LocalPlayer != _CaseManager.GetHostOwner()) return;
_RoundIsOver = true; _RoundIsOver = true;
int WinningPlayerNumber = _CurrentPlayerCounter % _Players.Length; int WinningPlayerNumber = _CurrentPlayerCounter % _Players.Length;
string[] Winner = new string[1]; string[] Winner = new string[1];
@ -343,7 +360,7 @@ public class GameManagerRound2 : GameManagerBase
} }
public void YoureWinnerDelayedFunctions() public void YoureWinnerDelayedFunctions()
{ {
_PlayerConfettiCannons[_CurrentPlayerCounter % _Players.Length].Play(); SendCustomNetworkEvent(NetworkEventTarget.All, nameof(YoureWinnerConfettiPlayer));
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "StopMusic"); _AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "StopMusic");
SendCustomEventDelayedSeconds(nameof(YoureWinnerDelayedFunctions2), 1.0f); SendCustomEventDelayedSeconds(nameof(YoureWinnerDelayedFunctions2), 1.0f);
@ -352,6 +369,11 @@ public class GameManagerRound2 : GameManagerBase
{ {
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayMusic", MusicEventType.YoureWinner); _AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayMusic", MusicEventType.YoureWinner);
} }
[NetworkCallable]
public void YoureWinnerConfettiPlayer()
{
_PlayerConfettiCannons[_CurrentPlayerCounter % _Players.Length].Play();
}
private void RoundWinner() private void RoundWinner()
@ -432,24 +454,32 @@ public class GameManagerRound2 : GameManagerBase
public void FoundTheLoot() public void FoundTheLoot()
{ {
_AudioManager.PlaySFX(SFXEventType.TheLoot); if (Networking.LocalPlayer != _CaseManager.GetHostOwner()) return;
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlaySFX", SFXEventType.TheLoot);
SendCustomEventDelayedSeconds(nameof(ActivateAllPanelButtonsExceptTargets_DelayFunction), 1.5f); SendCustomEventDelayedSeconds(nameof(ActivateAllPanelButtonsExceptTargets_DelayFunction), 1.5f);
} }
public void FoundTheWarrant() public void FoundTheWarrant()
{ {
_AudioManager.PlaySFX(SFXEventType.TheWarrant); if (Networking.LocalPlayer != _CaseManager.GetHostOwner()) return;
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlaySFX", SFXEventType.TheWarrant);
SendCustomEventDelayedSeconds(nameof(ActivateAllPanelButtonsExceptTargets_DelayFunction), 1.5f); SendCustomEventDelayedSeconds(nameof(ActivateAllPanelButtonsExceptTargets_DelayFunction), 1.5f);
} }
public void FoundTheCrook() public void FoundTheCrook()
{ {
_AudioManager.PlayCrookTheme(_CaseManager.GetCrook()); if (Networking.LocalPlayer != _CaseManager.GetHostOwner()) return;
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayCrookTheme", _CaseManager.GetCrook());
SendCustomEventDelayedSeconds(nameof(ActivateAllPanelButtonsExceptTargets_DelayFunction), 1.5f); SendCustomEventDelayedSeconds(nameof(ActivateAllPanelButtonsExceptTargets_DelayFunction), 1.5f);
} }
public void ActivateAllPanelButtonsExceptTargets_DelayFunction() public void ActivateAllPanelButtonsExceptTargets_DelayFunction()
{ {
if (Networking.LocalPlayer != _CaseManager.GetHostOwner()) return;
if (!_RoundIsOver) if (!_RoundIsOver)
{ {
HostCardRecoverTheLootInterface Interface = HostCardRecoverTheLootInterface Interface =

View File

@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3} m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3}
m_Name: BoneFollower m_Name: BoneFollower
m_EditorClassIdentifier: m_EditorClassIdentifier:
serializedUdonProgramAsset: {fileID: 11400000, guid: ccbda9bf23e2f714c9226283c77a92e5, serializedUdonProgramAsset: {fileID: 11400000, guid: 52ecc8a73071e8e40928c3609699fcf4,
type: 2} type: 2}
udonAssembly: udonAssembly:
assemblyError: assemblyError:

View File

@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3} m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3}
m_Name: InteractToggle m_Name: InteractToggle
m_EditorClassIdentifier: m_EditorClassIdentifier:
serializedUdonProgramAsset: {fileID: 11400000, guid: 405e38d3dfb2f514daeed0e28fbb4864, serializedUdonProgramAsset: {fileID: 11400000, guid: 873dfce61b1514e429c92e0d2fded7de,
type: 2} type: 2}
udonAssembly: udonAssembly:
assemblyError: assemblyError:

View File

@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3} m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3}
m_Name: PlayerModSetter m_Name: PlayerModSetter
m_EditorClassIdentifier: m_EditorClassIdentifier:
serializedUdonProgramAsset: {fileID: 11400000, guid: f938e6c4ff027a74da405a1f9353fd2b, serializedUdonProgramAsset: {fileID: 11400000, guid: e81558796a212ab4d88e305e2010f24b,
type: 2} type: 2}
udonAssembly: udonAssembly:
assemblyError: assemblyError:

View File

@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3} m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3}
m_Name: GlobalToggleObject m_Name: GlobalToggleObject
m_EditorClassIdentifier: m_EditorClassIdentifier:
serializedUdonProgramAsset: {fileID: 11400000, guid: c49c9265a3ef24642a6a4465d0a78872, serializedUdonProgramAsset: {fileID: 11400000, guid: 2fe8ced6184000f49bca526cd2c5891c,
type: 2} type: 2}
udonAssembly: udonAssembly:
assemblyError: assemblyError:

View File

@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3} m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3}
m_Name: MasterToggleObject m_Name: MasterToggleObject
m_EditorClassIdentifier: m_EditorClassIdentifier:
serializedUdonProgramAsset: {fileID: 11400000, guid: 04024a76ab1924042ba521e11cb76d91, serializedUdonProgramAsset: {fileID: 11400000, guid: a2d01d9f36ac6df49831be249e48ecc4,
type: 2} type: 2}
udonAssembly: udonAssembly:
assemblyError: assemblyError:

View File

@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3} m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3}
m_Name: TrackingDataFollower m_Name: TrackingDataFollower
m_EditorClassIdentifier: m_EditorClassIdentifier:
serializedUdonProgramAsset: {fileID: 11400000, guid: 17f8fbbe6cc186d4f8dbb057b01a4ec2, serializedUdonProgramAsset: {fileID: 11400000, guid: 1b89d4552983c0448a7389decec3b555,
type: 2} type: 2}
udonAssembly: udonAssembly:
assemblyError: assemblyError:

View File

@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3} m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3}
m_Name: WorldAudioSettings m_Name: WorldAudioSettings
m_EditorClassIdentifier: m_EditorClassIdentifier:
serializedUdonProgramAsset: {fileID: 11400000, guid: 128d924a3066b7546b2d1c73e61006ab, serializedUdonProgramAsset: {fileID: 11400000, guid: 994b559b0f158b4499f8937980ed8694,
type: 2} type: 2}
udonAssembly: udonAssembly:
assemblyError: assemblyError:

View File

@ -254,8 +254,8 @@
"com.unity.postprocessing": "3.1.1" "com.unity.postprocessing": "3.1.1"
} }
}, },
"vrchat.jordo.easyquestswitch": { "vrckmart.easyplatformswitch": {
"version": "file:vrchat.jordo.easyquestswitch", "version": "file:vrckmart.easyplatformswitch",
"depth": 0, "depth": 0,
"source": "embedded", "source": "embedded",
"dependencies": {} "dependencies": {}

View File

@ -3,17 +3,17 @@
"com.vrchat.core.vpm-resolver": { "com.vrchat.core.vpm-resolver": {
"version": "0.1.29" "version": "0.1.29"
}, },
"vrchat.jordo.easyquestswitch": {
"version": "1.4.0"
},
"com.mmmaellon.lightsync": { "com.mmmaellon.lightsync": {
"version": "1.5.0" "version": "1.5.0"
}, },
"dev.onevr.vrworldtoolkit": {
"version": "3.4.0"
},
"com.vrchat.worlds": { "com.vrchat.worlds": {
"version": "3.10.1" "version": "3.10.1"
},
"dev.onevr.vrworldtoolkit": {
"version": "3.4.1"
},
"vrckmart.easyplatformswitch": {
"version": "1.0.1"
} }
}, },
"locked": { "locked": {
@ -21,20 +21,12 @@
"version": "0.1.29", "version": "0.1.29",
"dependencies": {} "dependencies": {}
}, },
"vrchat.jordo.easyquestswitch": {
"version": "1.4.0",
"dependencies": {}
},
"com.mmmaellon.lightsync": { "com.mmmaellon.lightsync": {
"version": "1.5.0", "version": "1.5.0",
"dependencies": { "dependencies": {
"com.vrchat.worlds": "^3.5.2" "com.vrchat.worlds": "^3.5.2"
} }
}, },
"dev.onevr.vrworldtoolkit": {
"version": "3.4.0",
"dependencies": {}
},
"com.vrchat.worlds": { "com.vrchat.worlds": {
"version": "3.10.1", "version": "3.10.1",
"dependencies": { "dependencies": {
@ -44,6 +36,14 @@
"com.vrchat.base": { "com.vrchat.base": {
"version": "3.10.1", "version": "3.10.1",
"dependencies": {} "dependencies": {}
},
"dev.onevr.vrworldtoolkit": {
"version": "3.4.1",
"dependencies": {}
},
"vrckmart.easyplatformswitch": {
"version": "1.0.1",
"dependencies": {}
} }
} }
} }

View File

@ -3,12 +3,12 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15 # Visual Studio 15
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VRC.ClientSim", "VRC.ClientSim.csproj", "{86F19CC6-B183-F018-F11F-B9F1AE2BC465}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VRC.ClientSim", "VRC.ClientSim.csproj", "{86F19CC6-B183-F018-F11F-B9F1AE2BC465}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vrchat.jordo.easyquestswitch", "vrchat.jordo.easyquestswitch.csproj", "{24AABBF3-C935-A9B5-2807-501AFC381210}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VRC.Udon.Serialization.OdinSerializer", "VRC.Udon.Serialization.OdinSerializer.csproj", "{C4865AD8-5708-4E51-79C2-E64911B4DB43}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VRC.Udon.Serialization.OdinSerializer", "VRC.Udon.Serialization.OdinSerializer.csproj", "{C4865AD8-5708-4E51-79C2-E64911B4DB43}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp.csproj", "{7118B098-639E-4AE7-166D-ACE8F0BEB311}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp.csproj", "{7118B098-639E-4AE7-166D-ACE8F0BEB311}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vrckmart.easyplatformswitch", "vrckmart.easyplatformswitch.csproj", "{35BA0EEF-FF0A-28D9-181F-629E12D8982F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UdonSharp.Editor", "UdonSharp.Editor.csproj", "{DFC90E0B-36B0-292E-7E42-CFA532E2309E}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UdonSharp.Editor", "UdonSharp.Editor.csproj", "{DFC90E0B-36B0-292E-7E42-CFA532E2309E}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VRC.Udon.Editor", "VRC.Udon.Editor.csproj", "{8ECDDCCF-3414-ABC4-C526-DECEA90CBB2C}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VRC.Udon.Editor", "VRC.Udon.Editor.csproj", "{8ECDDCCF-3414-ABC4-C526-DECEA90CBB2C}"
@ -45,6 +45,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "com.vrchat.core.vpm-resolve
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VRC.SDKBase.Editor.ShaderStripping", "VRC.SDKBase.Editor.ShaderStripping.csproj", "{F7161389-AE46-A707-AE04-38B99CD75559}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VRC.SDKBase.Editor.ShaderStripping", "VRC.SDKBase.Editor.ShaderStripping.csproj", "{F7161389-AE46-A707-AE04-38B99CD75559}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vrckmart.easyplatformswitch.Editor", "vrckmart.easyplatformswitch.Editor.csproj", "{A471DCB6-4610-9E98-390F-F81B51A4EE50}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UdonSharp.Runtime", "UdonSharp.Runtime.csproj", "{8E918E50-1700-45F2-68E9-70CC86F4BDA0}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UdonSharp.Runtime", "UdonSharp.Runtime.csproj", "{8E918E50-1700-45F2-68E9-70CC86F4BDA0}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask.Editor", "UniTask.Editor.csproj", "{0D4F464D-CD07-A438-CEF9-DC6C88417F75}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask.Editor", "UniTask.Editor.csproj", "{0D4F464D-CD07-A438-CEF9-DC6C88417F75}"
@ -53,8 +55,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UdonSharp.Lib", "UdonSharp.
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VRC.SDKBase.Editor.BuildPipeline", "VRC.SDKBase.Editor.BuildPipeline.csproj", "{FDB73D17-E810-FE48-8491-69642B6A5EF8}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VRC.SDKBase.Editor.BuildPipeline", "VRC.SDKBase.Editor.BuildPipeline.csproj", "{FDB73D17-E810-FE48-8491-69642B6A5EF8}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vrchat.jordo.easyquestswitch.Editor", "vrchat.jordo.easyquestswitch.Editor.csproj", "{68381FC4-7E6D-8422-C194-D43CD9B5430F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask.Addressables", "UniTask.Addressables.csproj", "{6AA0AACC-56ED-4C99-7D2A-220D3B243EDD}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask.Addressables", "UniTask.Addressables.csproj", "{6AA0AACC-56ED-4C99-7D2A-220D3B243EDD}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp-Editor", "Assembly-CSharp-Editor.csproj", "{F0D2DA67-6857-48D9-F18C-518C9133433E}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp-Editor", "Assembly-CSharp-Editor.csproj", "{F0D2DA67-6857-48D9-F18C-518C9133433E}"
@ -71,10 +71,6 @@ Global
{86F19CC6-B183-F018-F11F-B9F1AE2BC465}.Debug|Any CPU.Build.0 = Debug|Any CPU {86F19CC6-B183-F018-F11F-B9F1AE2BC465}.Debug|Any CPU.Build.0 = Debug|Any CPU
{86F19CC6-B183-F018-F11F-B9F1AE2BC465}.Release|Any CPU.ActiveCfg = Release|Any CPU {86F19CC6-B183-F018-F11F-B9F1AE2BC465}.Release|Any CPU.ActiveCfg = Release|Any CPU
{86F19CC6-B183-F018-F11F-B9F1AE2BC465}.Release|Any CPU.Build.0 = Release|Any CPU {86F19CC6-B183-F018-F11F-B9F1AE2BC465}.Release|Any CPU.Build.0 = Release|Any CPU
{24AABBF3-C935-A9B5-2807-501AFC381210}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{24AABBF3-C935-A9B5-2807-501AFC381210}.Debug|Any CPU.Build.0 = Debug|Any CPU
{24AABBF3-C935-A9B5-2807-501AFC381210}.Release|Any CPU.ActiveCfg = Release|Any CPU
{24AABBF3-C935-A9B5-2807-501AFC381210}.Release|Any CPU.Build.0 = Release|Any CPU
{C4865AD8-5708-4E51-79C2-E64911B4DB43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C4865AD8-5708-4E51-79C2-E64911B4DB43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C4865AD8-5708-4E51-79C2-E64911B4DB43}.Debug|Any CPU.Build.0 = Debug|Any CPU {C4865AD8-5708-4E51-79C2-E64911B4DB43}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C4865AD8-5708-4E51-79C2-E64911B4DB43}.Release|Any CPU.ActiveCfg = Release|Any CPU {C4865AD8-5708-4E51-79C2-E64911B4DB43}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -83,6 +79,10 @@ Global
{7118B098-639E-4AE7-166D-ACE8F0BEB311}.Debug|Any CPU.Build.0 = Debug|Any CPU {7118B098-639E-4AE7-166D-ACE8F0BEB311}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7118B098-639E-4AE7-166D-ACE8F0BEB311}.Release|Any CPU.ActiveCfg = Release|Any CPU {7118B098-639E-4AE7-166D-ACE8F0BEB311}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7118B098-639E-4AE7-166D-ACE8F0BEB311}.Release|Any CPU.Build.0 = Release|Any CPU {7118B098-639E-4AE7-166D-ACE8F0BEB311}.Release|Any CPU.Build.0 = Release|Any CPU
{35BA0EEF-FF0A-28D9-181F-629E12D8982F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{35BA0EEF-FF0A-28D9-181F-629E12D8982F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{35BA0EEF-FF0A-28D9-181F-629E12D8982F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{35BA0EEF-FF0A-28D9-181F-629E12D8982F}.Release|Any CPU.Build.0 = Release|Any CPU
{DFC90E0B-36B0-292E-7E42-CFA532E2309E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DFC90E0B-36B0-292E-7E42-CFA532E2309E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DFC90E0B-36B0-292E-7E42-CFA532E2309E}.Debug|Any CPU.Build.0 = Debug|Any CPU {DFC90E0B-36B0-292E-7E42-CFA532E2309E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DFC90E0B-36B0-292E-7E42-CFA532E2309E}.Release|Any CPU.ActiveCfg = Release|Any CPU {DFC90E0B-36B0-292E-7E42-CFA532E2309E}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -155,6 +155,10 @@ Global
{F7161389-AE46-A707-AE04-38B99CD75559}.Debug|Any CPU.Build.0 = Debug|Any CPU {F7161389-AE46-A707-AE04-38B99CD75559}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F7161389-AE46-A707-AE04-38B99CD75559}.Release|Any CPU.ActiveCfg = Release|Any CPU {F7161389-AE46-A707-AE04-38B99CD75559}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F7161389-AE46-A707-AE04-38B99CD75559}.Release|Any CPU.Build.0 = Release|Any CPU {F7161389-AE46-A707-AE04-38B99CD75559}.Release|Any CPU.Build.0 = Release|Any CPU
{A471DCB6-4610-9E98-390F-F81B51A4EE50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A471DCB6-4610-9E98-390F-F81B51A4EE50}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A471DCB6-4610-9E98-390F-F81B51A4EE50}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A471DCB6-4610-9E98-390F-F81B51A4EE50}.Release|Any CPU.Build.0 = Release|Any CPU
{8E918E50-1700-45F2-68E9-70CC86F4BDA0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {8E918E50-1700-45F2-68E9-70CC86F4BDA0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8E918E50-1700-45F2-68E9-70CC86F4BDA0}.Debug|Any CPU.Build.0 = Debug|Any CPU {8E918E50-1700-45F2-68E9-70CC86F4BDA0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8E918E50-1700-45F2-68E9-70CC86F4BDA0}.Release|Any CPU.ActiveCfg = Release|Any CPU {8E918E50-1700-45F2-68E9-70CC86F4BDA0}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -171,10 +175,6 @@ Global
{FDB73D17-E810-FE48-8491-69642B6A5EF8}.Debug|Any CPU.Build.0 = Debug|Any CPU {FDB73D17-E810-FE48-8491-69642B6A5EF8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FDB73D17-E810-FE48-8491-69642B6A5EF8}.Release|Any CPU.ActiveCfg = Release|Any CPU {FDB73D17-E810-FE48-8491-69642B6A5EF8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FDB73D17-E810-FE48-8491-69642B6A5EF8}.Release|Any CPU.Build.0 = Release|Any CPU {FDB73D17-E810-FE48-8491-69642B6A5EF8}.Release|Any CPU.Build.0 = Release|Any CPU
{68381FC4-7E6D-8422-C194-D43CD9B5430F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{68381FC4-7E6D-8422-C194-D43CD9B5430F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{68381FC4-7E6D-8422-C194-D43CD9B5430F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{68381FC4-7E6D-8422-C194-D43CD9B5430F}.Release|Any CPU.Build.0 = Release|Any CPU
{6AA0AACC-56ED-4C99-7D2A-220D3B243EDD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6AA0AACC-56ED-4C99-7D2A-220D3B243EDD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6AA0AACC-56ED-4C99-7D2A-220D3B243EDD}.Debug|Any CPU.Build.0 = Debug|Any CPU {6AA0AACC-56ED-4C99-7D2A-220D3B243EDD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6AA0AACC-56ED-4C99-7D2A-220D3B243EDD}.Release|Any CPU.ActiveCfg = Release|Any CPU {6AA0AACC-56ED-4C99-7D2A-220D3B243EDD}.Release|Any CPU.ActiveCfg = Release|Any CPU