public void Start(ProvideHandle provideHandle, VirtualAssetBundle bundle)
 {
     m_PI = provideHandle;
     provideHandle.SetWaitForCompletionCallback(WaitForCompletionHandler);
     m_RequestOperation            = bundle.LoadAssetAsync(m_PI, m_PI.Location);
     m_RequestOperation.Completed += RequestOperation_Completed;
 }
        public override void Provide(ProvideHandle provideHandle)
        {
            List <object> deps = new List <object>(); // TODO: garbage. need to pass actual count and reuse the list

            provideHandle.GetDependencies(deps);
            VirtualAssetBundle bundle = deps[0] as VirtualAssetBundle;

            if (bundle == null)
            {
                provideHandle.Complete <object>(null, false, null);
            }
            else
            {
                new InternalOp().Start(provideHandle, bundle);
            }
        }
        public override void Provide(ProvideHandle provideHandle)
        {
            List <object> deps = new List <object>(); // TODO: garbage. need to pass actual count and reuse the list

            provideHandle.GetDependencies(deps);
            VirtualAssetBundle bundle = deps[0] as VirtualAssetBundle;

            if (bundle == null)
            {
                provideHandle.Complete <object>(null, false, new Exception($"Unable to load asset of type {provideHandle.Type} from location {provideHandle.Location}."));
            }
            else
            {
                new InternalOp().Start(provideHandle, bundle);
            }
        }
 public void Start(ProvideHandle provideHandle, VirtualAssetBundle bundle)
 {
     m_PI = provideHandle;
     m_RequestOperation            = bundle.LoadAssetAsync(m_PI.Type, m_PI.Location);
     m_RequestOperation.Completed += RequestOperation_Completed;
 }