mirror of
https://github.com/MrUnknownDE/examples-image-loading.git
synced 2026-04-19 06:43:50 +02:00
Refactors FrameDataLoader with _private
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user