2d85773f0e
separate class to partial class
93 lines
2.9 KiB
C#
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;
|
|
}
|
|
}
|
|
|
|
}
|