Files
test/Assets/PerfectWorld/Scripts/Players/EC_HostMsg.cs
T
NguyenVanDat 2d85773f0e REFACTOR CECHostPlayer
separate class to partial class
2026-02-24 10:57:12 +07:00

93 lines
2.9 KiB
C#

using BrewMonster.Network;
using BrewMonster.Scripts;
using BrewMonster.Scripts.Pet;
using BrewMonster.UI;
using CSNetwork;
using CSNetwork.GPDataType;
using System;
using System.Runtime.InteropServices;
using UnityEngine;
using static BrewMonster.Scripts.Pet.CECPetData;
namespace BrewMonster
{
public partial class CECHostPlayer
{
// 服务器控制的额外操作限制
public enum PLAYER_LIMIT
{
PLAYER_LIMIT_NOFLY, // 禁止"飞行/取消飞行"
PLAYER_LIMIT_NOCHANGESELECT, // 禁止"选中/取消选中/协助攻击"
PLAYER_LIMIT_NOMOUNT, // 禁止召唤骑宠
PLAYER_LIMIT_NOBIND, // 禁止"发起/接收相依相偎"
PLAYER_LIMIT_MAX,
};
// Update pet shortcut when pet freeed
void UpdateFreedPetSC(int iPetIndex)
{
// TO DO: fix later
//int i;
//// Update shortcut sets 1
//for (i = 0; i < (int)Shortcut.NUM_HOSTSCSETS1; i++)
//{
// if (m_aSCSets1[i] != null)
// m_aSCSets1[i].UpdateFreedPetSC(iPetIndex);
//}
//// Update shortcut sets 2
//for (i = 0; i < (int)Shortcut.NUM_HOSTSCSETS2; i++)
//{
// if (m_aSCSets2[i] != null)
// m_aSCSets2[i].UpdateFreedPetSC(iPetIndex);
//}
}
bool OnPetSays(int tid, int nid, int type)
{
bool bSaid = false;
//CECNPC pNPC = EC_Game.GetGameRun().GetWorld().GetNPCMan().GetNPCFromAll(nid);
//if (pNPC && pNPC.GetMasterID() == GetCharacterID())
//{
// const ACHAR* szWords = m_pPetWords.GetWords(tid, (CECPetWords::TYPE_WORDS)type);
// if (szWords)
// {
// pNPC.SetLastSaidWords(szWords, 5000);
// bSaid = true;
// }
//}
return bSaid;
}
/* Is host operating pet ?
return value:
0: host doesn't operating pet.
1: host is summoning pet.
2: host is recalling pet.
3: host is banishing pet.
*/
int CIsOperatingPet()
{
CECHPWorkConcentrate pWork = (m_pWorkMan.GetRunningWork(CECHPWork.Host_work_ID.WORK_CONCENTRATE)) as CECHPWorkConcentrate;
if (pWork != null)
{
if (pWork.GetDoWhat() == (int)CECHPWorkConcentrate.eDO_PET.DO_SUMMONPET)
return 1;
else if (pWork.GetDoWhat() == (int)CECHPWorkConcentrate.eDO_PET.DO_RECALLPET)
return 2;
else if (pWork.GetDoWhat() == (int)CECHPWorkConcentrate.eDO_PET.DO_BANISHPET)
return 3;
else if (pWork.GetDoWhat() == (int)CECHPWorkConcentrate.eDO_PET.DO_RESTOREPET)
return 4;
}
return 0;
}
}
}