public override void Reinitialize <T>(FactoryObjectParams assetParams, Promise <T> assetReadyPromise) { _assetParams = assetParams; assetReadyPromise.Resolve(this as T); }
//T will always be the class inheriting FactoryObject. //To properly implement Reinitialize: //1. Wait for any internal promises to resolve (i.e. loading a sub asset that you plan to child to this one) //2. Resolve assetReadyPromise by calling assetReadyPromise.Resolve(this as T); public abstract void Reinitialize <T>(FactoryObjectParams assetParams, Promise <T> assetReadyPromise) where T : FactoryObject;