Пример #1
0
    public void SelectUnit(UnitGridContext _unit)
    {
        //
        if (IsBusy())
        {
            return;
        }
#if BUILD_TYPE_DEBUG
        // 現在の経過時間を取得
        float check_time = Time.realtimeSinceStartup;
        try
#endif
        {
            if (IsSelectSaleUnit(_unit.UnitData.unique_id))
            {
                SetUnitUnselected(_unit);
            }
            else
            {
                SetUnitSelected(_unit);
            }

            SetupSaleStatusValue();
        }
#if BUILD_TYPE_DEBUG
        finally
        {
            // 処理完了後の経過時間から、保存していた経過時間を引く=処理時間
            check_time = Time.realtimeSinceStartup - check_time;
            Debug.Log("SelectUnit Time : " + check_time.ToString("0.00000"));
        }
#endif
    }
Пример #2
0
    public void Copy(UnitGridContext data)
    {
        unique_id       = data.UnitData.unique_id;
        CharaMasterData = data.CharaMasterData;
        UnitData        = data.UnitData;
        UnitParam       = data.UnitParam;
        UnitIconType    = data.UnitIconType;
        UnitName        = data.UnitName;
        //UnitImage = data.UnitImage;
        IsSelectedUnit        = data.IsSelectedUnit;
        IsActiveLeader        = data.IsActiveLeader;
        IsActivePartyAssign   = data.IsActivePartyAssign;
        IsActiveFavoriteImage = data.IsActiveFavoriteImage;
        LinkMark           = data.LinkMark;
        PlusPointTextColor = data.PlusPointTextColor;
        Point = data.Point;

        plus  = data.Plus;
        level = data.Level;
        setParamValue();

        IsActivePoint = data.IsActivePoint;

        UpdateGameObjectName();
    }
Пример #3
0
    public void updateUnitList()
    {
        PacketStructUnit[] unitlist = UserDataAdmin.Instance.m_StructPlayer.unit_list;

        List <UnitGridContext> unitList = new List <UnitGridContext>();

        for (int i = 0; i < unitlist.Length; i++)
        {
            var             model = new ListItemModel((uint)i);
            UnitGridContext unit  = new UnitGridContext(model);
            unit.CharaMasterData = MasterFinder <MasterDataParamChara> .Instance.Find((int)unitlist[i].id);

            unit.UnitData = unitlist[i];
            unit.SetUnitParam(unit.UnitData, unit.CharaMasterData);
            if (CheckUnit(unitlist[i].unique_id))
            {
                unit.UnitIconType = MasterDataDefineLabel.UnitIconType.NONE;
            }
            else
            {
                unit.UnitIconType = MasterDataDefineLabel.UnitIconType.GRAY_OUT_ENABLE_BUTTON;
            }

            if (unitlist[i].link_info != (int)CHARALINK_TYPE.CHARALINK_TYPE_NONE)
            {
                unit.LinkMark = MainMenuUtil.GetLinkMark(unitlist[i], null);
            }

            unitList.Add(unit);
        }

        m_UnitGrid.CreateList(unitList);
        m_UnitGrid.ClickUnitAction     = SelectUnit;
        m_UnitGrid.LongPressUnitAction = SelectUnitLongPress;
    }
Пример #4
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);
            });
        }
    }
Пример #5
0
 protected void UnitGridContextUpdated(UnitGridContext unitGridContext)
 {
     if (OnUnitGridContextUpdated != null)
     {
         OnUnitGridContextUpdated(unitGridContext);
     }
 }
Пример #6
0
 private void SelectUnitLongPress(UnitGridContext _unit)
 {
     SoundUtil.PlaySE(SEID.SE_MENU_OK);
     if (MainMenuManager.HasInstance)
     {
         MainMenuManager.Instance.OpenUnitDetailInfoPlayer(_unit.UnitData);
     }
 }
Пример #7
0
    private void SetUnitUnselected(UnitGridContext unit)
    {
        SoundUtil.PlaySE(SEID.SE_MENU_RET);

        DelSaleUnit(unit.UnitData.unique_id);
        unit.IsSelectedUnit = false;

        m_UnitGrid.UpdateItem(unit);
    }
Пример #8
0
 /// <summary>
 /// ユニット一覧の状態を変更
 /// </summary>
 public void ChangeUnitGridMark()
 {
     for (int i = 0; i < m_UnitGrid.Units.Count; ++i)
     {
         UnitGridContext unit = m_UnitGrid.Units[i];
         SetupUintSelected(unit);
     }
     m_UnitGrid.UpdateList();
 }
Пример #9
0
    /// <summary>
    /// ソート元データ更新
    /// </summary>
    /// <param name="item"></param>
    public void UpdateBaseItem(UnitGridContext item)
    {
        UnitGridContext orignal = m_unitBaseList.Body.Find(a => a.UnitData.unique_id == item.UnitData.unique_id);

        if (orignal != null)
        {
            orignal.Copy(item);
            orignal.updateSortParam();
        }
    }
Пример #10
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);
    }
Пример #11
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="_unit"></param>
 /// <returns></returns>
 void SetupUnitSelected(UnitGridContext _unit)
 {
     if (IsSelectUnit(_unit.UnitData.unique_id))
     {
         _unit.IsSelectedUnit = true;
     }
     else
     {
         _unit.IsSelectedUnit = false;
     }
 }
Пример #12
0
 void SetupMaterialUnitIconType(UnitGridContext _unit)
 {
     //素材として選択できるか?
     if (CheckMaterialUnit(_unit.UnitData))
     {
         _unit.UnitIconType = MasterDataDefineLabel.UnitIconType.NONE;
     }
     else
     {
         _unit.UnitIconType = MasterDataDefineLabel.UnitIconType.GRAY_OUT_ENABLE_BUTTON;
     }
 }
Пример #13
0
    public void UpdateItem(UnitGridContext item)
    {
        int index         = (int)item.model.index;
        int modifiedIndex = m_unitGridManager.GetModifiedIndex(index);

        if (modifiedIndex >= 0 &&
            modifiedIndex < Units.Count)
        {
            var unit = Units[modifiedIndex];
            unit.Copy(item);
        }
    }
Пример #14
0
 void SetupBaseUnitAfterIconType(UnitGridContext _unit)
 {
     //ベースか?
     if (m_BaseUnit.unique_id == _unit.UnitData.unique_id)
     {
         _unit.UnitIconType = MasterDataDefineLabel.UnitIconType.NONE;
     }
     else
     {
         _unit.UnitIconType = MasterDataDefineLabel.UnitIconType.GRAY_OUT_ENABLE_BUTTON;
     }
 }
Пример #15
0
    /// <summary>
    /// ユニット長押し
    /// </summary>
    /// <param name="_unit"></param>
    private void SelectUnitLongPress(UnitGridContext _unit)
    {
        if (IsBusy() == true)
        {
            return;
        }

        SoundUtil.PlaySE(SEID.SE_MENU_OK2);
        if (MainMenuManager.HasInstance)
        {
            openUnitDetailInfo(_unit);
        }
    }
Пример #16
0
    void SetupUnitIconType(UnitGridContext _unit)
    {
        //売却できるか?
        if (CheckSaleUnit(_unit.UnitData))
        {
            _unit.UnitIconType = MasterDataDefineLabel.UnitIconType.NONE;
        }
        else
        {
            _unit.UnitIconType = MasterDataDefineLabel.UnitIconType.GRAY_OUT_ENABLE_BUTTON;
        }

        m_UnitGrid.UpdateItem(_unit);
    }
Пример #17
0
    /// <summary>
    /// ユニット選択
    /// </summary>
    /// <param name="_unit"></param>
    private void SelectUnit(UnitGridContext _unit)
    {
        if (IsBusy() == true)
        {
            return;
        }

#if BUILD_TYPE_DEBUG
        // 現在の経過時間を取得
        float check_time = Time.realtimeSinceStartup;
        try
#endif
        {
            if (m_BaseUnit == null)
            {
                //ベース未選択時
                if (!CheckBaseUnit(_unit.UnitData))
                {
                    return;
                }

                SoundUtil.PlaySE(SEID.SE_MENU_OK);
                MainMenuParam.m_EvolveBaseUnitUniqueId = _unit.UnitData.unique_id;
                _unit.IsSelectedUnit = true;
                updateEvolveStatus();
                m_ExpandWindow.Open();
                m_UnitGrid.changeGridWindowSize(true, (m_ExpandWindow != null) ? m_ExpandWindow.ViewHeightSize : 0);
                AndroidBackKeyManager.Instance.StackPush(m_CanvasObj.gameObject, OnBackKeyBaseSelect);
            }
            else if (m_BaseUnit.unique_id == _unit.UnitData.unique_id)
            {
                OnBackKeyBaseSelect();
            }
            else
            {
                SetupBlendAfterStatus();
                m_UnitGrid.UpdateList();
            }
            m_UnitBGPanel.IsActiveExecButton = IsEvolveStart();
        }
#if BUILD_TYPE_DEBUG
        finally
        {
            // 処理完了後の経過時間から、保存していた経過時間を引く=処理時間
            check_time = Time.realtimeSinceStartup - check_time;
            Debug.Log("SelectUnit Time : " + check_time.ToString("0.00000"));
        }
#endif
    }
Пример #18
0
    /// <summary>
    /// ユニット一覧のユニットを選択したとき
    /// </summary>
    /// <param name="_unit"></param>
    public void OnSelectUnit(UnitGridContext _unit)
    {
        //
        if (TutorialManager.IsExists)
        {
            return;
        }

        if (_unit.UnitIconType == MasterDataDefineLabel.UnitIconType.GRAY_OUT_ENABLE_BUTTON)
        {
            return;
        }

        if (_unit.IsActivePartyAssign)
        {
            if (_unit.IsActiveLeader == false &&
                m_SelectPartyCharaIndex != GlobalDefine.PartyCharaIndex.LEADER)
            {
                // パーティに入っている場合リジェクト
                SoundUtil.PlaySE(SEID.SE_MENU_RET);

                foreach (PartyMemberUnitContext unit in m_PartyMemberUnitGroup.Units)
                {
                    if (unit.UnitData == null)
                    {
                        continue;
                    }
                    if (unit.UnitData.unique_id == _unit.UnitData.unique_id)
                    {
                        RejectPartyUnit(unit);
                    }
                }
                CheckUnitSpace();
            }
            else if (m_SelectPartyCharaIndex != GlobalDefine.PartyCharaIndex.ERROR)
            {
                SoundUtil.PlaySE(SEID.SE_MENU_OK);

                ChangePartyUnit(_unit.UnitData.unique_id);
            }
        }
        else if (_unit.IsActiveLeader == false)
        {
            SoundUtil.PlaySE(SEID.SE_MENU_OK);

            ChangePartyUnit(_unit.UnitData.unique_id);
        }
    }
Пример #19
0
    /// <summary>
    /// ユニット一覧のユニットを長押ししたとき
    /// </summary>
    /// <param name="_unit"></param>
    public void OnSelectUnitLongPress(UnitGridContext _unit)
    {
        //
        if (TutorialManager.IsExists)
        {
            return;
        }

        //ユニット詳細画面へ
        if (_unit.UnitData != null && _unit.UnitData.id > 0 && MainMenuManager.HasInstance)
        {
            SoundUtil.PlaySE(SEID.SE_MENU_OK2);

            openUnitDetailInfo(_unit);
        }
    }
Пример #20
0
    void SetupUintSelected(UnitGridContext _unit)
    {
        bool isMemberFull = true;

        // 選択関係を初期化
        _unit.IsActiveLeader      = false;
        _unit.IsActivePartyAssign = false;
        _unit.IsSelectedUnit      = false;
        _unit.UnitIconType        = MasterDataDefineLabel.UnitIconType.NONE;

        // パーティ内にユニットがあるか調べる
        foreach (PartyMemberUnitContext partyUnit in m_PartyMemberUnitGroup.Units)
        {
            if (partyUnit.UnitData == null)
            {
                if (isMemberFull)
                {
                    isMemberFull = false;
                }
                continue;
            }

            if (partyUnit.UnitData.unique_id == _unit.UnitData.unique_id)
            {
                _unit.IsActivePartyAssign = true;
                _unit.IsSelectedUnit      = true;
                if (partyUnit.PartyCharaIndex == GlobalDefine.PartyCharaIndex.LEADER)
                {
                    _unit.IsActiveLeader = true;
                }
            }
        }

        // リーダー選択中以外でメンバーがいっぱいでパーティに入っていない場合
        if (m_SelectPartyCharaIndex != GlobalDefine.PartyCharaIndex.LEADER && isMemberFull && _unit.IsActivePartyAssign == false)
        {
            _unit.UnitIconType = MasterDataDefineLabel.UnitIconType.GRAY_OUT_ENABLE_BUTTON;
        }
        // リンクユニットの場合
        if (_unit.UnitData.link_info == (int)ServerDataDefine.CHARALINK_TYPE.CHARALINK_TYPE_LINK)
        {
            _unit.UnitIconType = MasterDataDefineLabel.UnitIconType.GRAY_OUT_ENABLE_BUTTON;
        }
    }
Пример #21
0
 void SetupBaseUnitIconType(UnitGridContext _unit)
 {
     //ベースとして選択できるか?
     if (CheckBaseUnit(_unit.UnitData))
     {
         if (CheckBaseUnitEvolve(_unit.UnitData))
         {
             _unit.UnitIconType = MasterDataDefineLabel.UnitIconType.NONE;
         }
         else
         {
             _unit.UnitIconType = MasterDataDefineLabel.UnitIconType.ALPHA_HALF_DISABLE_BUTTON;
         }
     }
     else
     {
         _unit.UnitIconType = MasterDataDefineLabel.UnitIconType.GRAY_OUT_ENABLE_BUTTON;
     }
 }
Пример #22
0
    private void SetUnitSelected(UnitGridContext unit)
    {
        if (IsSelectSaleMax())
        {
            return;
        }

        if (!CheckSaleUnit(unit.UnitData))
        {
            return;
        }

        SoundUtil.PlaySE(SEID.SE_MENU_OK);

        AddSaleUnit(unit.UnitData.unique_id);
        unit.IsSelectedUnit = true;

        m_UnitGrid.UpdateItem(unit);
    }
Пример #23
0
    /// <summary>
    /// ユニット詳細を開く
    /// </summary>
    /// <param name="_unit"></param>
    private void openUnitDetailInfo(UnitGridContext _unit)
    {
        UnitDetailInfo _info = MainMenuManager.Instance.OpenUnitDetailInfo();

        if (_info == null)
        {
            return;
        }
        m_PartyMemberUnitGroup.SetActive(false);
        PacketStructUnit _subUnit = UserDataAdmin.Instance.SearchLinkUnit(_unit.UnitData);

        _info.SetUnitFavorite(_unit.UnitData, _subUnit, _unit);
        _info.SetCloseAction(() =>
        {
            //更新データ反映
            m_UnitGrid.UpdateBaseItem(_unit);
            m_PartyMemberUnitGroup.SetActive(true);
        });
    }
Пример #24
0
 /// <summary>
 /// ユニット詳細画面(お気に入りあり)
 /// </summary>
 /// <param name="_unit"></param>
 private void openUnitDetailInfo(UnitGridContext _unit)
 {
     if (MainMenuManager.HasInstance)
     {
         UnitDetailInfo _info = MainMenuManager.Instance.OpenUnitDetailInfo();
         if (_info == null)
         {
             return;
         }
         PacketStructUnit _subUnit = UserDataAdmin.Instance.SearchLinkUnit(_unit.UnitData);
         _info.IsViewCharaCount = true;
         _info.SetUnitFavorite(_unit.UnitData, _subUnit, _unit);
         _info.SetCloseAction(() =>
         {
             // 更新データ反映
             m_UnitGrid.UpdateBaseItem(_unit);
         });
     }
 }
Пример #25
0
    /// <summary>
    /// ユニット詳細を開く
    /// </summary>
    /// <param name="_unit"></param>
    private void openUnitDetailInfo(UnitGridContext _unit)
    {
        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 (IsSelectMaterialUnit(_unit.UnitData.unique_id) &&
                _unit.IsActiveFavoriteImage)
            {
                //解除
                unsetMaterialUnit(_unit.UnitData.unique_id);
                //ステータス更新
                SetupBlendAfterStatus();
                //ボタン制御
                m_UnitBGPanel.IsActiveExecButton = IsEvolveStart();

                SetupUnitSelected(_unit);
            }

            //更新データ反映
            m_UnitGrid.UpdateBaseItem(_unit);

            if (m_BaseUnit != null)
            {
                //素材選択シーケンスの場合はIconTypeを更新する(更新ユニットのみ)
                SetupMaterialUnitIconType(_unit);
            }
            else
            {
                //ベース選択シーケンスの場合はすべて更新
                m_UnitGrid.UpdateList();
            }
        });
    }
Пример #26
0
    /// <summary>
    /// パーティのユニットを長押ししたとき
    /// </summary>
    /// <param name="_unit"></param>
    public void OnSelectUnitLongPress(PartyMemberUnitContext _unit)
    {
        //
        if (TutorialManager.IsExists)
        {
            return;
        }

        //ユニット詳細画面へ
        if (_unit.UnitData != null && _unit.UnitData.id > 0 && MainMenuManager.HasInstance)
        {
            SoundUtil.PlaySE(SEID.SE_MENU_OK2);

            UnitGridContext unitContext = m_UnitGrid.GridView.GetItem(_unit.UnitData.unique_id);
            if (unitContext != null)
            {
                openUnitDetailInfo(unitContext);
            }
        }
    }
Пример #27
0
    // Use this for initialization
    protected override void Start()
    {
        base.Start();

        // 確認用
        List <UnitGridContext> unitList = new List <UnitGridContext>();

        for (int i = 0; i < 320; ++i)
        {
            var             model = new ListItemModel((uint)i);
            UnitGridContext unit  = new UnitGridContext(model);
            unitList.Add(unit);

            model.OnClicked += () =>
            {
            };
            model.OnLongPressed += () =>
            {
            };
        }
        m_UnitGrid.CreateList(unitList);
    }
Пример #28
0
    /// <summary>
    /// ベースユニット解除
    /// </summary>
    private void unsetBaseUnit()
    {
        if (m_BaseUnit == null)
        {
            return;
        }

        //ベース設定解除
        UnitGridContext unit = m_UnitGrid.Units.Find((v) => v.UnitData.unique_id == m_BaseUnit.unique_id);

        if (unit != null)
        {
            unit.IsSelectedUnit = false;
        }

        MainMenuParam.m_BuildupBaseUnitUniqueId = 0;
        m_BaseUnit = null;
        updateBuildupStatus();

        SoundUtil.PlaySE(SEID.SE_MENU_RET);

        m_ExpandWindow.Close();
        m_UnitGrid.changeGridWindowSize(false, (m_ExpandWindow != null) ? m_ExpandWindow.ViewHeightSize : 0);
    }
Пример #29
0
    /// <summary>
    /// ユニット長押し
    /// </summary>
    /// <param name="_unit"></param>
    private void SelectUnitLongPress(UnitGridContext _unit)
    {
        if (IsBusy() == true)
        {
            return;
        }

        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(() =>
            {
                // 更新データ反映
                m_UnitGrid.UpdateBaseItem(_unit);
            });
        }
    }
Пример #30
0
    private void ApplyUnitData(int modifiedIndex, UnitGridContext viewModel)
    {
        if (modifiedIndex >= 0 &&
            modifiedIndex < Units.Count)
        {
            var unit = Units[modifiedIndex];
            viewModel.Copy(unit);
            viewModel.IsView = true;

            //
            if (unit.UnitData != null &&
                unit.UnitData.id != 0)
            {
                viewModel.m_SpriteName = string.Empty;
                UnitIconImageProvider.Instance.Get(
                    viewModel.UnitData.id,
                    ref viewModel.m_SpriteName,
                    sprite =>
                {
                    if (MainMenuUtil.IsWriteIcon(ref viewModel.m_SpriteName, sprite))
                    {
                        viewModel.SetIconImageDirectly(sprite);
                    }
                });
            }

            SetupUnitIconType(viewModel);
            SetupUnitSelected(viewModel);

            UnitGridContextUpdated(viewModel);
        }
        else
        {
            viewModel.IsView = false;
        }
    }