CaseVideoSyncPlayer no longer modifies the global material.

This commit is contained in:
2026-05-16 08:14:31 -04:00
parent e7fa38058c
commit dc86b95ed7
3 changed files with 48 additions and 14 deletions
@@ -293,19 +293,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _MapScreenMaterial
Data: _AuxiliaryMapMeshes
- Name: $v
Entry: 7
Data: 18|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _MapScreenMaterial
Data: _AuxiliaryMapMeshes
- Name: <UserType>k__BackingField
Entry: 7
Data: 19|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Material, UnityEngine.CoreModule
Data: UnityEngine.MeshRenderer[], UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@@ -27,7 +27,7 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour
[SerializeField] private MeshRenderer _MapScreenMesh;
[Header("Materials")]
[SerializeField] private Material _MapScreenMaterial;
[SerializeField] private MeshRenderer[] _AuxiliaryMapMeshes;
[SerializeField] private Texture2D _PlaceholderMapTexture;
[Header("Video Status")]
@@ -69,8 +69,6 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour
_MapDownloader = new VRCImageDownloader();
_UdonEventReceiverThis = (IUdonEventReceiver)this;
_MapScreenMesh.sharedMaterial = _MapScreenMaterial;
_UpdateMap();
}
@@ -273,19 +271,27 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour
private void _UpdateSubMap(int MapPage = -1)
{
int SubmapIndexWrapped = SubMapIndex % IMAGES_PER_MAP_ATLAS;
_UpdateMapMaterial(_MapScreenMesh.material, MapPage, SubmapIndexWrapped);
foreach (MeshRenderer AuxiliaryMap in _AuxiliaryMapMeshes)
{
_UpdateMapMaterial(AuxiliaryMap.material, MapPage, SubmapIndexWrapped);
}
}
private void _UpdateMapMaterial(Material MapMaterial, int MapPage, int SubmapIndexWrapped)
{
switch (SubmapIndexWrapped)
{
case 0: _MapScreenMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.0f, 0.66666666f)); break;
case 1: _MapScreenMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.5f, 0.66666666f)); break;
case 2: _MapScreenMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.0f, 0.33333333f)); break;
case 3: _MapScreenMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.5f, 0.33333333f)); break;
case 4: _MapScreenMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.0f, 0.0f)); break;
case 5: _MapScreenMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.5f, 0.0f)); break;
case 0: MapMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.0f, 0.66666666f)); break;
case 1: MapMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.5f, 0.66666666f)); break;
case 2: MapMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.0f, 0.33333333f)); break;
case 3: MapMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.5f, 0.33333333f)); break;
case 4: MapMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.0f, 0.0f)); break;
case 5: MapMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.5f, 0.0f)); break;
}
if (MapPage >= 0)
{
_MapScreenMaterial.SetTexture("_MainTex", _MapImages[MapPage]);
MapMaterial.SetTexture("_MainTex", _MapImages[MapPage]);
}
}