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 }
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(); }
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; }
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); }); } }
protected void UnitGridContextUpdated(UnitGridContext unitGridContext) { if (OnUnitGridContextUpdated != null) { OnUnitGridContextUpdated(unitGridContext); } }
private void SelectUnitLongPress(UnitGridContext _unit) { SoundUtil.PlaySE(SEID.SE_MENU_OK); if (MainMenuManager.HasInstance) { MainMenuManager.Instance.OpenUnitDetailInfoPlayer(_unit.UnitData); } }
private void SetUnitUnselected(UnitGridContext unit) { SoundUtil.PlaySE(SEID.SE_MENU_RET); DelSaleUnit(unit.UnitData.unique_id); unit.IsSelectedUnit = false; m_UnitGrid.UpdateItem(unit); }
/// <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(); }
/// <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(); } }
/// <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); }
/// <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; } }
void SetupMaterialUnitIconType(UnitGridContext _unit) { //素材として選択できるか? if (CheckMaterialUnit(_unit.UnitData)) { _unit.UnitIconType = MasterDataDefineLabel.UnitIconType.NONE; } else { _unit.UnitIconType = MasterDataDefineLabel.UnitIconType.GRAY_OUT_ENABLE_BUTTON; } }
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); } }
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; } }
/// <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); } }
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); }
/// <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 }
/// <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); } }
/// <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); } }
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; } }
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; } }
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); }
/// <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); }); }
/// <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); }); } }
/// <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(); } }); }
/// <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); } } }
// 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); }
/// <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); }
/// <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); }); } }
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; } }