Added an area to drop the risk card that snaps it to the correct place.

This commit is contained in:
2025-09-06 12:54:56 -04:00
parent 6ca24773b0
commit 0053f283c7
12 changed files with 468 additions and 44 deletions
+128 -14
View File
@@ -44,7 +44,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 5
Data: 7
- Name:
Entry: 7
Data:
@@ -176,19 +176,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _RiskCardText
Data: _Holder
- Name: $v
Entry: 7
Data: 11|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _RiskCardText
Data: _Holder
- Name: <UserType>k__BackingField
Entry: 7
Data: 12|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: TMPro.TextMeshProUGUI, Unity.TextMeshPro
Data: UnityEngine.Collider, UnityEngine.PhysicsModule
- Name:
Entry: 8
Data:
@@ -236,19 +236,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _SpawnPosition
Data: _RiskCardText
- Name: $v
Entry: 7
Data: 15|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _SpawnPosition
Data: _RiskCardText
- Name: <UserType>k__BackingField
Entry: 7
Data: 16|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Transform, UnityEngine.CoreModule
Data: TMPro.TextMeshProUGUI, Unity.TextMeshPro
- Name:
Entry: 8
Data:
@@ -296,19 +296,25 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _HeldPosition
Data: _SpawnPosition
- Name: $v
Entry: 7
Data: 19|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _HeldPosition
Data: _SpawnPosition
- Name: <UserType>k__BackingField
Entry: 9
Data: 16
Entry: 7
Data: 20|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Transform, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 16
Data: 20
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -323,13 +329,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 20|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 21|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 21|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 22|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@@ -345,6 +351,114 @@ MonoBehaviour:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: _HeldPosition
- Name: $v
Entry: 7
Data: 23|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _HeldPosition
- Name: <UserType>k__BackingField
Entry: 9
Data: 20
- Name: <SystemType>k__BackingField
Entry: 9
Data: 20
- 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: 24|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 25|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: _IsInHeldCollider
- Name: $v
Entry: 7
Data: 26|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _IsInHeldCollider
- Name: <UserType>k__BackingField
Entry: 7
Data: 27|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Boolean, mscorlib
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 27
- 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: 28|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: 13
Data:
+35 -2
View File
@@ -11,28 +11,61 @@ public class RiskCard : UdonSharpBehaviour
{
[UdonSynced] public int RiskAmount = 0;
[SerializeField] private RiskCardGroup CardGroup = null;
[SerializeField] private Collider _Holder;
[SerializeField] private TextMeshProUGUI _RiskCardText;
[SerializeField] private Transform _SpawnPosition;
[SerializeField] private Transform _HeldPosition;
private bool _IsInHeldCollider = false;
void Start()
{
_RiskCardText.text = RiskAmount.ToString();
}
void OnTriggerEnter(Collider OtherCollider)
{
if (OtherCollider == _Holder)
{
_IsInHeldCollider = true;
}
}
private void OnTriggerExit(Collider OtherCollider)
{
if (OtherCollider == _Holder)
{
_IsInHeldCollider = false;
}
}
public override void OnPickup()
{
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)CardGroup, NetworkEventTarget.All, "RiskCardPickedUp", RiskAmount);
CardGroup.SendCustomNetworkEvent(NetworkEventTarget.All, "RiskCardPickedUp", RiskAmount);
base.OnPickup();
}
public override void Interact()
{
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)CardGroup, NetworkEventTarget.All, "RiskCardInteract", RiskAmount);
CardGroup.SendCustomNetworkEvent(NetworkEventTarget.All, "RiskCardInteract", RiskAmount);
base.Interact();
}
public override void OnDrop()
{
if (_IsInHeldCollider)
{
transform.position = _Holder.transform.position;
transform.rotation = _Holder.transform.rotation;
}
base.OnDrop();
}
public void SetCardGroup(RiskCardGroup ParentCardGroup)
{
CardGroup = ParentCardGroup;
+15 -6
View File
@@ -62,7 +62,7 @@ public class RiskCardGroup : UdonSharpBehaviour
{
if (!Player.IsUserInVR())
{
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)Card, NetworkEventTarget.All, "SetToHeldPosition");
Card.SendCustomNetworkEvent(NetworkEventTarget.All, "SetToHeldPosition");
Card.DisableInteractive = true;
}
}
@@ -89,7 +89,7 @@ public class RiskCardGroup : UdonSharpBehaviour
{
Pickup.Drop();
}
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)Card, NetworkEventTarget.All, "SetToHeldPosition");
Card.SendCustomNetworkEvent(NetworkEventTarget.All, "SetToHeldPosition");
_PCCardAnimator.SetBool("Turn Forward", true);
Card.DisableInteractive = true;
}
@@ -121,10 +121,19 @@ public class RiskCardGroup : UdonSharpBehaviour
for (int i = 0; i < _RiskCards.Length; i++)
{
RiskCard Card = _RiskCards[i];
if (Card.RiskAmount == _SelectedRiskAmount) { Card.DisableInteractive = false; continue; }
Card.DisableInteractive = true;
VRCPickup Pickup = Card.GetComponent<VRCPickup>();
if (Pickup != null) { Pickup.pickupable = false; }
if (Card.RiskAmount == _SelectedRiskAmount)
{
Card.DisableInteractive = false;
}
else
{
Card.DisableInteractive = true;
VRCPickup Pickup = Card.GetComponent<VRCPickup>();
if (Pickup != null)
{
Pickup.pickupable = false;
}
}
}
}
@@ -0,0 +1,53 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3}
m_Name: RiskCardHolder
m_EditorClassIdentifier:
serializedUdonProgramAsset: {fileID: 11400000, guid: 55879270d8d2bd2448aa0fd442ff3062,
type: 2}
udonAssembly:
assemblyError:
sourceCsScript: {fileID: 11500000, guid: 8c5c9c0099baba047a5672fe5f733eeb, type: 3}
scriptVersion: 2
compiledVersion: 2
behaviourSyncMode: 4
hasInteractEvent: 0
scriptID: 7902799765129343202
serializationData:
SerializedFormat: 2
SerializedBytes:
ReferencedUnityObjects: []
SerializedBytesString:
Prefab: {fileID: 0}
PrefabModificationsReferencedUnityObjects: []
PrefabModifications: []
SerializationNodes:
- Name: fieldDefinitions
Entry: 7
Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[UdonSharp.Compiler.FieldDefinition,
UdonSharp.Editor]], mscorlib
- Name: comparer
Entry: 7
Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.String,
mscorlib]], mscorlib
- Name:
Entry: 8
Data:
- Name:
Entry: 12
Data: 0
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5ee671b124e44f9479db21be2e10cf42
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
+12
View File
@@ -0,0 +1,12 @@
using UdonSharp;
using UnityEngine;
using VRC.SDKBase;
using VRC.Udon;
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
public class RiskCardHolder : UdonSharpBehaviour
{
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8c5c9c0099baba047a5672fe5f733eeb
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: