Beispiel #1
0
    /// <summary>
    /// 素材選択で選択できるユニットかどうか
    /// </summary>
    /// <param name="_unit"></param>
    /// <returns></returns>
    private bool CheckMaterialUnit(PacketStructUnit _unit)
    {
        //ベース素材
        if (m_BaseUnit != null &&
            m_BaseUnit.unique_id == _unit.unique_id)
        {
            return(true);
        }
        //素材対象
        if (!IsMaterialUnit(_unit.id))
        {
            return(false);
        }
        // リンクチェック
        if (_unit.link_info != (int)CHARALINK_TYPE.CHARALINK_TYPE_NONE)
        {
            return(false);
        }
        // パーティチェック
        if (MainMenuUtil.ChkUnitPartyAssign(_unit.unique_id))
        {
            return(false);
        }
        // お気に入り
        if (MainMenuUtil.ChkUnitFavorite(_unit.unique_id))
        {
            return(false);
        }

        return(true);
    }
    private string setUnitLevel(ref PacketStructUnit _unit, string _level)
    {
        if (_unit == null)
        {
            return("");
        }
        int level = _level.ToInt(0);
        MasterDataParamChara master = MasterFinder <MasterDataParamChara> .Instance.Find((int)_unit.id);

        if (master == null)
        {
            return("");
        }

        if (level < 1)
        {
            level = 1;
        }
        if (level > master.level_max)
        {
            level = master.level_max;
        }
        _unit.level = (uint)level;
        return(level.ToString());
    }
Beispiel #3
0
    //----------------------------------------------------------------------------

    /*!
     *          @brief	ユニットのステータス置き換え
     */
    //----------------------------------------------------------------------------
    private void ReplaceUnit(PacketStructUnit repunit, PacketStructUnit linkUnit)
    {
        // 最大8体追加する
        int nReplaceNum = m_ReplaceNum;

        m_DebugReplaceUnit[nReplaceNum].id             = repunit.id;
        m_DebugReplaceUnit[nReplaceNum].level          = repunit.level;
        m_DebugReplaceUnit[nReplaceNum].add_hp         = repunit.add_hp;
        m_DebugReplaceUnit[nReplaceNum].add_pow        = repunit.add_pow;
        m_DebugReplaceUnit[nReplaceNum].limitbreak_lv  = repunit.limitbreak_lv;
        m_DebugReplaceUnit[nReplaceNum].unique_id      = repunit.unique_id;
        m_DebugReplaceUnit[nReplaceNum].link_point     = repunit.link_point;
        m_DebugReplaceUnit[nReplaceNum].link_unique_id = repunit.link_unique_id;
        m_DebugReplaceUnit[nReplaceNum].link_info      = repunit.link_info;

        nReplaceNum += (int)GlobalDefine.PartyCharaIndex.FRIEND;
        m_DebugReplaceUnit[nReplaceNum].id             = linkUnit.id;
        m_DebugReplaceUnit[nReplaceNum].level          = linkUnit.level;
        m_DebugReplaceUnit[nReplaceNum].add_hp         = linkUnit.add_hp;
        m_DebugReplaceUnit[nReplaceNum].add_pow        = linkUnit.add_pow;
        m_DebugReplaceUnit[nReplaceNum].unique_id      = linkUnit.unique_id;
        m_DebugReplaceUnit[nReplaceNum].link_unique_id = linkUnit.link_unique_id;
        m_DebugReplaceUnit[nReplaceNum].link_info      = linkUnit.link_info;

        ++m_ReplaceNum;
    }
Beispiel #4
0
    public void setupEvolveUnit(MasterDataParamChara _master, PacketStructUnit _unit_data = null)
    {
        if (_master == null)
        {
            return;
        }

        EvolUnitIcon.IsActiveIcon = true;
        UnitIconImageProvider.Instance.Get(
            _master.fix_id,
            sprite =>
        {
            EvolUnitIcon.IconImage = sprite;
        },
            true);

        if (_unit_data != null)
        {
            EvolUnitIcon.LinkIcon = MainMenuUtil.GetLinkMark(_unit_data);
        }
        EvolUnitIcon.CharaNo      = _master.draw_id;
        EvolUnitIcon.chara_fix_id = _master.fix_id;

        EvolUnitIcon.Attribute_circle = MainMenuUtil.GetElementCircleSprite(_master.element);
    }
Beispiel #5
0
    public void Copy(UnitGridParam _data)
    {
        unit_id   = _data.unit_id;
        unique_id = _data.unique_id;

        party_assign = _data.party_assign;
        favorite     = _data.favorite;
        evolve       = _data.evolve;

        get_time     = _data.get_time;
        draw_id      = _data.draw_id;
        level        = _data.level;
        hp           = _data.hp;
        pow          = _data.pow;
        plus         = _data.plus;
        cost         = _data.cost;
        rare         = _data.rare;
        element      = _data.element;
        kind         = _data.kind;
        sub_kind     = _data.sub_kind;
        limitover_lv = _data.limitover_lv;
        charm        = _data.charm;

        unit   = _data.unit;
        master = _data.master;
    }
Beispiel #6
0
    /// <summary>
    /// ベースユニットとして選択できるか
    /// </summary>
    /// <param name="_unit"></param>
    /// <returns></returns>
    private bool CheckBaseUnit(PacketStructUnit _unit)
    {
        UnitGridParam unit = UserDataAdmin.Instance.SearchUnitGridParam(_unit.unique_id);

        if (unit == null)
        {
            return(false);
        }
        if (unit.master == null)
        {
            return(false);
        }
        MasterDataLimitOver cLimitOver = MasterDataUtil.GetLimitOverFromID(unit.master.limit_over_type);

        if (cLimitOver == null)
        {
            return(false);
        }
        if (unit.limitover_lv >= cLimitOver.limit_over_max)
        {
            return(false);
        }

        return(true);
    }
Beispiel #7
0
    public void SelectUnitLongPress(UnitGridContext _unit)
    {
        SoundUtil.PlaySE(SEID.SE_MENU_OK2);
        //ユニット詳細画面へ
        if (MainMenuManager.HasInstance)
        {
            UnitDetailInfo _info = MainMenuManager.Instance.OpenUnitDetailInfo();
            if (_info == null)
            {
                return;
            }
            PacketStructUnit _subUnit = UserDataAdmin.Instance.SearchLinkUnit(_unit.UnitData);
            _info.SetUnitFavorite(_unit.UnitData, _subUnit, _unit);
            _info.SetCloseAction(() =>
            {
                //選択されてるユニットがお気に入り登録されたら選択を解除する
                if (IsSelectSaleUnit(_unit.UnitData.unique_id) &&
                    _unit.IsActiveFavoriteImage)
                {
                    //選択解除
                    SetUnitUnselected(_unit);
                    //ステータス更新
                    SetupSaleStatusValue();
                }

                //IconType更新
                SetupUnitIconType(_unit);

                //更新データ反映
                m_UnitGrid.UpdateBaseItem(_unit);
            });
        }
    }
    /// <summary>
    /// ユニットリストの作成
    /// </summary>
    void CreateUnitGrid()
    {
        //ユニット情報構築
        PacketStructUnit[] party = new PacketStructUnit[m_PartyMemberUnitGroup.Units.Count];
        for (int i = 0; i < m_PartyMemberUnitGroup.Units.Count; ++i)
        {
            party[i] = m_PartyMemberUnitGroup.Units[i].UnitData;
        }

        List <UnitGridContext> unitList = MainMenuUtil.MakeUnitGridContextList(party);

        if (unitList == null)
        {
            Debug.LogError("unitlist is null");
            return;
        }

        m_UnitGrid.OnClickSortButtonAction = OnClockSortButton;
        m_UnitGrid.ClickUnitAction         = OnSelectUnit;
        m_UnitGrid.LongPressUnitAction     = OnSelectUnitLongPress;

        m_UnitGrid.SetUpSortData(LocalSaveManager.Instance.LoadFuncSortFilterPartyForm());
        m_UnitGrid.CreateList(unitList);

        m_UnitGrid.SetupUnitSelected = SetupUintSelected;
    }
Beispiel #9
0
    //----------------------------------------------------------------------------

    /*!
     *          @brief		リンクシステム:リンクユニットのパーティコスト
     *          @param[in]	PacketStructUnit	(cBaseUnit)			ベースユニット
     *          @return		int					[パーティコスト]
     *          @note		リンクユニットのパーティコストを取得
     */
    //----------------------------------------------------------------------------
    static public int GetLinkUnitCost(PacketStructUnit cBaseUnit)
    {
        //--------------------------------
        // エラーチェック
        //--------------------------------
        if (cBaseUnit == null)
        {
            return(0);
        }

        PacketStructUnit cLinkUnit = GetLinkUnit(cBaseUnit);

        if (cLinkUnit == null)
        {
            return(0);
        }
        MasterDataParamChara cCharaMaster = BattleParam.m_MasterDataCache.useCharaParam(cLinkUnit.id);

        if (cCharaMaster == null)
        {
            return(0);
        }


        return(cCharaMaster.party_cost);
    }
Beispiel #10
0
    private bool CheckLinkTargetUnit(long _unique_id)
    {
        PacketStructUnit _baseUnit   = UserDataAdmin.Instance.SearchChara(MainMenuParam.m_LinkBaseUnitUniqueId);
        PacketStructUnit _targetUnit = UserDataAdmin.Instance.SearchChara(_unique_id);

        //ベースに設定されている
        if (_unique_id == MainMenuParam.m_LinkBaseUnitUniqueId)
        {
            return(false);
        }
        //ベースと同じユニットID
        if (_baseUnit.id == _targetUnit.id)
        {
            return(false);
        }
        // パーティチェック
        if (MainMenuUtil.ChkUnitPartyAssign(_unique_id))
        {
            return(false);
        }
        //リンクしている・されている
        if (_targetUnit.link_info != (uint)CHARALINK_TYPE.CHARALINK_TYPE_NONE)
        {
            return(false);
        }
        return(true);
    }
    private string setUnitSkillLevel(ref PacketStructUnit _unit, string _skillLevel)
    {
        if (_unit == null)
        {
            return("");
        }
        MasterDataParamChara master = MasterFinder <MasterDataParamChara> .Instance.Find((int)_unit.id);

        if (master == null)
        {
            return("");
        }
        if (master.skill_limitbreak == 0)
        {
            return("");
        }
        MasterDataSkillLimitBreak skillMaster = MasterFinder <MasterDataSkillLimitBreak> .Instance.Find((int)master.skill_limitbreak);

        if (skillMaster == null)
        {
            return("");
        }

        int skillLevel = _skillLevel.ToInt(0);

        if (skillLevel > skillMaster.level_max)
        {
            skillLevel = skillMaster.level_max;
        }
        _unit.limitbreak_lv = (uint)skillLevel;
        return(skillLevel.ToString());
    }
Beispiel #12
0
    public void setupLink(PacketStructUnit _unit)
    {
        if (_unit == null)
        {
            return;
        }

        MasterDataParamChara master = MasterFinder <MasterDataParamChara> .Instance.Find((int)_unit.id);

        if (master == null)
        {
            return;
        }

        fieldList[6].text  = master.draw_id.ToString();
        fieldList[7].text  = _unit.level.ToString();
        fieldList[8].text  = _unit.add_pow.ToString();
        fieldList[9].text  = _unit.add_hp.ToString();
        fieldList[10].text = _unit.limitbreak_lv.ToString();
        fieldList[11].text = _unit.limitover_lv.ToString();

        LinkName = master.name;
        UnitIconImageProvider.Instance.Get(
            master.fix_id,
            sprite =>
        {
            LinkImage = sprite;
        });
    }
Beispiel #13
0
    public void ChangeData(PacketStructUnit unitData, GlobalDefine.PartyCharaIndex partyCharaIndex, PacketStructUnit[] partyUnits)
    {
        PartyMemberStatusListItemContext selectUnitStatus = UnitStatusParams.Find(value => value.PartyCharaIndex == partyCharaIndex);

        SetUnitData(ref selectUnitStatus, unitData, partyUnits);
        UpdateOtherMemberStatus(partyCharaIndex, partyUnits);
        SetStatusParam();
    }
Beispiel #14
0
    public void AddData(PacketStructUnit unitData, GlobalDefine.PartyCharaIndex partyCharaIndex, PacketStructUnit[] partyUnits)
    {
        PartyMemberStatusListItemContext unitStatus = new PartyMemberStatusListItemContext();

        unitStatus.PartyCharaIndex = partyCharaIndex;
        SetUnitData(ref unitStatus, unitData, partyUnits);
        UnitStatusParams.Add(unitStatus);
    }
Beispiel #15
0
    /// <summary>
    /// ソートパラメータ設定(ユニット共通)
    /// </summary>
    /// <param name="_main"></param>
    /// <param name="_mainMaster"></param>
    /// <param name="_sub"></param>
    private void setSortParamUnit(PacketStructUnit _main, MasterDataParamChara _mainMaster, PacketStructUnit _sub)
    {
        CharaOnce baseChara = new CharaOnce();

        if (_main.link_info == (uint)ServerDataDefine.CHARALINK_TYPE.CHARALINK_TYPE_BASE &&
            _sub != null)
        {
            baseChara.CharaSetupFromParam(
                _mainMaster,
                (int)_main.level,
                (int)_main.limitbreak_lv,
                (int)_main.limitover_lv,
                (int)_main.add_pow,
                (int)_main.add_hp,
                _sub.id,
                (int)_sub.level,
                (int)_sub.add_pow,
                (int)_sub.add_hp,
                (int)_main.link_point,
                (int)_sub.limitover_lv
                );
        }
        else
        {
            baseChara.CharaSetupFromParam(
                _mainMaster,
                (int)_main.level,
                (int)_main.limitbreak_lv,
                (int)_main.limitover_lv,
                (int)_main.add_pow,
                (int)_main.add_hp,
                0,
                0,
                0,
                0,
                0,
                0
                );
        }

        draw_id = (int)_mainMaster.draw_id;
        level   = (int)_main.level;
        hp      = baseChara.m_CharaHP;
        pow     = baseChara.m_CharaPow;
        plus    = baseChara.m_CharaPlusHP + baseChara.m_CharaPlusPow;
        cost    = _mainMaster.party_cost;
        if (_main.link_info == (uint)ServerDataDefine.CHARALINK_TYPE.CHARALINK_TYPE_BASE && _sub != null)
        {
            cost += CharaLinkUtil.GetLinkUnitCost(_sub.id);
        }
        rare         = (int)_mainMaster.rare;
        element      = _mainMaster.element;
        kind         = _mainMaster.kind;
        sub_kind     = _mainMaster.sub_kind;
        limitover_lv = (int)_main.limitover_lv;
        charm        = baseChara.m_CharaCharm;
    }
Beispiel #16
0
    //----------------------------------------------------------------------------

    /*!
     *  @brief  パラメータ操作:ユニット詳細用データ設定:選択ユニットのみ指定版
     */
    //----------------------------------------------------------------------------
    static public void SetCharaDetailParam(PacketStructUnit cUnit)
    {
        m_CharaDetailCharaID        = cUnit.id;            //!< キャラ詳細:選択キャラID
        m_CharaDetailCharaLevel     = cUnit.level;         //!< キャラ詳細:選択キャラレベル
        m_CharaDetailCharaExp       = cUnit.exp;           //!< キャラ詳細:選択キャラ経験値
        m_CharaDetailCharaAddPow    = cUnit.add_pow;       //!< キャラ詳細:選択キャラパラメータ補正値:攻撃力
        m_CharaDetailCharaAddHP     = cUnit.add_hp;        //!< キャラ詳細:選択キャラパラメータ補正値:体力
        m_CharaDetailCharaLBSkillLV = cUnit.limitbreak_lv; //!< キャラ詳細:選択キャラリミットブレイクスキルレベル
        m_CharaDetailCharaLOverLV   = cUnit.limitover_lv;  //!< キャラ詳細:選択キャラ限界突破レベル
    }
Beispiel #17
0
    public void setupUnit(PacketStructUnit _mainUnit, PacketStructUnit _subUnit = null, bool bFakeLink = false, bool bPink = false)
    {
        MasterDataParamChara _master = MasterFinder <MasterDataParamChara> .Instance.Find((int)_mainUnit.id);

        if (_master == null)
        {
            return;
        }
        setup(_master, _mainUnit, _subUnit, bFakeLink, bPink);
    }
Beispiel #18
0
    /// <summary>
    /// ユニット設定(お気に入り登録あり)
    /// </summary>
    /// <param name="_mainUnit"></param>
    /// <param name="_subUnit"></param>
    /// <param name="_unitContext"></param>
    public void SetUnitFavorite(PacketStructUnit _mainUnit, PacketStructUnit _subUnit, UnitGridContext _unitContext)
    {
        SetUnit(_mainUnit, _subUnit);

        m_bFavorite = true;
        m_UnitDetailPanel.IsViewFavorite = true;

        m_MainUnitContext            = _unitContext;
        m_UnitDetailPanel.IsFavorite = MainMenuUtil.ChkFavoritedUnit(_mainUnit.unique_id);
    }
Beispiel #19
0
    public void SetUnitParam(PacketStructUnit unit_data, MasterDataParamChara chara_master)
    {
        UnitParam = Array.Find(UserDataAdmin.Instance.m_UnitGridParamList, (v) => v.unique_id == unit_data.unique_id);
        if (UnitParam == null)
        {
            UnitParam = new UnitGridParam(unit_data, chara_master);
        }

        setSortParamUnit(UnitParam);
    }
Beispiel #20
0
    /// <summary>
    /// 選択されているユニットかどうか
    /// </summary>
    /// <param name="_unit"></param>
    /// <returns></returns>
    bool IsSelectedUint(PacketStructUnit _unit)
    {
        //ベースに選択されている
        if (m_BaseUnit != null && m_BaseUnit.unique_id == _unit.unique_id)
        {
            return(true);
        }

        //選択されていない
        return(false);
    }
Beispiel #21
0
    public void setupChara(uint _unit_id, PacketStructUnit _mainUnit)
    {
        MasterDataParamChara _masterMain = MasterFinder <MasterDataParamChara> .Instance.Find((int)_unit_id);

        if (_masterMain == null)
        {
            return;
        }

        CharaOnce m_CharaParam = new CharaOnce();

        if (_mainUnit == null)
        {
            m_CharaParam.CharaSetupFromID(
                _unit_id,
                (int)1,
                (int)0,
                (int)0,
                (int)0,
                (int)0,
                0,
                0,
                0,
                0,
                0,
                0
                );
        }
        else
        {
            m_CharaParam.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
                );
        }

        if (_masterMain.link_enable == MasterDataDefineLabel.BoolType.ENABLE)
        {
            AddLinkBonus(m_CharaParam, _masterMain);
            AddRaceBonus(_masterMain);
            AddLinkSkill(_masterMain, 0);
            AddLinkPassive(_masterMain);
        }
    }
Beispiel #22
0
    static public void setupCharaParty(ref CharaParty _party, PacketStructUnit[] unitList, PacketStructUnit[] linkUnitList = null)
    {
        if (_party == null || unitList == null)
        {
            return;
        }

        CharaOnce[] acCharaList = new CharaOnce[(int)GlobalDefine.PartyCharaIndex.MAX];

        for (int j = 0; j < unitList.Length; j++)
        {
            if (unitList[j] == null)
            {
                continue;
            }
            PacketStructUnit cBaseUnit = unitList[j];

            // リンクの情報
            int  nLinkLimitOverLV = 0;
            uint nLinkId          = 0;
            int  nLinkLevel       = 0;
            int  nLinkPlusPow     = 0;
            int  nLinkPlusHp      = 0;

            PacketStructUnit cLinkUnit;
            if (linkUnitList != null && linkUnitList.IsRange(j))
            {
                cLinkUnit = linkUnitList[j];
            }
            else
            {
                cLinkUnit = CharaLinkUtil.GetLinkUnit(cBaseUnit.link_unique_id);
            }

            if (cLinkUnit != null)
            {
                nLinkId          = cLinkUnit.id;
                nLinkLevel       = (int)cLinkUnit.level;
                nLinkPlusPow     = (int)cLinkUnit.add_pow;
                nLinkPlusHp      = (int)cLinkUnit.add_hp;
                nLinkLimitOverLV = (int)cLinkUnit.limitover_lv;
            }


            acCharaList[j] = new CharaOnce();
            acCharaList[j].CharaSetupFromID(cBaseUnit.id, (int)cBaseUnit.level, (int)cBaseUnit.limitbreak_lv, (int)cBaseUnit.limitover_lv, (int)cBaseUnit.add_pow, (int)cBaseUnit.add_hp,
                                            nLinkId, nLinkLevel, nLinkPlusPow, nLinkPlusHp, (int)cBaseUnit.link_point, nLinkLimitOverLV);
        }

        _party.PartySetupMenu(acCharaList, false);
    }
Beispiel #23
0
    public void SetUnitData(ref PartyMemberStatusListItemContext unitStatus, PacketStructUnit unitData, PacketStructUnit[] partyUnits)
    {
        if (unitStatus == null)
        {
            return;
        }

        MasterDataParamChara charMaster = null;

        if (unitData == null || unitData.id == 0)
        {
            unitStatus.HpText  = "";
            unitStatus.AtkText = "";
            unitStatus.Cost    = 0;
            unitStatus.Charm   = 0;
        }
        else
        {
            charMaster = MasterFinder <MasterDataParamChara> .Instance.Find((int)unitData.id);

            SetUpCharaData(ref unitStatus, unitData, CharaLinkUtil.GetLinkUnit(unitData.link_unique_id), false, partyUnits);
        }

        MasterDataSkillActive skill1 = null;

        if (charMaster != null && charMaster.skill_active0 > 0)
        {
            skill1 = MasterFinder <MasterDataSkillActive> .Instance.Find((int)charMaster.skill_active0);
        }
        unitStatus.IsActiveSkill1Empty = (skill1 == null);
        unitStatus.Skill1Cost1         = (skill1 != null) ? MainMenuUtil.GetSkillElementIcon(skill1.cost1) : null;
        unitStatus.Skill1Cost2         = (skill1 != null) ? MainMenuUtil.GetSkillElementIcon(skill1.cost2) : null;
        unitStatus.Skill1Cost3         = (skill1 != null) ? MainMenuUtil.GetSkillElementIcon(skill1.cost3) : null;
        unitStatus.Skill1Cost4         = (skill1 != null) ? MainMenuUtil.GetSkillElementIcon(skill1.cost4) : null;
        unitStatus.Skill1Cost5         = (skill1 != null) ? MainMenuUtil.GetSkillElementIcon(skill1.cost5) : null;
        unitStatus.Skill1Color         = (skill1 != null) ? MainMenuUtil.GetSkillElementColor("S1", skill1.skill_element) : null;

        MasterDataSkillActive skill2 = null;

        if (charMaster != null && charMaster.skill_active1 > 0)
        {
            skill2 = MasterFinder <MasterDataSkillActive> .Instance.Find((int)charMaster.skill_active1);
        }
        unitStatus.IsActiveSkill2Empty = (skill2 == null);
        unitStatus.Skill2Cost1         = (skill2 != null) ? MainMenuUtil.GetSkillElementIcon(skill2.cost1) : null;
        unitStatus.Skill2Cost2         = (skill2 != null) ? MainMenuUtil.GetSkillElementIcon(skill2.cost2) : null;
        unitStatus.Skill2Cost3         = (skill2 != null) ? MainMenuUtil.GetSkillElementIcon(skill2.cost3) : null;
        unitStatus.Skill2Cost4         = (skill2 != null) ? MainMenuUtil.GetSkillElementIcon(skill2.cost4) : null;
        unitStatus.Skill2Cost5         = (skill2 != null) ? MainMenuUtil.GetSkillElementIcon(skill2.cost5) : null;
        unitStatus.Skill2Color         = (skill2 != null) ? MainMenuUtil.GetSkillElementColor("S2", skill2.skill_element) : null;
    }
Beispiel #24
0
    /// <summary>
    /// 進化成功
    /// </summary>
    /// <param name="_data"></param>
    private void resultSuccess(ServerApi.ResultData _data)
    {
        UserDataAdmin.Instance.m_StructPlayer = _data.UpdateStructPlayer <RecvEvolveUnit>((PacketStructPlayer)UserDataAdmin.Instance.m_StructPlayer);
        UserDataAdmin.Instance.ConvertPartyAssing();

        //----------------------------------------
        // 進化後のユニット情報を引き渡し
        //----------------------------------------
        PacketStructUnit cAfterUnit = UserDataAdmin.Instance.SearchChara(m_BaseUnit.unique_id);

        if (cAfterUnit != null)
        {
            MainMenuParam.m_EvolveBaseAfter = new PacketStructUnit();
            MainMenuParam.m_EvolveBaseAfter.Copy(cAfterUnit);
        }
        else
        {
            Debug.LogError("Blend Unit After None!");
        }

        //Camera mainCamera = SceneObjReferMainMenu.Instance.m_MainMenuGroupCamera.GetComponent<Camera>();
        m_UnitResult = UnitResult.Create(/*mainCamera,*/ UnitResult.ResultType.Evolve);
        if (m_UnitResult != null)
        {
            UnitResultEvolve resultEvolve = m_UnitResult.Parts.GetComponent <UnitResultEvolve>();
            resultEvolve.Initialize(
                MainMenuParam.m_EvolveBaseBefore.id,
                MainMenuParam.m_EvolveBaseAfter.id,
                new uint[]
            {
                m_CharaEvol.unit_id_parts1,
                m_CharaEvol.unit_id_parts2,
                m_CharaEvol.unit_id_parts3
            },
                () =>
            {
                resultEvolve.Show(HideUnitResult);
                buttonUnlock();
            });
            ResetAll();
            return;
        }

        //リザルト表示できなかった(こちらに来ることはない)

        AndroidBackKeyManager.Instance.EnableBackKey();

        ResetAll();
    }
    /// <summary>
    /// パーティメンバー一覧から作成したユニット情報配列を返す.
    /// </summary>
    /// <returns>ユニット情報配列</returns>
    private PacketStructUnit[] GetPartyPacketStructUnits()
    {
        var partyUnits = new PacketStructUnit[m_PartyMemberUnitGroup.Units.Count];

        for (var i = 0; i < partyUnits.Length; i++)
        {
            if (m_PartyMemberUnitGroup.Units[i] == null)
            {
                continue;
            }
            partyUnits[i] = m_PartyMemberUnitGroup.Units[i].UnitData;
        }

        return(partyUnits);
    }
Beispiel #26
0
    /// <summary>
    /// キャラクタID設定
    /// </summary>
    /// <param name="_id"></param>
    public void SetCharaID(uint _id)
    {
        if (_id == 0)
        {
            return;
        }

        m_MainUnitMaster = MasterFinder <MasterDataParamChara> .Instance.Find((int)_id);

        if (m_MainUnitMaster == null)
        {
            return;
        }

        m_UnitId   = _id;
        m_MainUnit = null;
        m_SubUnit  = null;

        m_StatusType = StatusType.Catalog;

        //キャラクタ画像読み込み設定
        CharaImage.UseUncompressed = true;
        CharaImage.SetCharaID(m_UnitId, true);

        //名前パネル
        m_UnitNamePanel.setup(m_MainUnitMaster);

        //進化
        m_bEvolve = true;

        // 所持数
        setupCharaCount();
        //イラストレーター名
        setupIllustrator();

        //キャラ画像
        IsViewImage = true;
        CharaImage.setAlpha(false);

        //お気に入り
        m_bFavorite = false;
        m_UnitDetailPanel.IsViewFavorite = false;

        //
        //OnSelectToggle(ToggleType.Status);
        //ローディング表示開始
        LoadingManager.Instance.RequestLoadingStart(LOADING_TYPE.GUARD);
    }
Beispiel #27
0
 public void setupSkill(MasterDataParamChara _masterMain, PacketStructUnit _mainUnit = null)
 {
     AllClear();
     if (_masterMain != null)
     {
         AddLinkSkill(_masterMain, _mainUnit.link_point);
         AddLinkPassive(_masterMain);
         setActiveGray(false);
     }
     else
     {
         AddLinkSkill(null, 0);
         AddLinkPassive(null);
         setActiveGray(true);
     }
 }
Beispiel #28
0
    //----------------------------------------------------------------------------

    /*!
     *          @brief
     */
    //----------------------------------------------------------------------------
    static public int GetPacketUnitCost(PacketStructUnit cPacketUnit)
    {
        if (cPacketUnit == null)
        {
            return(0);
        }

        MasterDataParamChara cCharaParam = MasterDataUtil.GetCharaParamFromID(cPacketUnit.id);

        if (cCharaParam == null)
        {
            return(0);
        }

        return(cCharaParam.party_cost);
    }
Beispiel #29
0
    /// <summary>
    /// 通信成功
    /// </summary>
    /// <param name="_data"></param>
    private void resultSuccess(ServerApi.ResultData _data)
    {
        buttonUnlock();
        //----------------------------------------
        // 情報反映
        //----------------------------------------
        long unBuildUpCharaUniqueID = 0;

        //uint unBuildUpType = (uint)BUILDUP_TYPE.BUILDUP_TYPE_RATE_1_00;

        UserDataAdmin.Instance.m_StructPlayer = _data.UpdateStructPlayer <RecvPointShopLimitOver>((PacketStructPlayer)UserDataAdmin.Instance.m_StructPlayer);
        UserDataAdmin.Instance.ConvertPartyAssing();

        //unBuildUpType = _data.GetResult<RecvUnitBlendBuildUp>().result.blend_pattern;
        unBuildUpCharaUniqueID = m_BaseUnit.unique_id;

        //----------------------------------------
        // 合成後のユニット情報を引き渡し
        //----------------------------------------
        PacketStructUnit cAfterUnit = UserDataAdmin.Instance.SearchChara(unBuildUpCharaUniqueID);

        if (cAfterUnit != null)
        {
            MainMenuParam.m_BlendBuildUpUnitAfter = new PacketStructUnit();
            MainMenuParam.m_BlendBuildUpUnitAfter.Copy(cAfterUnit);
        }
        else
        {
            Debug.LogError("Blend Unit After None!");
        }

        //----------------------------------------
        // 強化合成演出ページへ移行
        //----------------------------------------
        SoundUtil.PlaySE(SEID.SE_MAINMENU_BLEND_EXEC);

        //Camera mainCamera = SceneObjReferMainMenu.Instance.m_MainMenuGroupCamera.GetComponent<Camera>();
        m_UnitResult = UnitResult.Create(/*mainCamera,*/ UnitResult.ResultType.Builup);
        if (m_UnitResult != null)
        {
            UnitResultBuildup buildup = m_UnitResult.Parts.GetComponent <UnitResultBuildup>();
            buildup.setup(m_UnitStatusPanel, m_unitResultBuildupModel, ResetAll);
            return;
        }

        ResetAll();
    }
Beispiel #30
0
    /// <summary>
    /// ベース選択で選択できるユニットかどうか
    /// </summary>
    /// <param name="_unit"></param>
    /// <returns></returns>
    private bool CheckBaseUnit(PacketStructUnit _unit)
    {
        //リンクしている・されている
        if (_unit.link_info != (uint)CHARALINK_TYPE.CHARALINK_TYPE_NONE)
        {
            return(false);
        }
        //進化先があるか?
        UnitGridParam unitGridParam = UserDataAdmin.Instance.SearchUnitGridParam(_unit.unique_id);

        if (!unitGridParam.evolve)
        {
            return(false);
        }

        return(true);
    }