//获取远程摊位
//id 为从指定序号摊位 -1为自动顺序
public void GetRemotePtich(PlayerObject play,int id = -1)
{
int ptich_id = -1;
if (id != -1 && id >= 0 && id < mListPtichInfo.Count)
{
if (mListPtichInfo[id].play == null)
{
play.MsgBox("该摊位未开放");
return;
}
ptich_id = id;
}else
{
ptich_id = GetRemotePtichId(play.GetCurrentRemotePtichId());
}
if (ptich_id == -1) return; //无摊位 返回
play.SetCurrentRemotePtichId(ptich_id);
//远程摊位信息
String sName = mListPtichInfo[ptich_id].play.GetName();
int nLen = 13 + Coding.GetDefauleCoding().GetBytes(sName).Length;
PacketOut outpack = new PacketOut();
outpack.WriteInt16((short)nLen);
outpack.WriteInt16(1015);
// {19,0,247,3,14,0,0,0,125,0,1,6,203,167,208,161,187,239,0}
outpack.WriteInt32(ptich_id + 1);
outpack.WriteInt16(125);
outpack.WriteByte(1);
outpack.WriteString(sName);
outpack.WriteByte(0);
play.SendData(outpack.Flush(), true);
for (int i = 0; i < mListPtichInfo[ptich_id].mSellItemList.Count
; i++)
{
RoleItemInfo item_info = null;
RoleData_Eudemon eudemon = null;
if (mListPtichInfo[ptich_id].mSellItemList[i].item_id >= IDManager.eudemon_start_id)
{
eudemon = mListPtichInfo[ptich_id].play.GetEudemonSystem().FindEudemon(
mListPtichInfo[ptich_id].mSellItemList[i].item_id);
if (eudemon == null) continue;
item_info = mListPtichInfo[ptich_id].play.GetItemSystem().FindItem(eudemon.itemid);
}
else
{
item_info = mListPtichInfo[ptich_id].play.GetItemSystem().FindItem(
mListPtichInfo[ptich_id].mSellItemList[i].item_id);
}
if (item_info != null)
{
NetMsg.MsgPtichItemInfo msg = new NetMsg.MsgPtichItemInfo(item_info,
(uint)(ptich_id + 1), mListPtichInfo[ptich_id].mSellItemList[i].price, mListPtichInfo[ptich_id].mSellItemList[i].sell_type,true);
play.SendData(msg.GetBuffer(), true);
//发送幻兽信息
if (item_info.typeid >= IDManager.eudemon_start_id)
{
mListPtichInfo[ptich_id].play.GetEudemonSystem().SendLookPtichEudemonInfo(play, eudemon);
}
}
}
}