private IEnumerator CreateAerialCombatCutIn(IObserver <bool> observer) { BattleCameras cams = BattleTaskManager.GetBattleCameras(); BattleCutInCamera inCam = BattleTaskManager.GetBattleCameras().cutInCamera; BattleCutInEffectCamera efCam = BattleTaskManager.GetBattleCameras().cutInEffectCamera; BattleShips _battleShips = BattleTaskManager.GetBattleShips(); _prodSupportAerialPhase1 = ProdSupportAerialPhase1.Instantiate(fShips: _battleShips.dicFriendBattleShips, eShips: _battleShips.dicEnemyBattleShips, prefab: Resources.Load <ProdSupportAerialPhase1>("Prefabs/Battle/Production/SupportingFire/ProdSupportAerialPhase1"), model: _clsAerial, parent: cams.cutInCamera.transform.parent); if (_clsAerial.GetPlanes(is_friend: true) != null && _clsAerial.GetPlanes(is_friend: false) != null) { inCam.isCulling = true; efCam.isCulling = true; } else if (_clsAerial.GetPlanes(is_friend: true) != null) { efCam.isCulling = false; } yield return(new WaitForEndOfFrame()); _prodSupportAerialPhase2 = ProdSupportAerialPhase2.Instantiate(Resources.Load <ProdSupportAerialPhase2>("Prefabs/Battle/Production/SupportingFire/ProdSupportAerialPhase2"), _clsAerial, inCam.transform); yield return(new WaitForEndOfFrame()); _prodSupportAerialPhase2.CreateHpGauge(FleetType.Enemy); yield return(new WaitForEndOfFrame()); observer.OnNext(value: true); observer.OnCompleted(); }
private IEnumerator _createAsyncAircrafts() { _listAircraft = new List <ProdAerialAircraft>(); PlaneModelBase[] fPlanes = _clsAerial.GetPlanes(is_friend: true); PlaneModelBase[] ePlanes = _clsAerial.GetPlanes(is_friend: false); for (int j = 0; j < fPlanes.Length; j++) { if (fPlanes[j] != null) { if (j >= 6) { break; } _listAircraft.Add(_instantiateAircraft(_uiAirObjF[0].transform, j, fPlanes[j], FleetType.Friend)); if (_iType == CutInType.Both) { _listAircraft.Add(_instantiateAircraft(_uiAirObjF[1].transform, j, fPlanes[j], FleetType.Friend)); } } } yield return(null); for (int i = 0; i < ePlanes.Length; i++) { if (ePlanes[i] != null) { if (i >= 6) { break; } _listAircraft.Add(_instantiateAircraft(_uiAirObjE[0].transform, i, ePlanes[i], FleetType.Enemy)); if (_iType == CutInType.Both) { _listAircraft.Add(_instantiateAircraft(_uiAirObjE[1].transform, i, ePlanes[i], FleetType.Enemy)); } } } yield return(null); }