public void GetAsync(Action <GameObject> callback) { if (_currentState == State.Completed) { callback(_prefab); return; } _callbacks.Add(callback); if (_currentState == State.Loading) { return; } _currentState = State.Loading; _loader = PrefabLoader.Create(); _loader.LoadAsync(_path, OnCompleted); }
public GameObject Get() { if (_currentState == State.Completed) { return(_prefab); } if (_currentState == State.Loading) { throw new InvalidOperationException(); } _currentState = State.Loading; _loader = PrefabLoader.Create(); _prefab = _loader.Load(_path); _currentState = State.Completed; return(_prefab); }