Please select what you are reporting on:
Creative
What Type of Bug are you experiencing?
Assets
Summary
I have a device that references other devices (different class), it seems that if the reference is not optional, it will keep the link to the empty some_other_device{} that’s created in the constructor
Really hard to know why, the script was working fine before the 28.10 update (the optional editables one)
Steps to Reproduce
Idk, here’s the snippet : (if you get rid of the crashable_device_config and reference the device directly it will work though)
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
crashable_device_config := class<concrete>:
# Needs to be optional for some reason (will keep a link to another empty crashable_device{} otherwise)
@editable
Device : crashable_device = crashable_device{}
# Device : ?crashable_device = false # <-- Solution
crashable_device := class(creative_device):
var IsReady<private> : logic = false
OnBegin<override><final>()<suspends>:void=
_CrashableReady()
OnCrashableDeviceBegin<public>()<suspends>:void={}
_CrashableReady<private>():void=
set IsReady = true
Print("set IsReady=true")
_CrashableAwaitReady<internal>()<suspends>:void=
if(not IsReady?):
Print("NOT READY")
verse_crash_detector := class(creative_device):
@editable
CrashableConfigs : []crashable_device_config = array{}
OnBegin<override>()<suspends>:void=
Sleep(1.0) # So we're sure that IsReady is set before
for(Config : CrashableConfigs, Device := Config.Device):
Device._CrashableAwaitReady()
Expected Result
References should be kept
Observed Result
References seem to be lost
Platform(s)
PC