DelaySystem is a class that allows async call of DelayCallback after the set amount of time has passed.
This is how to create a custom DelayCallback:
public class CustomCallback extends DelayCallback {
// all the data that your Call function needs
private let myInt: Int32;
public func Call() {
// custom function that i want to be called when the specified time has passed
if this.myInt > 1 {
FTLog("Input is bigger than 1");
} else {
FTLog("Input is smaller than 1");
}
}
public static func Create(inputInt: Int32) -> ref<CustomCallback> {
// use this way to create your Callback class in one line
let self = new CustomCallback();
self.myInt = inputInt;
return self;
}
}
and this is how you can use the DelaySystem to call the Callback function with a delay:
let delaySystem = GameInstance.GetDelaySystem(GetGameInstance());
let inputInt: Int32 = 2;
let delay: Float = 1.0;
let isAffectedByTimeDilation: Bool = false;
delaySystem.DelayCallback(CustomCallback.Create(inputInt), delay, isAffectedByTimeDilation);