fix: update dlg pet list and dlg pet restore.
This commit is contained in:
@@ -1625,6 +1625,12 @@ namespace CSNetwork.S2CCommand
|
||||
public int iIvtrIdx;
|
||||
public int idEgg;
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct CONTENTNPCSevRestorePet
|
||||
{
|
||||
public int iPetIdx;
|
||||
};
|
||||
}
|
||||
|
||||
// Player and NPC state
|
||||
@@ -1081,5 +1081,19 @@ namespace CSNetwork.C2SCommand
|
||||
};
|
||||
return SerializeCommand(CommandID.SEVNPC_SERVE, cmd, content);
|
||||
}
|
||||
|
||||
public static Octets CreateNPCSevRestorePetCmd(int i_PetIdx)
|
||||
{
|
||||
var cmd = new cmd_sevnpc_serve
|
||||
{
|
||||
service_type = NPC_service_type.GP_NPCSEV_RESTOREPET,
|
||||
len = (uint)Marshal.SizeOf<CONTENTNPCSevRestorePet>()
|
||||
};
|
||||
CONTENTNPCSevRestorePet content = new CONTENTNPCSevRestorePet()
|
||||
{
|
||||
iPetIdx = i_PetIdx,
|
||||
};
|
||||
return SerializeCommand(CommandID.SEVNPC_SERVE, cmd, content);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2000,5 +2000,12 @@ namespace CSNetwork
|
||||
gamedatasend.Data = C2SCommandFactory.CreateNPCSevHatchPetCmd(iIvtrIdx, idEgg);
|
||||
SendProtocol(gamedatasend);
|
||||
}
|
||||
|
||||
public void c2s_SendCmdNPCSevRestorePet(int iPetIdx)
|
||||
{
|
||||
gamedatasend gamedatasend = new gamedatasend();
|
||||
gamedatasend.Data = C2SCommandFactory.CreateNPCSevRestorePetCmd(iPetIdx);
|
||||
SendProtocol(gamedatasend);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -783,6 +783,10 @@ namespace BrewMonster.Network
|
||||
{
|
||||
Instance._gameSession.c2s_SendCmdNPCSevHatchPet(iIvtrIdx, idEgg);
|
||||
}
|
||||
public static void c2s_CmdNPCSevRestorePet(int iPetIdx)
|
||||
{
|
||||
Instance._gameSession.c2s_SendCmdNPCSevRestorePet(iPetIdx);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -27,6 +27,8 @@ namespace BrewMonster.UI
|
||||
[SerializeField] private TextMeshProUGUI[] m_pTxt_Level = new TextMeshProUGUI[CDLGPETLIST_SLOT_MAX];
|
||||
[SerializeField] private Button m_pBtnClose;
|
||||
[SerializeField] private Sprite m_spriteDefault_Icon;
|
||||
[SerializeField] private Button[] m_pBtn_Tab;
|
||||
[SerializeField] private GameObject[] m_mask_off_pBtn_Tab;
|
||||
int m_nPageIndex;
|
||||
string strFile = "";
|
||||
string strText = "";
|
||||
@@ -146,7 +148,25 @@ namespace BrewMonster.UI
|
||||
{
|
||||
Show(false);
|
||||
});
|
||||
UpdateList();
|
||||
for(int i = 0; i < m_pBtn_Tab.Length; i++)
|
||||
{
|
||||
m_pBtn_Tab[i].onClick.RemoveAllListeners();
|
||||
if(i == 0)
|
||||
{
|
||||
m_pBtn_Tab[i].onClick.AddListener(() =>
|
||||
{
|
||||
OnClickBtnTab(0);
|
||||
});
|
||||
}
|
||||
else if(i == 1)
|
||||
{
|
||||
m_pBtn_Tab[i].onClick.AddListener(() =>
|
||||
{
|
||||
OnClickBtnTab(1);
|
||||
});
|
||||
}
|
||||
}
|
||||
OnClickBtnTab(0);
|
||||
}
|
||||
|
||||
bool IsPetDye(int nSlot)
|
||||
@@ -273,5 +293,15 @@ namespace BrewMonster.UI
|
||||
{
|
||||
GetHostPlayer().RecallPet();
|
||||
}
|
||||
|
||||
public void OnClickBtnTab(int index)
|
||||
{
|
||||
m_nPageIndex = index;
|
||||
for(int i = 0; i < m_pBtn_Tab.Length; i++)
|
||||
{
|
||||
m_mask_off_pBtn_Tab[i].SetActive(i != m_nPageIndex);
|
||||
}
|
||||
UpdateList();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -345,7 +345,13 @@ namespace BrewMonster.UI
|
||||
|
||||
private void OnCommandConfirm()
|
||||
{
|
||||
// TODO
|
||||
if (m_nSlot >= 0)
|
||||
{
|
||||
GetHostPlayer().RestorePet(m_nSlot);
|
||||
GetGameUIMan()?.EndNPCService();
|
||||
Show(false);
|
||||
//GetGameUIMan()->m_pDlgPetList->Show(false);
|
||||
}
|
||||
}
|
||||
|
||||
private void SetPet(int nSlot)
|
||||
|
||||
@@ -3218,6 +3218,81 @@ MonoBehaviour:
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!1 &1563131212404254231
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1367151585653230994}
|
||||
- component: {fileID: 4002396222024976400}
|
||||
- component: {fileID: 5927240598748978092}
|
||||
m_Layer: 5
|
||||
m_Name: MaskOff
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1367151585653230994
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1563131212404254231}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2427007445932155897}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &4002396222024976400
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1563131212404254231}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &5927240598748978092
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1563131212404254231}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0, g: 0, b: 0, a: 0.69803923}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &1598487822700303523
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -3945,6 +4020,7 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 878817954833932422}
|
||||
- {fileID: 7306643221236935726}
|
||||
m_Father: {fileID: 628038525523165487}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
@@ -8960,6 +9036,12 @@ MonoBehaviour:
|
||||
- {fileID: 5057683854687741650}
|
||||
m_pBtnClose: {fileID: 8122086289517642079}
|
||||
m_spriteDefault_Icon: {fileID: 21300000, guid: 1356336560449e54a921e7243886103d, type: 3}
|
||||
m_pBtn_Tab:
|
||||
- {fileID: 7762720709650526177}
|
||||
- {fileID: 6105035509064218572}
|
||||
m_mask_off_pBtn_Tab:
|
||||
- {fileID: 8218472400492161409}
|
||||
- {fileID: 1563131212404254231}
|
||||
--- !u!1 &4205984255684239874
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -12301,6 +12383,7 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 674781935163886888}
|
||||
- {fileID: 1367151585653230994}
|
||||
m_Father: {fileID: 628038525523165487}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
@@ -15527,6 +15610,81 @@ MonoBehaviour:
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &8218472400492161409
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7306643221236935726}
|
||||
- component: {fileID: 4273877355682388422}
|
||||
- component: {fileID: 5328584516814327022}
|
||||
m_Layer: 5
|
||||
m_Name: MaskOff
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7306643221236935726
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8218472400492161409}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2711780913503914813}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &4273877355682388422
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8218472400492161409}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &5328584516814327022
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8218472400492161409}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0, g: 0, b: 0, a: 0.69803923}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &8232183239187098781
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -215,5 +215,40 @@ namespace BrewMonster
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// Restore pet
|
||||
public bool RestorePet(int iPetIdx)
|
||||
{
|
||||
CECPetData pPet = m_pPetCorral.GetPetData(iPetIdx);
|
||||
if (pPet == null || iPetIdx == m_pPetCorral.GetActivePetIndex())
|
||||
return false;
|
||||
|
||||
CECGameRun pGameRun = EC_Game.GetGameRun();
|
||||
|
||||
// Check money
|
||||
DATA_TYPE DataType = DATA_TYPE.DT_INVALID;
|
||||
object ob_pdbe = ElementDataManProvider.GetElementDataMan().get_data_ptr((uint)pPet.GetEggID(), ID_SPACE.ID_SPACE_ESSENCE,ref DataType);
|
||||
if (DataType != DATA_TYPE.DT_PET_EGG_ESSENCE || ob_pdbe == null)
|
||||
return false;
|
||||
|
||||
PET_EGG_ESSENCE pdbe = (PET_EGG_ESSENCE)ob_pdbe;
|
||||
|
||||
if (GetMoneyAmount() < pdbe.money_restored)
|
||||
{
|
||||
pGameRun.AddFixedMessage((int)FixedMsg.FIXMSG_NEEDMONEY);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check package space
|
||||
if (m_pPack.GetEmptySlotNum() == 0)
|
||||
{
|
||||
pGameRun.AddFixedMessage((int)FixedMsg.FIXMSG_PACKISFULL);
|
||||
return false;
|
||||
}
|
||||
|
||||
UnityGameSession.c2s_CmdNPCSevRestorePet(iPetIdx);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user