/// <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;
        }
    }
Exemple #2
0
    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);
    }
Exemple #3
0
 private bool IsLookUnit(uint _id)
 {
     if (ServerDataUtil.ChkBitFlag(ref UserDataAdmin.Instance.m_StructPlayer.flag_unit_check, _id) == true)
     {
         return(true);
     }
     return(false);
 }
Exemple #4
0
    //----------------------------------------------------------------------------

    /*!
     *          @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);
        }
    }
Exemple #5
0
    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);
    }
Exemple #7
0
    //----------------------------------------------------------------------------

    /*!
     *          @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);
    }
Exemple #8
0
    /// <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);
            }
        });
    }
Exemple #10
0
    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;
    }