/// <summary> /// フラグの設定 /// </summary> /// <param name="quest_id"></param> public void SetFlag(uint quest_id) { IsActiveNew = false; IsActiveFlag = false; bool isQuestClear = ServerDataUtil.ChkRenewBitFlag(ref UserDataAdmin.Instance.m_StructPlayer.flag_renew_quest_clear, quest_id); bool isMissonComplete = ServerDataUtil.ChkRenewBitFlag(ref UserDataAdmin.Instance.m_StructPlayer.flag_renew_quest_mission_complete, quest_id); bool isNew = ServerDataUtil.ChkRenewBitFlag(ref UserDataAdmin.Instance.m_StructPlayer.flag_renew_quest_check, quest_id); if (isQuestClear && isMissonComplete) { // コンプリートフラグの表示 IsActiveFlag = true; FlagImage = ResourceManager.Instance.Load("comp_flag_q"); } else if (isQuestClear) { // クリアフラグの表示 IsActiveFlag = true; FlagImage = ResourceManager.Instance.Load("clear_flag_q"); } else if (!isNew && m_QuestType != ExecType.Event) { // NEWフラグの表示 IsActiveNew = true; } }
public static string GetApplicationStatus(bool isTag) { string status = ""; #if API_SELECT_DEBUG || BUILD_TYPE_DEBUG if (DebugOption.Instance.disalbeDebugMenu == true) { return(status); } string apiversion = GlobalDefine.GetApiVersion(); SQLiteClient.Instance.UpdateDbClientVersion(); //サーバタイプ string createServer = SQLiteClient.Instance.GetDbServerType().ToString(); //作成時間 double unixTime = SQLiteClient.Instance.GetDbCreateTime(); DateTime unixStart = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); DateTime date = unixStart.AddSeconds(unixTime).ToLocalTime(); string createDate = " : " + date.ToString("yyyy/MM/dd HH:mm"); string sizestart = isTag == true ? "<size=22>" : ""; if (Patcher.Instance.isNextVersion()) { sizestart = isTag == true ? "<size=26>" : ""; } string sizeend = isTag == true ? "</size>" : ""; string space = isTag == true ? "\n" : " / "; string colorstart = isTag == true ? "<color=#0000ff>" : ""; if (Patcher.Instance.isNextVersion()) { colorstart = isTag == true ? "<color=#ff0000>" : ""; } string colorend = isTag == true ? "</color>" : ""; string dbtext = createServer + createDate; if (isTag == true) { dbtext += "\n" + GetSqliteUrl(); } Uri uri = new Uri(GetResourceBasePath()); status = StrOpe.i + sizestart + Application.productName + sizeend + space + sizestart + colorstart + ServerDataUtil.GetServerName() + colorend + sizeend + "\nAPI: " + apiversion + "\nAsset: " + uri.Scheme + "://" + uri.Host + "" + uri.AbsolutePath + "\ndb: " + dbtext + "\nuuid: " + LocalSaveManager.Instance.LoadFuncUUID(); #endif return(status); }
private bool IsLookUnit(uint _id) { if (ServerDataUtil.ChkBitFlag(ref UserDataAdmin.Instance.m_StructPlayer.flag_unit_check, _id) == true) { return(true); } return(false); }
//---------------------------------------------------------------------------- /*! * @brief GameCenter解除 */ //---------------------------------------------------------------------------- static public void GameCenterUnlockUnit() { if (UserDataAdmin.Instance == null || UserDataAdmin.Instance.m_StructPlayer == null || UserDataAdmin.Instance.m_StructPlayer.flag_unit_get == null ) { return; } uint unUnitGetCt = ServerDataUtil.GetBitFlagCt(ref UserDataAdmin.Instance.m_StructPlayer.flag_unit_get); #if BUILD_TYPE_DEBUG // Debug.Log( "Achievement UnitGetCt = " + unUnitGetCt ); #endif if (unUnitGetCt >= 10) { PlayGameServiceUtil.UnlockAchievement(EACHIEVEMENT.eCOLLECT_010); } if (unUnitGetCt >= 50) { PlayGameServiceUtil.UnlockAchievement(EACHIEVEMENT.eCOLLECT_050); } if (unUnitGetCt >= 100) { PlayGameServiceUtil.UnlockAchievement(EACHIEVEMENT.eCOLLECT_100); } if (unUnitGetCt >= 150) { PlayGameServiceUtil.UnlockAchievement(EACHIEVEMENT.eCOLLECT_150); } if (unUnitGetCt >= 200) { PlayGameServiceUtil.UnlockAchievement(EACHIEVEMENT.eCOLLECT_200); } if (unUnitGetCt >= 250) { PlayGameServiceUtil.UnlockAchievement(EACHIEVEMENT.eCOLLECT_250); } if (unUnitGetCt >= 300) { PlayGameServiceUtil.UnlockAchievement(EACHIEVEMENT.eCOLLECT_300); } if (unUnitGetCt >= 350) { PlayGameServiceUtil.UnlockAchievement(EACHIEVEMENT.eCOLLECT_350); } }
protected override void Start() { base.Start(); #if UNITY_EDITOR BuildAt = ""; ServerName = ServerDataUtil.GetServerName(); #else BuildAt = ""; ServerName = ""; #endif //アイコンアトラス更新関数開始 StartCoroutine(UpdateAtlusList()); }
/// <summary> /// アサインするとパーティコストを超えるかチェック /// </summary> /// <returns>true:コストオーバー false:コスト内</returns> bool CheckCostOver() { int nAssignedCost = 0; for (int i = 0; i < m_PartyMemberUnitGroup.Units.Count; ++i) { nAssignedCost += ServerDataUtil.GetPacketUnitCost(m_PartyMemberUnitGroup.Units[i].UnitData); // リンクユニット分のコストを加算 nAssignedCost += CharaLinkUtil.GetLinkUnitCost(m_PartyMemberUnitGroup.Units[i].UnitData); } bool bAssignedCostOver = nAssignedCost > UserDataAdmin.Instance.m_StructPlayer.total_party; return(bAssignedCostOver); }
//---------------------------------------------------------------------------- /*! * @brief GameCenter解除 */ //---------------------------------------------------------------------------- static public void GameCenterUnlockQuestRanking() { if (UserDataAdmin.Instance == null || UserDataAdmin.Instance.m_StructPlayer == null || UserDataAdmin.Instance.m_StructPlayer.flag_quest_clear == null ) { return; } uint unQuestClearCt = ServerDataUtil.GetBitFlagCt(ref UserDataAdmin.Instance.m_StructPlayer.flag_quest_clear); #if BUILD_TYPE_DEBUG // Debug.Log( "Achievement QuestClearCt = " + unQuestClearCt ); #endif PlayGameServiceUtil.SubmitScore(ELEADERBORAD.eCLEAR_AREA_COUNT, (long)unQuestClearCt); }
/// <summary> /// 条件が合う場合はNewフラグを表示 /// </summary> public void CheckViewFlag() { if (IsViewFlag == true) { return; } if (m_Master == null) { return; } if (ServerDataUtil.ChkBitFlag(ref MainMenuParam.m_ResultPrevUnitGetFlag, m_Master.fix_id) == true && !TutorialManager.IsExists) { return; } IsViewFlag = true; }
private void setupQuest() { m_QuestSelect.isEndShowList = false; m_QuestSelect.QuestList.Clear(); m_questButtons.Clear(); if (m_SelectAreaIndex >= m_QuestSelect.EpisodeList.Count) { return; } EpisodeDataContext episodeData = m_QuestSelect.EpisodeList[m_SelectAreaIndex]; MasterDataArea areaMaster = episodeData.master; if (areaMaster == null) { return; } List <MasterDataQuest2> quest2List = MasterFinder <MasterDataQuest2> .Instance.SelectWhere("where area_id = ?", areaMaster.fix_id); quest2List.Sort((a, b) => (int)a.fix_id - (int)b.fix_id); MasterDataQuest2[] quest2Array = quest2List.ToArray(); if (quest2Array == null) { return; } MainMenuParam.m_QuestStaminaAmend = (float)episodeData.amend.m_QuestSelectAreaAmendStamina / 100.0f; //クエストリスト更新 { uint _count = 0; uint _notClearCount = 0; bool bSkip = false; for (int i = 0; i < quest2Array.Length; i++) { uint _index = _count; MasterDataQuest2 _masterQuest2 = quest2Array[i]; if (_masterQuest2.active != MasterDataDefineLabel.BoolType.ENABLE) { continue; } if (_masterQuest2.story != 0 && _notClearCount != 0) { //未クリアクエスト以降のシナリオはスキップ bSkip = true; } else if (_masterQuest2.story == 0 && !ServerDataUtil.ChkRenewBitFlag(ref UserDataAdmin.Instance.m_StructPlayer.flag_renew_quest_clear, quest2Array[i].fix_id)) { //1つめの未クリアは表示 if (_notClearCount != 0) { bSkip = true; } _notClearCount++; } if (bSkip) { continue; } var model = new ListItemModel(_index); model.OnClicked += () => { SelectQuest(_index); }; m_questButtons.Add(model); QuestDataContext newQuest = new QuestDataContext(model); newQuest.master = _masterQuest2; newQuest.area_category_id = m_MasterAreaCategory.fix_id; newQuest.boss = MasterDataUtil.GetGuerrillaBossParamFromQuestID(_masterQuest2.fix_id); newQuest.m_QuestId = _index + 1; if (_masterQuest2.story == 0) { newQuest.m_QuestType = QuestDataContext.ExecType.Quest2; newQuest.IconLabel = GameTextUtil.GetText("questselect_text1"); { //詳細情報テキスト差し替え MasterDataQuestAppearance[] questAppearance = MasterFinder <MasterDataQuestAppearance> .Instance.SelectWhere("where area_category_id = ?", MainMenuParam.m_QuestSelectAreaCateID).ToArray(); if (questAppearance.IsNullOrEmpty() == false) { // newQuest.IconLabel = GameTextUtil.GetText(questAppearance[0].boss_text_key); // テキストキーではなく直接テキストが入っている newQuest.IconLabel = questAppearance[0].boss_text_key; } } UnitIconImageProvider.Instance.Get( _masterQuest2.boss_chara_id, sprite => { newQuest.IconImage = sprite; }); } else { newQuest.m_QuestType = QuestDataContext.ExecType.Event; newQuest.IconLabel = GameTextUtil.GetText("questselect_text2"); newQuest.IconImage = ResourceManager.Instance.Load("storyicon"); } string titleFormat = GameTextUtil.GetText("questselect_questname1"); if (newQuest.boss != null) { titleFormat = GameTextUtil.GetText("questselect_questname2"); } newQuest.Title = string.Format(titleFormat, _masterQuest2.quest_name); newQuest.Index = _index; newQuest.SelectImage = m_SelectSprite; // newQuest.BackGroundTexture = m_QuestSelect.BackGroundImage.texture; newQuest.IsActivePoint = false; switch (_masterQuest2.consume_type) { case 1: //スタミナ newQuest.IsActivePoint = true; newQuest.PointLabel = GameTextUtil.GetText("questselect_text3"); if (episodeData.amend.m_QuestSelectAreaAmendStamina == 100) { newQuest.m_Point = (uint)_masterQuest2.consume_value; newQuest.Point = string.Format("{0}", _masterQuest2.consume_value); } else { uint point = (uint)((float)_masterQuest2.consume_value * ((float)episodeData.amend.m_QuestSelectAreaAmendStamina / 100.0f)); newQuest.m_Point = point; newQuest.Point = string.Format(GameTextUtil.GetText("stmina_bahutext"), point); } //スコア倍率アップ newQuest.AmendText = ""; if (_masterQuest2.story == 0 && _masterQuest2.consume_value != 0 && episodeData.amend.m_FlagAmendScore) { float score_rate = (float)episodeData.amend.m_QuestSelectAreaAmendScore / 100.0f; newQuest.AmendText = string.Format("スコア {0:0.0}倍", score_rate); } break; case 2: //Key { newQuest.IsActivePoint = true; newQuest.m_Point = (uint)_masterQuest2.consume_value; string strFormat = GameTextUtil.GetText("questselect_text5"); MasterDataQuestKey _keyMaster = MasterDataUtil.GetMasterDataQuestKeyFromAreaCategoryID(m_MasterAreaCategory.fix_id); if (_keyMaster != null) { newQuest.PointLabel = string.Format(strFormat, _keyMaster.key_name); } newQuest.Point = string.Format("{0}", _masterQuest2.consume_value); } break; case 3: //Ticket newQuest.IsActivePoint = true; newQuest.m_Point = (uint)_masterQuest2.consume_value; newQuest.PointLabel = GameTextUtil.GetText("questselect_text4"); newQuest.Point = string.Format("{0}", _masterQuest2.consume_value); break; } newQuest.SetFlag(quest2Array[i].fix_id); m_QuestSelect.QuestList.Add(newQuest); _count++; } //------------------------------------------------- // イベントスケジュールがあるが検索 //------------------------------------------------- MasterDataEvent eventMaster = MasterDataUtil.GetMasterDataEventFromID(areaMaster.event_id); m_QuestSelect.m_EventMaster = eventMaster; if (eventMaster != null && eventMaster.event_schedule_show == MasterDataDefineLabel.BoolType.ENABLE) { m_QuestSelect.IsViewDetailButton = true; } else { m_QuestSelect.IsViewDetailButton = false; } } // View更新 foreach (var episodeButton in m_episodeButtons) { episodeButton.HideArrow(); } // インジケーターを表示 if (LoadingManager.Instance != null) { LoadingManager.Instance.RequestLoadingStart(LOADING_TYPE.ASSETBUNDLE); } m_QuestSelect.Show(episodeData.masterDataAreaCategory.fix_id, () => { foreach (var questButton in m_questButtons) { questButton.Appear(); } foreach (var episodeButton in m_episodeButtons) { if (episodeButton.isSelected) { episodeButton.ShowArrow(); } else { episodeButton.HideArrow(); } } //戻るボタン抑制解除 SetSuspendReturn(false); StartCoroutine(WaitShowQuestList(() => { m_QuestSelect.isEndShowList = true; })); }, () => { // インジケーターを閉じる if (LoadingManager.Instance != null) { LoadingManager.Instance.RequestLoadingFinish(LOADING_TYPE.ASSETBUNDLE); } }); }
void SetUpCharaData(ref PartyMemberStatusListItemContext item, PacketStructUnit _mainUnit, PacketStructUnit _subUnit, bool dispCharm, PacketStructUnit[] partyUnits) { CharaOnce baseChara = new CharaOnce(); if (_mainUnit.link_info == (uint)ServerDataDefine.CHARALINK_TYPE.CHARALINK_TYPE_BASE && _subUnit != null) { baseChara.CharaSetupFromID( _mainUnit.id, (int)_mainUnit.level, (int)_mainUnit.limitbreak_lv, (int)_mainUnit.limitover_lv, (int)_mainUnit.add_pow, (int)_mainUnit.add_hp, _subUnit.id, (int)_subUnit.level, (int)_subUnit.add_pow, (int)_subUnit.add_hp, (int)_mainUnit.link_point, (int)_subUnit.limitover_lv ); } else { baseChara.CharaSetupFromID( _mainUnit.id, (int)_mainUnit.level, (int)_mainUnit.limitbreak_lv, (int)_mainUnit.limitover_lv, (int)_mainUnit.add_pow, (int)_mainUnit.add_hp, 0, 0, 0, 0, 0, 0 ); } var changeHp = (int)(baseChara.m_CharaHP * MainMenuUtil.GetLeaderSkillHpRate(baseChara, partyUnits)); var statusText = string.Format(GameTextUtil.GetText("questlast_text4"), changeHp); if (changeHp > baseChara.m_CharaHP) { statusText = string.Format(GameTextUtil.GetText("questlast_text8"), changeHp); } else if (changeHp < baseChara.m_CharaHP) { statusText = string.Format(GameTextUtil.GetText("questlast_text9"), changeHp); } item.HpText = statusText; var changePow = (int)(baseChara.m_CharaPow * MainMenuUtil.GetLeaderSkillDamageRate(baseChara, MainMenuUtil.GetPartyCharaOnceArray(partyUnits))); statusText = string.Format(GameTextUtil.GetText("questlast_text4"), changePow); if (changePow > baseChara.m_CharaPow) { statusText = string.Format(GameTextUtil.GetText("questlast_text8"), changePow); } else if (changePow < baseChara.m_CharaPow) { statusText = string.Format(GameTextUtil.GetText("questlast_text9"), changePow); } item.AtkText = statusText; item.Cost = ServerDataUtil.GetPacketUnitCost(_mainUnit) + CharaLinkUtil.GetLinkUnitCost(_mainUnit); item.Charm = baseChara.m_CharaCharm; }