private void OnHeroAdded(HeroRemoteDataModel heroModel) { if (heroModel != null) { SpawnHero(heroModel).Done((v) => { _hero = v; heroModel.Group.ObserveAdd().Subscribe(OnAnimalAddToGroup).AddTo(Disposables); }); } }
private IPromise <HeroView> SpawnHero(HeroRemoteDataModel hero) { Promise <HeroView> promise = new Promise <HeroView>(); GameObject instance = _container.InstantiatePrefab(_projectSettings.HeroPrefab); HeroView heroView = instance.GetComponent <HeroView>() ?? _container.InstantiateComponent <HeroView>(instance); heroView.Initialize(hero); promise.Resolve(heroView); return(promise); }