This commit is contained in:
NotAKidoS 2023-04-13 19:11:50 -05:00
parent df51d421aa
commit e990a8581e

View file

@ -191,9 +191,9 @@ public class PropUndoButton : MelonMod
for (int i = propsList.Length - 1; i >= 0; i--)
{
CVRSyncHelper.PropData propData = propsList[i];
SafeDeleteProp(propData);
DeleteProp(propData);
}
return false;
}
@ -229,10 +229,15 @@ public class PropUndoButton : MelonMod
if (Time.time - deletedProp.timeDeleted <= redoTimeoutLimit)
{
SendRedoProp(deletedProp.propGuid, deletedProp.position, deletedProp.rotation);
deletedProps.RemoveAt(index);
PlayAudioModule(sfx_redo);
}
deletedProps.RemoveAt(index);
else
{
// if latest prop is too old, same with rest
deletedProps.Clear();
PlayAudioModule(sfx_warn);
}
}
// original spawn prop method does not let you specify rotation
@ -266,6 +271,20 @@ public class PropUndoButton : MelonMod
}
}
private static void DeleteProp(CVRSyncHelper.PropData propData)
{
if (propData.Spawnable != null)
{
propData.Spawnable.Delete();
}
else
{
if (propData.Wrapper != null)
UnityEngine.Object.DestroyImmediate(propData.Wrapper);
propData.Recycle();
}
}
private static void SafeDeleteProp(CVRSyncHelper.PropData propData)
{
//fixes getting props stuck in limbo state if spawn & delete fast