Getting ready to finally learn how to do custom station animations.

This commit is contained in:
Jamie Greunbaum 2026-05-11 03:42:07 -04:00
parent 3a7076121b
commit 119413cd48
2 changed files with 111 additions and 26 deletions

View File

@ -44,7 +44,7 @@ MonoBehaviour:
Data: Data:
- Name: - Name:
Entry: 12 Entry: 12
Data: 7 Data: 8
- Name: - Name:
Entry: 7 Entry: 7
Data: Data:
@ -245,25 +245,25 @@ MonoBehaviour:
Data: Data:
- Name: $k - Name: $k
Entry: 1 Entry: 1
Data: _PersonalRaincloud Data: _LightningStrikeStation
- Name: $v - Name: $v
Entry: 7 Entry: 7
Data: 16|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor Data: 16|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField - Name: <Name>k__BackingField
Entry: 1 Entry: 1
Data: _PersonalRaincloud Data: _LightningStrikeStation
- Name: <UserType>k__BackingField - Name: <UserType>k__BackingField
Entry: 7 Entry: 7
Data: 17|System.RuntimeType, mscorlib Data: 17|System.RuntimeType, mscorlib
- Name: - Name:
Entry: 1 Entry: 1
Data: UnityEngine.ParticleSystem, UnityEngine.ParticleSystemModule Data: LightningStrikeStation, Assembly-CSharp
- Name: - Name:
Entry: 8 Entry: 8
Data: Data:
- Name: <SystemType>k__BackingField - Name: <SystemType>k__BackingField
Entry: 9 Entry: 9
Data: 17 Data: 4
- 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
@ -305,25 +305,25 @@ MonoBehaviour:
Data: Data:
- Name: $k - Name: $k
Entry: 1 Entry: 1
Data: _Umbrella Data: _PersonalRaincloud
- Name: $v - Name: $v
Entry: 7 Entry: 7
Data: 20|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor Data: 20|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField - Name: <Name>k__BackingField
Entry: 1 Entry: 1
Data: _Umbrella Data: _PersonalRaincloud
- Name: <UserType>k__BackingField - Name: <UserType>k__BackingField
Entry: 7 Entry: 7
Data: 21|System.RuntimeType, mscorlib Data: 21|System.RuntimeType, mscorlib
- Name: - Name:
Entry: 1 Entry: 1
Data: Umbrella, Assembly-CSharp Data: UnityEngine.ParticleSystem, UnityEngine.ParticleSystemModule
- Name: - Name:
Entry: 8 Entry: 8
Data: Data:
- Name: <SystemType>k__BackingField - Name: <SystemType>k__BackingField
Entry: 9 Entry: 9
Data: 4 Data: 21
- 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
@ -365,16 +365,76 @@ MonoBehaviour:
Data: Data:
- Name: $k - Name: $k
Entry: 1 Entry: 1
Data: _Effect Data: _Umbrella
- Name: $v - Name: $v
Entry: 7 Entry: 7
Data: 24|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor Data: 24|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField - Name: <Name>k__BackingField
Entry: 1 Entry: 1
Data: _Effect Data: _Umbrella
- Name: <UserType>k__BackingField - Name: <UserType>k__BackingField
Entry: 7 Entry: 7
Data: 25|System.RuntimeType, mscorlib Data: 25|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: Umbrella, Assembly-CSharp
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 4
- 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: true
- Name: _fieldAttributes
Entry: 7
Data: 26|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 27|UnityEngine.SerializeField, UnityEngine.CoreModule
- 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: _Effect
- Name: $v
Entry: 7
Data: 28|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _Effect
- Name: <UserType>k__BackingField
Entry: 7
Data: 29|System.RuntimeType, mscorlib
- Name: - Name:
Entry: 1 Entry: 1
Data: LightningRoundEffect, Assembly-CSharp Data: LightningRoundEffect, Assembly-CSharp
@ -383,7 +443,7 @@ MonoBehaviour:
Data: Data:
- Name: <SystemType>k__BackingField - Name: <SystemType>k__BackingField
Entry: 7 Entry: 7
Data: 26|System.RuntimeType, mscorlib Data: 30|System.RuntimeType, mscorlib
- Name: - Name:
Entry: 1 Entry: 1
Data: System.Int32, mscorlib Data: System.Int32, mscorlib
@ -404,13 +464,13 @@ MonoBehaviour:
Data: false Data: false
- Name: _fieldAttributes - Name: _fieldAttributes
Entry: 7 Entry: 7
Data: 27|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib Data: 31|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name: - Name:
Entry: 12 Entry: 12
Data: 1 Data: 1
- Name: - Name:
Entry: 7 Entry: 7
Data: 28|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime Data: 32|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name: - Name:
Entry: 8 Entry: 8
Data: Data:
@ -434,16 +494,16 @@ MonoBehaviour:
Data: _Effect_Cached Data: _Effect_Cached
- Name: $v - Name: $v
Entry: 7 Entry: 7
Data: 29|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor Data: 33|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField - Name: <Name>k__BackingField
Entry: 1 Entry: 1
Data: _Effect_Cached Data: _Effect_Cached
- Name: <UserType>k__BackingField - Name: <UserType>k__BackingField
Entry: 9 Entry: 9
Data: 25 Data: 29
- Name: <SystemType>k__BackingField - Name: <SystemType>k__BackingField
Entry: 9 Entry: 9
Data: 26 Data: 30
- 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
@ -458,7 +518,7 @@ MonoBehaviour:
Data: false Data: false
- Name: _fieldAttributes - Name: _fieldAttributes
Entry: 7 Entry: 7
Data: 30|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib Data: 34|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name: - Name:
Entry: 12 Entry: 12
Data: 0 Data: 0

View File

@ -22,6 +22,7 @@ public class LightningRoundEffectsController : UdonSharpBehaviour
[SerializeField] private Animator _Animator; [SerializeField] private Animator _Animator;
[Space] [Space]
[SerializeField] private GameObject _LightningBolt; [SerializeField] private GameObject _LightningBolt;
[SerializeField] private LightningStrikeStation _LightningStrikeStation;
[SerializeField] private ParticleSystem _PersonalRaincloud; [SerializeField] private ParticleSystem _PersonalRaincloud;
[SerializeField] private Umbrella _Umbrella; [SerializeField] private Umbrella _Umbrella;
@ -32,6 +33,8 @@ public class LightningRoundEffectsController : UdonSharpBehaviour
public override void OnOwnershipTransferred(VRCPlayerApi Player) public override void OnOwnershipTransferred(VRCPlayerApi Player)
{ {
Networking.SetOwner(Player, _LightningBolt.gameObject); Networking.SetOwner(Player, _LightningBolt.gameObject);
Networking.SetOwner(Player, _LightningStrikeStation.gameObject);
Networking.SetOwner(Player, _PersonalRaincloud.gameObject);
Networking.SetOwner(Player, _Umbrella.gameObject); Networking.SetOwner(Player, _Umbrella.gameObject);
base.OnOwnershipTransferred(Player); base.OnOwnershipTransferred(Player);
@ -54,7 +57,7 @@ public class LightningRoundEffectsController : UdonSharpBehaviour
public void PlayLightningRoundAnimation() public void PlayLightningRoundAnimation()
{ {
_Effect = (LightningRoundEffect)Random.Range(0, (int)LightningRoundEffect.MAX_EFFECTS); _Effect = LightningRoundEffect.LightningStrike;//(LightningRoundEffect)Random.Range(0, (int)LightningRoundEffect.MAX_EFFECTS);
_PlayLightningRoundAnimation_Synced(); _PlayLightningRoundAnimation_Synced();
RequestSerialization(); RequestSerialization();
} }
@ -67,19 +70,18 @@ public class LightningRoundEffectsController : UdonSharpBehaviour
switch (_Effect) switch (_Effect)
{ {
case LightningRoundEffect.Thunder: case LightningRoundEffect.Thunder:
_LightningBolt.SetActive(false);
break; break;
case LightningRoundEffect.LightningStrike: case LightningRoundEffect.LightningStrike:
_LightningBolt.SetActive(true); _ActivateLightningStrike();
break; break;
case LightningRoundEffect.ThunderAndRain: case LightningRoundEffect.ThunderAndRain:
_LightningBolt.SetActive(false); _ActivateRainAndUmbrella();
_ActivateRain();
break; break;
default: // Deactivate everything and leave default: // Deactivate everything and leave
_Animator.SetBool("Lightning", false); _Animator.SetBool("Lightning", false);
_LightningBolt.SetActive(false); _LightningBolt.SetActive(false);
_DeactivateRain(); _DeactivateRainAndUmbrella();
_DeactivateLightningStrike();
return; return;
} }
@ -96,13 +98,36 @@ public class LightningRoundEffectsController : UdonSharpBehaviour
} }
private void _ActivateRain() private void _ActivateLightningStrike()
{
_LightningBolt.SetActive(true);
_LightningStrikeStation.gameObject.SetActive(true);
if (Networking.IsOwner(_LightningStrikeStation.gameObject))
{
Vector3 PlayerPosition = Networking.LocalPlayer.GetPosition();
_LightningStrikeStation.transform.position = PlayerPosition;
_LightningBolt.transform.position = PlayerPosition;
_LightningStrikeStation.EnterStation();
}
}
private void _DeactivateLightningStrike()
{
if (Networking.IsOwner(_LightningStrikeStation.gameObject))
{
_LightningStrikeStation.RemoveFromStation();
}
_LightningStrikeStation.gameObject.SetActive(false);
}
private void _ActivateRainAndUmbrella()
{ {
_Umbrella.gameObject.SetActive(true); _Umbrella.gameObject.SetActive(true);
_Umbrella.Respawn(); _Umbrella.Respawn();
_PersonalRaincloud.Play(); _PersonalRaincloud.Play();
} }
private void _DeactivateRain() private void _DeactivateRainAndUmbrella()
{ {
_Umbrella.gameObject.SetActive(false); _Umbrella.gameObject.SetActive(false);
_PersonalRaincloud.Stop(); _PersonalRaincloud.Stop();