public void PlayStartCutin(Action onFinishedCallBack) { mSprite_CutinMessage.spriteName = "expedition_txt_go"; mAnimationFinishedCallBack = onFinishedCallBack; mPanelThis.alpha = 1f; GetComponent <Animation>().Play("Anim_MissionStartCutinShutter"); GetComponent <Animation>().Blend("Anim_MissionStartCutinLevel" + mDeckModel.GetShips().Length); }
public static List <int> GenerateRandomIndexMap(DeckModel deckModel) { List <int> list = new List <int>(); while (Enumerable.Count <int>(list) < deckModel.GetShips().Length) { int num = Random.Range(0, deckModel.GetShips().Length); if (!list.Contains(num)) { list.Add(num); } } return(list); }
public static List <int> GenerateRandomIndexMap(DeckModel deckModel) { List <int> list = new List <int>(); while (list.Count() < deckModel.GetShips().Length) { int item = UnityEngine.Random.Range(0, deckModel.GetShips().Length); if (!list.Contains(item)) { list.Add(item); } } return(list); }
private void GotoSupplyConfirm() { if (!CheckDeckState()) { return; } ShipModel[] ships = CurrentDeck.GetShips(); for (int i = 0; i < ships.Length; i++) { if (ships[i].IsTettaiBling()) { CommonPopupDialog.Instance.StartPopup("撤退中の艦を含んでいます"); return; } } SupplyMng = new SupplyManager(SingletonMonoBehaviour <AppInformation> .Instance.CurrentDeck.AreaId); SupplyMng.InitForDeck(SingletonMonoBehaviour <AppInformation> .Instance.CurrentDeck.Id); if (SupplyMng.CheckBoxALLState != CheckBoxStatus.ON) { SupplyMng.ClickCheckBoxAll(); } if (SupplyMng.CheckedShipIndices.Length == 0) { CommonPopupDialog.Instance.StartPopup("補給対象の艦が居ません"); } else if (!SupplyMng.IsValidSupply(SupplyType.All)) { CommonPopupDialog.Instance.StartPopup("資源が不足しています"); } else { ModeProcessor.ChangeMode(1); } }
public void InitForDeck(int deck_id) { if (_selected_deck != null && _selected_deck.Id != deck_id) { _checked_ships.Clear(); } else if (_selected_deck == null) { _checked_ships.Clear(); } _selected_deck = base.UserInfo.GetDeck(deck_id); if (_selected_deck != null && _selected_deck.AreaId == MapArea.Id) { _target_ships = new List <ShipModel>(_selected_deck.GetShips()); _checkbox_states = new CheckBoxStatus[_target_ships.Count]; for (int i = 0; i < _target_ships.Count; i++) { ShipModel ship = _target_ships[i]; _checkbox_states[i] = _GetCheckBoxStatus(ship, _selected_deck); } } else { _target_ships = new List <ShipModel>(); _checkbox_states = new CheckBoxStatus[0]; } _CalcMaterialForSupply(); _SetCheckBoxAllState(); }
public ShienModel_Hou(DeckModel shien_deck, List <ShipModel_BattleAll> ships_f, List <ShipModel_BattleAll> ships_e, SupportAtack data) { _shien_deck_id = shien_deck.Id; _ships_shien = new List <ShipModel_Attacker>(); ShipModel[] ships = shien_deck.GetShips(); for (int i = 0; i < ships.Length; i++) { _ships_shien.Add(new __ShipModel_Attacker__(ships[i], i)); } _ships_f = ships_f; _ships_e = ships_e; _data = data; _dmg_data = new List <DamageModel>(); for (int j = 0; j < ships_e.Count; j++) { ShipModel_BattleAll shipModel_BattleAll = ships_e[j]; if (shipModel_BattleAll == null) { _dmg_data.Add(null); continue; } DamageModel damageModel = new DamageModel(shipModel_BattleAll); int damage = data.Hourai.Damage[j]; BattleHitStatus hitstate = data.Hourai.Clitical[j]; BattleDamageKinds dmgkind = data.Hourai.DamageType[j]; damageModel.__AddData__(damage, hitstate, dmgkind); damageModel.__CalcDamage__(); _dmg_data.Add(damageModel); } }
private IEnumerator InitailizeCoroutine(DeckModel deckModel, Action callBack) { float delayStart = Time.deltaTime; ShipModel[] ships = deckModel.GetShips(); for (int i = 0; i < ships.Length; i++) { mUIMissionShipBanners[i].Initialize(i + 1, ships[i]); mUIMissionShipBanners[i].Show(); UIUtil.AnimationOnFocus(mUIMissionShipBanners[i].transform, null); yield return(new WaitForSeconds(0.05f)); } yield return(null); Vector3 localPosition = mLabel_Message.transform.localPosition; float x = localPosition.x - 50f; Vector3 localPosition2 = mLabel_Message.transform.localPosition; float y = localPosition2.y; Vector3 localPosition3 = mLabel_Message.transform.localPosition; Vector3 from = new Vector3(x, y, localPosition3.z); Vector3 to = mLabel_Message.transform.localPosition; mLabel_Message.transform.localPosition = from; mLabel_Message.transform.DOLocalMove(to, 0.3f); DOVirtual.DelayedCall(Time.deltaTime - delayStart, delegate { this.mLabel_Message.transform.DOLocalMove(to, 0.3f); }); mLabel_Message.alpha = 1f; callBack?.Invoke(); }
private ShipModel GetTargetShip(DeckModel model) { List <ShipModel> list = (from x in model.GetShips() where !x.IsEscaped() select x).ToList(); return(list[XorRandom.GetILim(0, list.Count - 1)]); }
public ShienModel_Air(DeckModel shien_deck, List <ShipModel_BattleAll> ships_f, List <ShipModel_BattleAll> ships_e, SupportAtack data) : base(ships_f, ships_e, data.AirBattle) { this._shien_deck_id = shien_deck.Id; this._ships_shien = new List <ShipModel_Attacker>(); ShipModel[] ships = shien_deck.GetShips(); for (int i = 0; i < ships.Length; i++) { this._ships_shien.Add(new __ShipModel_Attacker__(ships[i], i)); } base._Initialize(); }
public void Initialize(DeckModel deckModel) { mUIRemodelShipSliderThumb_Thumb.transform.localPosition = Vector3.zero; mDeckModel = deckModel; mShipCount = mDeckModel.GetShips().Length; mCellHeight = 46; DOVirtual.Float(mWidget_SliderLimit.height, mCellHeight * (mShipCount - 1), 0.3f, delegate(float value) { mWidget_SliderLimit.height = (int)value; }); mIndex = 0; mLabel_Index.text = (mIndex + 1).ToString(); }
public void OnDeckChange(DeckModel deck) { if (this.currentDeck != null) { bool flag = this.GetDeckID() < deck.Id; for (int i = 0; i < 6; i++) { this._bannerManager[i].UpdateChangeBanner(false); if (flag) { this._bannerManager[i].DeckChangeAnimetion(true); } else { this._bannerManager[i].DeckChangeAnimetion(false); } } } this.currentDeck = deck; SingletonMonoBehaviour <AppInformation> .Instance.CurrentDeck = (DeckModel)this.currentDeck; if (this.currentDeck != null && deck.IsActionEnd()) { this.mTransform_TurnEndStamp.SetActive(true); ShortcutExtensions.DOKill(this.mTransform_TurnEndStamp, false); ShortcutExtensions.DOLocalRotate(this.mTransform_TurnEndStamp, new Vector3(0f, 0f, 300f), 0f, 1); TweenSettingsExtensions.SetEase <Tweener>(ShortcutExtensions.DOLocalRotate(this.mTransform_TurnEndStamp, new Vector3(0f, 0f, 360f), 0.8f, 1), 30); } else { this.mTransform_TurnEndStamp.SetActive(false); } ShipModel[] ships = deck.GetShips(); for (int j = 0; j < 6; j++) { if (j < ships.Length) { this._bannerManager[j].setShip(ships[j]); this._bannerManager[j].IsSet = true; } else { this._bannerManager[j].IsSet = false; } } TaskOrganizeTop.BannerIndex = 1; this.setControlState(); this.UpdateDeckName(); this.UpdeteDeckIcon(); this.UpdateSystemButtons(); this.deckChangeArrows.UpdateView(); }
public void OnDeckChange(DeckModel deck) { if (currentDeck != null) { bool flag = GetDeckID() < deck.Id; for (int i = 0; i < 6; i++) { _bannerManager[i].UpdateChangeBanner(enabled: false); if (flag) { _bannerManager[i].DeckChangeAnimetion(isLeft: true); } else { _bannerManager[i].DeckChangeAnimetion(isLeft: false); } } } currentDeck = deck; SingletonMonoBehaviour <AppInformation> .Instance.CurrentDeck = (DeckModel)currentDeck; if (currentDeck != null && deck.IsActionEnd()) { mTransform_TurnEndStamp.SetActive(isActive: true); mTransform_TurnEndStamp.DOKill(); mTransform_TurnEndStamp.DOLocalRotate(new Vector3(0f, 0f, 300f), 0f, RotateMode.FastBeyond360); mTransform_TurnEndStamp.DOLocalRotate(new Vector3(0f, 0f, 360f), 0.8f, RotateMode.FastBeyond360).SetEase(Ease.OutBounce); } else { mTransform_TurnEndStamp.SetActive(isActive: false); } ShipModel[] ships = deck.GetShips(); for (int j = 0; j < 6; j++) { if (j < ships.Length) { _bannerManager[j].setShip(ships[j]); _bannerManager[j].IsSet = true; } else { _bannerManager[j].IsSet = false; } } BannerIndex = 1; setControlState(); UpdateDeckName(); UpdeteDeckIcon(); UpdateSystemButtons(); deckChangeArrows.UpdateView(); }
private string getAlertMessage(DeckModel deck) { UserInfoModel userInfo = StrategyTopTaskManager.GetLogicManager().UserInfo; MemberMaxInfo memberMaxInfo = userInfo.ShipCountData(); MemberMaxInfo memberMaxInfo2 = userInfo.SlotitemCountData(); if (deck.GetShips().Any((ShipModel x) => x.IsTaiha())) { AlertMessage.color = AlertColor; return("※大破している艦娘がいます。(被弾により喪失の危険があります)"); } if (memberMaxInfo.MaxCount <= memberMaxInfo.NowCount) { AlertMessage.color = AlertColor; return("※艦娘保有数が上限に達しているため、新しい艦娘との邂逅はできません。"); } if (memberMaxInfo.MaxCount - 6 <= memberMaxInfo.NowCount) { AlertMessage.color = WarningColor; return("※艦娘保有数が上限に近いため、新しい艦娘と邂逅できない可能性があります。"); } if (memberMaxInfo2.MaxCount <= memberMaxInfo2.NowCount) { AlertMessage.color = AlertColor; return("※装備保有数が上限に達しているため、新しい艦娘との邂逅はできません。"); } if (memberMaxInfo2.MaxCount - 24 <= memberMaxInfo2.NowCount) { AlertMessage.color = WarningColor; return("※装備保有数が上限に近いため、新しい艦娘と邂逅できない可能性があります。"); } if (deck.GetShips().Any((ShipModel x) => x.FuelRate < 100.0 || x.AmmoRate < 100.0)) { AlertMessage.color = WarningColor; return("※十分な補給を受けていない艦娘がいます。(本来の戦闘力を発揮できません)"); } return(string.Empty); }
public List <IsGoCondition> IsGoSortie(int deck_id, int map_id) { DeckModel deck = base.UserInfo.GetDeck(deck_id); List <IsGoCondition> list = deck.IsValidSortie(); if (deck.AreaId != this.MapArea.Id) { list.Add(IsGoCondition.AnotherArea); } if (this._maps.Find((MapModel map) => map.MstId == map_id) == null) { list.Add(IsGoCondition.Invalid); } ShipModel[] ships = deck.GetShips(); HashSet <SType> sortieLimit = Utils.GetSortieLimit(map_id, true); if (sortieLimit != null) { for (int i = 0; i < ships.Length; i++) { SType shipType = (SType)ships[i].ShipType; if (!sortieLimit.Contains(shipType)) { list.Add(IsGoCondition.InvalidOrganization); break; } } } if (!list.Contains(IsGoCondition.InvalidOrganization)) { HashSet <SType> sortieLimit2 = Utils.GetSortieLimit(map_id, false); if (sortieLimit2 != null) { for (int j = 0; j < ships.Length; j++) { SType shipType2 = (SType)ships[j].ShipType; if (sortieLimit2.Contains(shipType2)) { list.Add(IsGoCondition.InvalidOrganization); break; } } } } return(list); }
public bool Init(DeckModel detailDeck) { List <ShipModel> list = new List <ShipModel>(detailDeck.GetShips(this._listShipBanners.get_Count())); int cnt = 0; list.ForEach(delegate(ShipModel x) { if (x != null) { this._listShipBanners.get_Item(cnt).SetShipData(x, detailDeck.GetShipIndex(x.MemId) + 1); } else { this._listShipBanners.get_Item(cnt).SetShipData(x, -1); } cnt++; }); return(false); }
public static double GetSearchValue(DeckModel deck, MapBranchResult.enumScoutingKind type, DifficultKind difficulty) { double num = 0.0; for (int i = 0; i < deck.GetShips().Length; i++) { ShipModel ship = deck.GetShip(i); double shipValue = GetShipValue(ship); double num2 = 0.0; List <SlotitemModel> slotitemList = ship.SlotitemList; for (int j = 0; j < slotitemList.Count; j++) { num2 += GetSlotValue(type, slotitemList[j]); } double difficultyCorrectionValue = GetDifficultyCorrectionValue(difficulty, type); num += shipValue + num2 + difficultyCorrectionValue; } return(num); }
public List <ShipModel> GetAreaShips(int area_id, bool use_deck, bool use_edeck, List <ShipModel> all_ships) { List <ShipModel> list = new List <ShipModel>(); MapAreaModel mapAreaModel = ManagerBase._area.get_Item(area_id); if (use_deck) { DeckModel[] decks = mapAreaModel.GetDecks(); DeckModel[] array = decks; for (int i = 0; i < array.Length; i++) { DeckModel deckModel = array[i]; list.AddRange(deckModel.GetShips()); } } if (use_edeck) { list.AddRange(mapAreaModel.GetEscortDeck().GetShips()); } HashSet <int> hashSet = mapAreaModel.__GetRepairingShipMemIdsHash__(); using (HashSet <int> .Enumerator enumerator = hashSet.GetEnumerator()) { while (enumerator.MoveNext()) { int current = enumerator.get_Current(); ShipModel ship2 = this.UserInfo.GetShip(current); if (ship2.IsInDeck() == -1 && ship2.IsInEscortDeck() == -1) { list.Add(ship2); } } } if (all_ships == null) { all_ships = this.UserInfo.__GetShipList__(); } List <ShipModel> list2 = all_ships.FindAll((ShipModel ship) => ship.IsBlingWait() && ship.AreaIdBeforeBlingWait == area_id); list.AddRange(list2); return(list); }
private IEnumerator OnBeginInitializeCoroutine() { mLabel_Message.text = "表示完了"; mLabel_Message.alpha = 0.01f; ShipModel[] shipModels = mDeckModel.GetShips(); for (int index = 0; index < shipModels.Length; index++) { ShipModel ship = shipModels[index]; mTexture_Ships[index].mainTexture = SingletonMonoBehaviour <ResourceManager> .Instance.ShipTexture.Load(ship.MstId, 1); mTexture_Cards[index].mainTexture = SingletonMonoBehaviour <ResourceManager> .Instance.ShipTexture.Load(ship.MstId, 3); yield return(null); mTexture_Ships[index].alpha = 0.01f; mTexture_Cards[index].alpha = 0.01f; yield return(null); } yield return(null); }
public void Initialize(DeckModel deck) { mDeckModel = deck; ShipModel[] ships = mDeckModel.GetShips(); UITexture[] array = mTextures_Flag; foreach (UITexture component in array) { component.SetActive(isActive: false); } CommonShipBanner[] array2 = mShipBannerSlots; foreach (CommonShipBanner commonShipBanner in array2) { commonShipBanner.StopParticle(); } switch (ships.Length) { case 1: mShipBannerSlots[0].gameObject.SetActive(true); mShipBannerSlots[0].SetShipData(ships[0]); mTextures_Flag[0].mainTexture = Resources.Load <Texture>("Textures/Common/DeckFlag/icon_deck" + deck.Id + "_fs"); mTextures_Flag[0].SetActive(isActive: true); break; case 2: mShipBannerSlots[0].gameObject.SetActive(true); mShipBannerSlots[5].gameObject.SetActive(true); mShipBannerSlots[0].SetShipData(ships[0]); mShipBannerSlots[5].SetShipData(ships[1]); mTextures_Flag[0].mainTexture = Resources.Load <Texture>("Textures/Common/DeckFlag/icon_deck" + deck.Id + "_fs"); mTextures_Flag[0].SetActive(isActive: true); break; case 3: mShipBannerSlots[0].gameObject.SetActive(true); mShipBannerSlots[1].gameObject.SetActive(true); mShipBannerSlots[5].gameObject.SetActive(true); mShipBannerSlots[0].SetShipData(ships[2]); mShipBannerSlots[1].SetShipData(ships[0]); mShipBannerSlots[5].SetShipData(ships[1]); mTextures_Flag[1].mainTexture = Resources.Load <Texture>("Textures/Common/DeckFlag/icon_deck" + deck.Id + "_fs"); mTextures_Flag[1].SetActive(isActive: true); break; case 4: mShipBannerSlots[0].gameObject.SetActive(true); mShipBannerSlots[1].gameObject.SetActive(true); mShipBannerSlots[4].gameObject.SetActive(true); mShipBannerSlots[5].gameObject.SetActive(true); mShipBannerSlots[0].SetShipData(ships[2]); mShipBannerSlots[1].SetShipData(ships[0]); mShipBannerSlots[4].SetShipData(ships[1]); mShipBannerSlots[5].SetShipData(ships[3]); mTextures_Flag[1].mainTexture = Resources.Load <Texture>("Textures/Common/DeckFlag/icon_deck" + deck.Id + "_fs"); mTextures_Flag[1].SetActive(isActive: true); break; case 5: mShipBannerSlots[0].gameObject.SetActive(true); mShipBannerSlots[1].gameObject.SetActive(true); mShipBannerSlots[2].gameObject.SetActive(true); mShipBannerSlots[4].gameObject.SetActive(true); mShipBannerSlots[5].gameObject.SetActive(true); mShipBannerSlots[0].SetShipData(ships[2]); mShipBannerSlots[1].SetShipData(ships[0]); mShipBannerSlots[2].SetShipData(ships[4]); mShipBannerSlots[4].SetShipData(ships[1]); mShipBannerSlots[5].SetShipData(ships[3]); mTextures_Flag[1].mainTexture = Resources.Load <Texture>("Textures/Common/DeckFlag/icon_deck" + deck.Id + "_fs"); mTextures_Flag[1].SetActive(isActive: true); break; case 6: mShipBannerSlots[0].gameObject.SetActive(true); mShipBannerSlots[1].gameObject.SetActive(true); mShipBannerSlots[2].gameObject.SetActive(true); mShipBannerSlots[3].gameObject.SetActive(true); mShipBannerSlots[4].gameObject.SetActive(true); mShipBannerSlots[5].gameObject.SetActive(true); mShipBannerSlots[0].SetShipData(ships[2]); mShipBannerSlots[1].SetShipData(ships[0]); mShipBannerSlots[2].SetShipData(ships[4]); mShipBannerSlots[3].SetShipData(ships[5]); mShipBannerSlots[4].SetShipData(ships[1]); mShipBannerSlots[5].SetShipData(ships[3]); mTextures_Flag[1].mainTexture = Resources.Load <Texture>("Textures/Common/DeckFlag/icon_deck" + deck.Id + "_fs"); mTextures_Flag[1].SetActive(isActive: true); break; } }
private IEnumerator InitailizeCoroutine(DeckModel deckModel, MissionModel missionModel, int hasTankerCount, Action callBack) { float delayStart = Time.deltaTime; mLabel_RequireDay.text = missionModel.Turn.ToString(); mLabel_RequireTanker.text = missionModel.TankerCount.ToString(); mLabel_HasTankerCount.text = hasTankerCount.ToString(); ShipModel[] ships = deckModel.GetShips(); if (missionModel.TankerMinCount <= hasTankerCount) { SettingTankerCount = missionModel.TankerMinCount; UpdateSettingTankerCountLabel(SettingTankerCount, isPoor: false); } else { int num = hasTankerCount - missionModel.TankerMinCount; UpdateSettingTankerCountLabel(SettingTankerCount, isPoor: true); mButton_Positive.isEnabled = false; mButton_CountUp.isEnabled = false; mButton_CountDown.isEnabled = false; } List <IsGoCondition> sortieCondition = new MissionManager(SingletonMonoBehaviour <AppInformation> .Instance.CurrentAreaID).IsValidMissionStart(MissionStartDeckModel.Id, MissionStartTargetModel.Id, SettingTankerCount); bool conditionOk = sortieCondition.Count <= 0; bool otherDeckInMission = missionModel.Deck != null; if (conditionOk && !otherDeckInMission) { mButton_Positive.isEnabled = true; mLabel_Message.text = string.Empty; mLabel_Message.color = Color.black; mLabel_Message.alpha = 1E-09f; mLabel_Message.text = "この艦隊で遠征しますか?"; } else { mButton_Positive.isEnabled = false; mLabel_Message.text = string.Empty; mLabel_Message.color = Color.red; mLabel_Message.alpha = 1E-09f; mLabel_Message.text = GoConditionToString(sortieCondition[sortieCondition.Count - 1]); } isGoCondition = conditionOk; yield return(new WaitForEndOfFrame()); ChangeFocusButton(mButton_Negative); for (int i = 0; i < ships.Length; i++) { mUIMissionShipBanners[i].Initialize(i + 1, ships[i]); mUIMissionShipBanners[i].Show(); UIUtil.AnimationOnFocus(mUIMissionShipBanners[i].transform, null); yield return(new WaitForSeconds(0.05f)); } yield return(new WaitForEndOfFrame()); Vector3 localPosition = mLabel_Message.transform.localPosition; float x = localPosition.x - 50f; Vector3 localPosition2 = mLabel_Message.transform.localPosition; float y = localPosition2.y; Vector3 localPosition3 = mLabel_Message.transform.localPosition; Vector3 from = new Vector3(x, y, localPosition3.z); Vector3 to = mLabel_Message.transform.localPosition; mLabel_Message.transform.localPosition = from; mLabel_Message.transform.DOLocalMove(to, 0.3f); DOVirtual.DelayedCall(Time.deltaTime - delayStart, delegate { this.mLabel_Message.transform.DOLocalMove(to, 0.3f); }); mLabel_Message.alpha = 1f; callBack?.Invoke(); }