Refactors FrameDataLoader with _private

This commit is contained in:
Momo The Monster
2023-02-15 22:18:42 -08:00
parent 237b17fdb6
commit 225d49eca1
3 changed files with 21 additions and 22 deletions

View File

@@ -266,13 +266,13 @@ MonoBehaviour:
Data: Data:
- Name: $k - Name: $k
Entry: 1 Entry: 1
Data: photoDurationSeconds Data: slideDurationSeconds
- Name: $v - Name: $v
Entry: 7 Entry: 7
Data: 14|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor Data: 14|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField - Name: <Name>k__BackingField
Entry: 1 Entry: 1
Data: photoDurationSeconds Data: slideDurationSeconds
- Name: <UserType>k__BackingField - Name: <UserType>k__BackingField
Entry: 7 Entry: 7
Data: 15|System.RuntimeType, mscorlib Data: 15|System.RuntimeType, mscorlib
@@ -482,13 +482,13 @@ MonoBehaviour:
Data: Data:
- Name: $k - Name: $k
Entry: 1 Entry: 1
Data: captions Data: _captions
- Name: $v - Name: $v
Entry: 7 Entry: 7
Data: 26|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor Data: 26|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField - Name: <Name>k__BackingField
Entry: 1 Entry: 1
Data: captions Data: _captions
- Name: <UserType>k__BackingField - Name: <UserType>k__BackingField
Entry: 7 Entry: 7
Data: 27|System.RuntimeType, mscorlib Data: 27|System.RuntimeType, mscorlib
@@ -536,13 +536,13 @@ MonoBehaviour:
Data: Data:
- Name: $k - Name: $k
Entry: 1 Entry: 1
Data: downloadsComplete Data: _downloadsComplete
- Name: $v - Name: $v
Entry: 7 Entry: 7
Data: 29|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor Data: 29|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField - Name: <Name>k__BackingField
Entry: 1 Entry: 1
Data: downloadsComplete Data: _downloadsComplete
- Name: <UserType>k__BackingField - Name: <UserType>k__BackingField
Entry: 7 Entry: 7
Data: 30|System.RuntimeType, mscorlib Data: 30|System.RuntimeType, mscorlib

View File

@@ -13,14 +13,14 @@ public class FrameDataLoader : UdonSharpBehaviour
public VRCUrl stringUrl; public VRCUrl stringUrl;
public new Renderer renderer; public new Renderer renderer;
public Text field; public Text field;
public float photoDurationSeconds = 10f; public float slideDurationSeconds = 10f;
// Private Variables // Private Variables
private int _loadedIndex = -1; private int _loadedIndex = -1;
private VRCImageDownloader _imageDownloader; private VRCImageDownloader _imageDownloader;
private IUdonEventReceiver udonEventReceiver; private IUdonEventReceiver udonEventReceiver;
private string[] captions = new string[0]; private string[] _captions = new string[0];
private bool[] downloadsComplete; private bool[] _downloadsComplete;
private Texture2D[] _textures; private Texture2D[] _textures;
void Start() void Start()
@@ -29,7 +29,7 @@ public class FrameDataLoader : UdonSharpBehaviour
udonEventReceiver = (IUdonEventReceiver)this; udonEventReceiver = (IUdonEventReceiver)this;
// Track which downloads have been completed already // Track which downloads have been completed already
downloadsComplete = new bool[rgbUrl.Length]; _downloadsComplete = new bool[rgbUrl.Length];
_textures = new Texture2D[rgbUrl.Length]; _textures = new Texture2D[rgbUrl.Length];
// Construct Image Downloader to reuse // Construct Image Downloader to reuse
@@ -44,29 +44,28 @@ public class FrameDataLoader : UdonSharpBehaviour
public void LoadNextRecursive() public void LoadNextRecursive()
{ {
LoadNext(); LoadNext();
SendCustomEventDelayedSeconds(nameof(LoadNextRecursive), photoDurationSeconds); SendCustomEventDelayedSeconds(nameof(LoadNextRecursive), slideDurationSeconds);
} }
private void LoadNext() private void LoadNext()
{ {
_loadedIndex = (int)(Networking.GetServerTimeInMilliseconds() / 1000f / photoDurationSeconds) % rgbUrl.Length; _loadedIndex = (int)(Networking.GetServerTimeInMilliseconds() / 1000f / slideDurationSeconds) % rgbUrl.Length;
if (downloadsComplete[_loadedIndex]) if (_downloadsComplete[_loadedIndex])
{ {
renderer.sharedMaterial.mainTexture = _textures[_loadedIndex]; renderer.sharedMaterial.mainTexture = _textures[_loadedIndex];
} }
else else
{ {
var rgbInfo = new TextureInfo(); var rgbInfo = new TextureInfo();
rgbInfo.WrapModeU = TextureWrapMode.Mirror; rgbInfo.GenerateMipMaps = true;
rgbInfo.WrapModeV = TextureWrapMode.Mirror;
_imageDownloader.DownloadImage(rgbUrl[_loadedIndex], renderer.material, udonEventReceiver, rgbInfo); _imageDownloader.DownloadImage(rgbUrl[_loadedIndex], renderer.material, udonEventReceiver, rgbInfo);
} }
// Set caption if one is provided // Set caption if one is provided
if (_loadedIndex < captions.Length) if (_loadedIndex < _captions.Length)
{ {
field.text = captions[_loadedIndex]; field.text = _captions[_loadedIndex];
} }
else else
{ {
@@ -76,7 +75,7 @@ public class FrameDataLoader : UdonSharpBehaviour
public override void OnStringLoadSuccess(IVRCStringDownload result) public override void OnStringLoadSuccess(IVRCStringDownload result)
{ {
captions = result.Result.Split('\n'); _captions = result.Result.Split('\n');
} }
public override void OnStringLoadError(IVRCStringDownload result) public override void OnStringLoadError(IVRCStringDownload result)
@@ -88,14 +87,14 @@ public class FrameDataLoader : UdonSharpBehaviour
{ {
Debug.Log($"Image loaded: {result.SizeInMemoryBytes} bytes."); Debug.Log($"Image loaded: {result.SizeInMemoryBytes} bytes.");
downloadsComplete[_loadedIndex] = true; _downloadsComplete[_loadedIndex] = true;
_textures[_loadedIndex] = result.Result; _textures[_loadedIndex] = result.Result;
} }
public override void OnImageLoadError(IVRCImageDownload result) public override void OnImageLoadError(IVRCImageDownload result)
{ {
Debug.Log($"Image not loaded: {result.Error.ToString()}: {result.ErrorMessage}."); Debug.Log($"Image not loaded: {result.Error.ToString()}: {result.ErrorMessage}.");
downloadsComplete[_loadedIndex] = false; _downloadsComplete[_loadedIndex] = false;
} }
private void OnDestroy() private void OnDestroy()

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:51b98c47e7a7bc8a0df8d4068b0cdf4ebb2ba1fcc3776216bb6d7e0519f30cc8 oid sha256:a29fc0b7ad1c79d167df2c286714c2efa3c7b4418fe2ff1369c9cce78deb1c3b
size 50307 size 52736