Compare commits
2 Commits
b52f6126d2
...
35421c3ba6
| Author | SHA1 | Date |
|---|---|---|
|
|
35421c3ba6 | |
|
|
9e7cce285a |
BIN
Yosin_Engine.exe
BIN
Yosin_Engine.exe
Binary file not shown.
Binary file not shown.
|
|
@ -272,4 +272,14 @@ class CL_BaseObject {
|
|||
function SetRotate(Duration, Rotation) {
|
||||
BaseObject_SetRotate(this.C_Object, Duration, Rotation);
|
||||
}
|
||||
|
||||
//获取右侧的坐标
|
||||
function right() {
|
||||
return X + GetSize().w;
|
||||
}
|
||||
|
||||
//获取底部的坐标
|
||||
function bottom() {
|
||||
return Y + GetSize().h;
|
||||
}
|
||||
}
|
||||
|
|
@ -169,6 +169,20 @@ class Yosin_BaseWindow extends Layer {
|
|||
// gChild.Parent = this;
|
||||
}
|
||||
|
||||
/*
|
||||
* @函数作用: 获取窗口右侧的坐标
|
||||
*/
|
||||
function right() {
|
||||
return X + Width;
|
||||
}
|
||||
|
||||
/*
|
||||
* @函数作用: 获取窗口底部的坐标
|
||||
*/
|
||||
function bottom() {
|
||||
return Y + Height;
|
||||
}
|
||||
|
||||
//开启Debug模式
|
||||
function OpenDeBug() {
|
||||
DeBugSprite = CL_SpriteObject("sprite/interface/lenheartwindowcommon.img", 257);
|
||||
|
|
|
|||
|
|
@ -69,6 +69,7 @@ l:\Yosin_Engine\Yosin&Kiwano_DOF\sqr\User\Object\ActiveObject\CharacterObjectCla
|
|||
l:\Yosin_Engine\Yosin&Kiwano_DOF\sqr\User\Object\ActiveObject\CharacterObjectClass_AI.nut
|
||||
|
||||
l:\Yosin_Engine\Yosin&Kiwano_DOF\sqr\User\Socket\Socket.nut
|
||||
l:\Yosin_Engine\Yosin&Kiwano_DOF\sqr\User\Socket\Packet.nut
|
||||
|
||||
l:\Yosin_Engine\Yosin&Kiwano_DOF\sqr\User\Stage\LodingStage.nut
|
||||
l:\Yosin_Engine\Yosin&Kiwano_DOF\sqr\User\Stage\TestStage.nut
|
||||
|
|
@ -83,6 +84,8 @@ l:\Yosin_Engine\Yosin&Kiwano_DOF\sqr\User\UI\Window\0_Login.nut
|
|||
l:\Yosin_Engine\Yosin&Kiwano_DOF\sqr\User\UI\Window\1_Select_Character.nut
|
||||
l:\Yosin_Engine\Yosin&Kiwano_DOF\sqr\User\UI\Window\2_create_Character.nut
|
||||
l:\Yosin_Engine\Yosin&Kiwano_DOF\sqr\User\UI\Window\3_Top_tool.nut
|
||||
l:\Yosin_Engine\Yosin&Kiwano_DOF\sqr\User\UI\Window\4_PersonalInfo.nut
|
||||
l:\Yosin_Engine\Yosin&Kiwano_DOF\sqr\User\UI\Window\5_Inventory.nut
|
||||
l:\Yosin_Engine\Yosin&Kiwano_DOF\sqr\User\UI\Window\233_HUD_Message.nut
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@ class GameObject.Character extends GameObject.ActiveObject {
|
|||
|
||||
//职业编号
|
||||
Job = 0;
|
||||
//cid
|
||||
Cid = -1;
|
||||
|
||||
//控制器
|
||||
Controller = null;
|
||||
|
|
|
|||
|
|
@ -281,6 +281,18 @@ class Map extends Actor {
|
|||
m_data.npc = Arr;
|
||||
}
|
||||
|
||||
//添加角色的回包
|
||||
function AddCharacterCallBack(Binary) {
|
||||
local Pack = Packet(Binary);
|
||||
|
||||
/*
|
||||
local Charc = GameObject.CreateCharacter(Info.job, Info.equ);
|
||||
local NPCobj = GameObject.NPC(info.id);
|
||||
NPCobj.SetDirection(info.direction);
|
||||
NPCobj.SetPosition(info.xpos, info.ypos, info.zpos);
|
||||
|
||||
*/
|
||||
}
|
||||
|
||||
//添加对象
|
||||
function AddObject(obj, IsPlayer = false) {
|
||||
|
|
@ -307,42 +319,19 @@ class Map extends Actor {
|
|||
}
|
||||
}
|
||||
|
||||
//移动城镇的回包
|
||||
function MoveTownCallBack(Jso) {
|
||||
//我自己的移动城镇添加角色对象
|
||||
local MapObj = GlobalTownManager.TownList[Jso.town].map[Jso.region];
|
||||
MapObj.AddObjectByChangeTown(ClientCharacter, Jso.pos);
|
||||
}
|
||||
|
||||
//移动城镇的添加对象
|
||||
function AddObjectByChangeTown(obj, FromMapobj) {
|
||||
function AddObjectByChangeTown(obj, pos) {
|
||||
//角色对象
|
||||
if (typeof obj == "character") {
|
||||
//如果已经处于某个地图中
|
||||
if (obj.Parent) {
|
||||
obj.Parent.Removechild(obj);
|
||||
}
|
||||
LayerObject.normal.Addchild(obj);
|
||||
//将地图信息写入角色中
|
||||
obj.MySelfMap = this.weakref();
|
||||
//绑定摄像机
|
||||
m_camera.SetFromParent(obj);
|
||||
//获取应该设置的坐标
|
||||
foreach(index, info in m_data.town_movable_area_info) {
|
||||
if (info.town == FromMapobj.m_town && info.area == FromMapobj.m_mapId) {
|
||||
local pos = {
|
||||
x = m_data.town_movable_area[index * 4] + m_data.town_movable_area[index * 4 + 2] / 2,
|
||||
y = m_data.town_movable_area[index * 4 + 1] + m_data.town_movable_area[index * 4 + 3] / 2,
|
||||
z = 0
|
||||
}
|
||||
obj.SetPosition(pos);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//获取当前场景
|
||||
local Stage = sq_GetCurrentStage();
|
||||
if (GlobalTownManager.CurrentTown) {
|
||||
Stage.Removechild(GlobalTownManager.CurrentTown);
|
||||
}
|
||||
Stage.Addchild(this);
|
||||
//添加全局
|
||||
GlobalTownManager.CurrentTown = this.weakref();
|
||||
|
||||
|
||||
//角色原城镇
|
||||
local FromMapobj = obj.MySelfMap;
|
||||
//背景音乐处理
|
||||
BackGroundMusic = {};
|
||||
if (FromMapobj.BackGroundMusic != null) {
|
||||
|
|
@ -366,6 +355,28 @@ class Map extends Actor {
|
|||
}
|
||||
}
|
||||
}
|
||||
//绑定摄像机
|
||||
m_camera.SetFromParent(obj);
|
||||
//获取当前场景
|
||||
local Stage = sq_GetCurrentStage();
|
||||
if (GlobalTownManager.CurrentTown) {
|
||||
Stage.Removechild(GlobalTownManager.CurrentTown);
|
||||
}
|
||||
Stage.Addchild(this);
|
||||
//添加全局
|
||||
GlobalTownManager.CurrentTown = this.weakref();
|
||||
|
||||
|
||||
//如果已经处于某个地图中 则先移除
|
||||
if (obj.Parent) {
|
||||
obj.Parent.Removechild(obj);
|
||||
}
|
||||
//将角色添加到地图的normal图层
|
||||
LayerObject.normal.Addchild(obj);
|
||||
//设置坐标
|
||||
obj.SetPosition(pos);
|
||||
//将地图信息写入角色中
|
||||
obj.MySelfMap = this.weakref();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -402,6 +413,10 @@ class Map extends Actor {
|
|||
m_camera.BackgroundOffset = m_data.background_pos;
|
||||
|
||||
// OpenMovableAreaBorder();
|
||||
|
||||
|
||||
MySocket.RegisterHandler(PACKET_ID.CHANGE_TOWN_AREA_CALLBACK, MoveTownCallBack.bindenv(this));
|
||||
MySocket.RegisterBinaryHandler(PACKET_ID.TOWN_ADD_CHARACTER_CALLBACK, AddCharacterCallBack.bindenv(this));
|
||||
}
|
||||
|
||||
//DEBUG方法
|
||||
|
|
@ -477,13 +492,33 @@ class Map extends Actor {
|
|||
//走进了传送阵
|
||||
if (Index != -1) {
|
||||
if (!obj.TransmitFlag) {
|
||||
//得到传送信息 目标城镇
|
||||
local info = m_data.town_movable_area_info[Index];
|
||||
//这里是未加载的城镇
|
||||
//如果是未加载的城镇 则先构造城镇
|
||||
if (!(GlobalTownManager.TownList.rawin(info.town))) {
|
||||
Town(info.town);
|
||||
}
|
||||
//计算位移过去以后应该设置的位置
|
||||
local MapObj = GlobalTownManager.TownList[info.town].map[info.area];
|
||||
MapObj.AddObjectByChangeTown(obj, this);
|
||||
local movepos = {
|
||||
z = 0
|
||||
};
|
||||
//遍历目标城镇的该区域 查找适当位移位置
|
||||
foreach(index, mapinfo in MapObj.m_data.town_movable_area_info) {
|
||||
if (mapinfo.town == m_town && mapinfo.area == m_mapId) {
|
||||
movepos.x <- MapObj.m_data.town_movable_area[index * 4] + MapObj.m_data.town_movable_area[index * 4 + 2] / 2;
|
||||
movepos.y <- MapObj.m_data.town_movable_area[index * 4 + 1] + MapObj.m_data.town_movable_area[index * 4 + 3] / 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//发包移动城镇
|
||||
MySocket.Send(PACKET_ID.CHANGE_TOWN_AREA, {
|
||||
town = info.town,
|
||||
region = info.area,
|
||||
pos = movepos
|
||||
})
|
||||
|
||||
obj.TransmitFlag = true;
|
||||
}
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,92 @@
|
|||
/*
|
||||
文件名:Packet.nut
|
||||
路径:User/Socket/Packet.nut
|
||||
创建日期:2025-01-04 22:20
|
||||
文件用途:数据封包类
|
||||
*/
|
||||
class Packet {
|
||||
Data = null;
|
||||
|
||||
constructor(...) {
|
||||
//不传参数时,构造空包
|
||||
if (vargv.len() == 0) {
|
||||
this.Data = blob();
|
||||
}
|
||||
//传入数据流以流的形式构造包
|
||||
else {
|
||||
this.Data = vargv[0];
|
||||
}
|
||||
}
|
||||
|
||||
//字节
|
||||
function Put_Byte(Value) {
|
||||
this.Data.writen('c', Value);
|
||||
}
|
||||
|
||||
//短整型
|
||||
function Put_Short(Value) {
|
||||
this.Data.writen('s', Value);
|
||||
}
|
||||
|
||||
//整型
|
||||
function Put_Int(Value) {
|
||||
this.Data.writen('i', Value);
|
||||
}
|
||||
|
||||
//浮点型
|
||||
function Put_Float(Value) {
|
||||
this.Data.writen('f', Value);
|
||||
}
|
||||
|
||||
//字符串
|
||||
function Put_String(String) {
|
||||
foreach(char in String) {
|
||||
Put_Byte(char);
|
||||
}
|
||||
}
|
||||
|
||||
//字节数组
|
||||
function Put_Binary(BinaryArray) {
|
||||
//流
|
||||
if (typeof BinaryArray == "blob") {
|
||||
this.Data.writeblob(BinaryArray);
|
||||
}
|
||||
//数组
|
||||
else if (typeof BinaryArray == "array") {
|
||||
foreach(byte in BinaryArray) {
|
||||
Put_Byte(byte);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//获取字节
|
||||
function Get_Byte() {
|
||||
return this.Data.readn('c');
|
||||
}
|
||||
|
||||
//获取短整型
|
||||
function Get_Short() {
|
||||
return this.Data.readn('s');
|
||||
}
|
||||
|
||||
//获取整型
|
||||
function Get_Int() {
|
||||
return this.Data.readn('i');
|
||||
}
|
||||
|
||||
//获取浮点型
|
||||
function Get_Float() {
|
||||
return this.Data.readn('f');
|
||||
}
|
||||
|
||||
//获取字符串
|
||||
function Get_String(len) {
|
||||
return stream_myreadstring(len);
|
||||
}
|
||||
|
||||
//获取字节数组
|
||||
function Get_Binary(len) {
|
||||
return this.Data.readblob(len);
|
||||
}
|
||||
}
|
||||
|
|
@ -41,7 +41,7 @@ function LoginStage() {
|
|||
local T = CL_StageObject();
|
||||
T.SetName("加载界面舞台");
|
||||
|
||||
local AniTime = 800;
|
||||
local AniTime = 1500;
|
||||
|
||||
//大背景
|
||||
local BackGround = CL_SpriteObject("sprite/loding.img", 0);
|
||||
|
|
@ -51,7 +51,7 @@ function LoginStage() {
|
|||
local Kiwano = CL_SpriteObject("sprite/loding.img", 1);
|
||||
Kiwano.SetAnchor(0.5, 0.5);
|
||||
Kiwano.SetScale(0.35, 0.35);
|
||||
Kiwano.SetPosition(1066 / 2, 800);
|
||||
Kiwano.SetPosition(1066 / 2, 300);
|
||||
Kiwano.SetUpdateFunc(function(sp, dt) {
|
||||
if (!("time" in sp.Var)) sp.Var.time <- 0;
|
||||
sp.Var.time += dt;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ function TestStage() {
|
|||
|
||||
local Window = Sq_CreateWindow(_Login_Window, "登录界面窗口", 0, 0, 1066, 600, 0);
|
||||
|
||||
|
||||
// local Window = Sq_CreateWindow(_Inventory, "背包窗口", 150, 12, 257, 555, 20);
|
||||
// //大背景
|
||||
// local BackGround = CL_SpriteObject("sprite/map/npc/2019_halloween_blossom_normal.img", 0);
|
||||
// BackGround.SetPosition(300, 150);
|
||||
|
|
@ -54,15 +54,11 @@ function TestStage() {
|
|||
// name = "测试角色",
|
||||
// job = 0,
|
||||
// equip = [101020037, 601500061, 601550061, 601560059, 601570054, 601520053, 601500061, 601510060, 601530052, 601540061, 601580024, 609590003]
|
||||
// }, {
|
||||
// lv = 90,
|
||||
// name = "测试角色2号",
|
||||
// job = 0,
|
||||
// equip = [601020007, 601500060, 601550060, 601560058, 601570053, 601520052, 601500060, 601510059, 601530051, 601540060, 601580023, 609590003]
|
||||
// }]
|
||||
// };
|
||||
// Window.Init(T);
|
||||
|
||||
|
||||
// local Actorobj = Actor();
|
||||
// Actorobj.ShowBorder(true);
|
||||
// Actorobj.SetSize(1500, 100);
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ class Yosin_InputBox extends Yosin_CommonUi {
|
|||
Text_Obj = TextActor(0, {
|
||||
color = 0xFFFFFFFF
|
||||
});
|
||||
Text_Obj.SetPosition(4, 3);
|
||||
Text_Obj.SetPosition(4, 1);
|
||||
Addchild(Text_Obj);
|
||||
|
||||
_Imm_Input_Func_.rawset(C_Object, Imm_Input.bindenv(this));
|
||||
|
|
|
|||
|
|
@ -62,7 +62,6 @@ class _Login_Window extends Yosin_Window {
|
|||
local value = Blob.readn('i');
|
||||
info.equip.append(value);
|
||||
}
|
||||
// print(info);
|
||||
}
|
||||
//关闭登录界面
|
||||
NoticeBox.DestroyWindow();
|
||||
|
|
|
|||
|
|
@ -271,6 +271,10 @@ class _Select_Character_Chr extends Yosin_CommonUi {
|
|||
M_Ypos = MousePos_Y;
|
||||
B_X = X; //原始窗口位置
|
||||
B_Y = Y;
|
||||
//遍历父对象中的所有按钮 修改他们的层级
|
||||
foreach(Button in Parent.UpCharacterList) {
|
||||
Button.SetZOrder(99999);
|
||||
}
|
||||
SetZOrder(100000);
|
||||
}
|
||||
}
|
||||
|
|
@ -347,7 +351,19 @@ class _Select_Character_Window extends Yosin_Window {
|
|||
|
||||
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
|
||||
base.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
|
||||
UpCharacterList = [];
|
||||
//定义五个空数组
|
||||
UpCharacterList = array(5, null);
|
||||
|
||||
|
||||
|
||||
// 选择角色进入游戏回包
|
||||
MySocket.RegisterHandler(PACKET_ID.SELECT_CHARACTER_ENTER_GAME_CALLBACK, function(Jso) {
|
||||
local Info = Jso.charac;
|
||||
local TownObj = Town(Info.town);
|
||||
local Charc = GameObject.CreateCharacter(Info.job, Info.equ);
|
||||
TownObj.AddObject(Charc, true);
|
||||
ClientCharacter = Charc;
|
||||
}.bindenv(this));
|
||||
}
|
||||
|
||||
function Init(gInfo) {
|
||||
|
|
@ -371,6 +387,39 @@ class _Select_Character_Window extends Yosin_Window {
|
|||
if (!BackGroundMusic.IsPlaying()) BackGroundMusic.Play();
|
||||
}
|
||||
|
||||
function AddUpCharacter(CharacInfo, Index = 5) {
|
||||
//先定义为最大值 如果没有查到空位则不会执行逻辑
|
||||
if (Index == 5) {
|
||||
//遍历获取第一个空位 Info为空也为空
|
||||
foreach(pos, value in UpCharacterList) {
|
||||
if (value == null) {
|
||||
Index = pos;
|
||||
break;
|
||||
}
|
||||
//如果是信息为空的 要先删除原来的再添加
|
||||
if (value.Info == null) {
|
||||
Index = pos;
|
||||
RemoveUIChild(UpCharacterList[pos]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (Index >= 5) return;
|
||||
}
|
||||
|
||||
local Buf = _Select_Character_Chr(184 + (Index * 142), ((Index % 2) ? 13 : 0) + 93, 132, 208);
|
||||
//如果有信息则构造角色
|
||||
if (CharacInfo) {
|
||||
//通过信息构造角色
|
||||
Buf.Init(CharacInfo, Index);
|
||||
AddUIChild(Buf);
|
||||
UpCharacterList[Index] = Buf;
|
||||
} else {
|
||||
Buf.Init(null, Index);
|
||||
AddUIChild(Buf);
|
||||
UpCharacterList[Index] = Buf;
|
||||
}
|
||||
}
|
||||
|
||||
function RegisterWindow() {
|
||||
SettingBackgroundWindow = _Select_Character_SettingBackground_Window("选择角色_设置背景图片窗口", 850, 28, 212, 129, 0);
|
||||
AddUIChild(SettingBackgroundWindow);
|
||||
|
|
@ -386,11 +435,8 @@ class _Select_Character_Window extends Yosin_Window {
|
|||
CharBg.SetZOrder(-10);
|
||||
Addchild(CharBg);
|
||||
|
||||
local Buf = _Select_Character_Chr(184 + (i * 142), ((i % 2) ? 13 : 0) + 93, 132, 208);
|
||||
if (i< Info.charac.len()) Buf.Init(Info.charac[i], i);
|
||||
else Buf.Init(null, i);
|
||||
UpCharacterList.push(Buf);
|
||||
AddUIChild(Buf);
|
||||
//如果没有足够的信息则传递null
|
||||
AddUpCharacter((Info.charac.len() > i) ? Info.charac[i] : null, i);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -237,6 +237,9 @@ class _CreateCharacter extends Yosin_Window {
|
|||
|
||||
NoticeBox = null;
|
||||
|
||||
//临时创建角色
|
||||
TempCharacter = null;
|
||||
|
||||
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
|
||||
base.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
|
||||
|
||||
|
|
@ -247,7 +250,7 @@ class _CreateCharacter extends Yosin_Window {
|
|||
|
||||
|
||||
// 创建角色回包
|
||||
MySocket.RegisterHandler(4, function(Jso) {
|
||||
MySocket.RegisterHandler(PACKET_ID.CREATE_CHARACTER_CALLBACK, function(Jso) {
|
||||
if (NoticeBox) NoticeBox.CloseWindow();
|
||||
if (Jso.type == 0) {
|
||||
// 创建成功.
|
||||
|
|
@ -255,6 +258,9 @@ class _CreateCharacter extends Yosin_Window {
|
|||
NoticeBox.DestroyWindow();
|
||||
DestroyWindow();
|
||||
MySocket.Send(PACKET_ID.QUERY_CHARACTER_LIST, null);
|
||||
|
||||
local Window = Sq_CreateWindow(_Select_Character_Window, "选择角色界面窗口", 0, 0, 1066, 600, 0);
|
||||
Window.AddUpCharacter(TempCharacter);
|
||||
} else {
|
||||
// 创建失败.
|
||||
NoticeBox = _Yosin_MessageBox("创建失败.");
|
||||
|
|
@ -263,9 +269,6 @@ class _CreateCharacter extends Yosin_Window {
|
|||
|
||||
}
|
||||
|
||||
function PlayBackgroundMusic() {
|
||||
|
||||
}
|
||||
|
||||
function RegisterDraw() {
|
||||
//大背景
|
||||
|
|
@ -362,10 +365,16 @@ class _CreateCharacter extends Yosin_Window {
|
|||
// 确定
|
||||
enter.OnClick = function(enterName) {
|
||||
local jobEnum = getJobEnum(jobIndex);
|
||||
MySocket.Send(7, {
|
||||
TempCharacter = {
|
||||
lv = 1,
|
||||
name = enterName,
|
||||
job = jobEnum,
|
||||
})
|
||||
equip = []
|
||||
};
|
||||
MySocket.Send(PACKET_ID.CREATE_CHARACTER, {
|
||||
name = enterName,
|
||||
job = jobEnum,
|
||||
});
|
||||
}.bindenv(this);
|
||||
|
||||
}
|
||||
|
|
@ -814,7 +823,7 @@ class _create_Character_enterName extends Yosin_Window {
|
|||
//点击事件回调
|
||||
checkButton.OnClick = function(Button) {
|
||||
|
||||
MySocket.Send(6, {
|
||||
MySocket.Send(PACKET_ID.NICKNAME_REPEAT_CHECK, {
|
||||
name = nameInputBox.str,
|
||||
})
|
||||
|
||||
|
|
@ -877,7 +886,7 @@ class _create_Character_enterName extends Yosin_Window {
|
|||
|
||||
|
||||
// 昵称重复检查回包
|
||||
MySocket.RegisterHandler(3, function(Jso) {
|
||||
MySocket.RegisterHandler(PACKET_ID.NICKNAME_REPEAT_CHECK_CALLBACK, function(Jso) {
|
||||
if (Parent.NoticeBox) Parent.NoticeBox.CloseWindow();
|
||||
if (Jso.type == 0) {
|
||||
// 可以使用的ID 确认按钮可以使用.
|
||||
|
|
|
|||
|
|
@ -5,12 +5,19 @@
|
|||
文件用途:包ID枚举
|
||||
*/
|
||||
enum PACKET_ID {
|
||||
|
||||
/**** 客户端发包 ***/
|
||||
|
||||
// 登录
|
||||
LOGIN = 1
|
||||
//注册
|
||||
REGISTER = 3
|
||||
//修改密码
|
||||
CHANGE_PASSWORD = 5
|
||||
//昵称重复检查
|
||||
NICKNAME_REPEAT_CHECK = 6
|
||||
//创建角色
|
||||
CREATE_CHARACTER = 7
|
||||
//查询账号中的角色列表
|
||||
QUERY_CHARACTER_LIST = 9
|
||||
//选择角色
|
||||
|
|
@ -18,4 +25,22 @@ enum PACKET_ID {
|
|||
//更换角色位置
|
||||
CHANGE_CHARACTER_POSITION = 10
|
||||
|
||||
|
||||
//城镇移动切换区域
|
||||
CHANGE_TOWN_AREA = 10001
|
||||
|
||||
|
||||
|
||||
/**** 客户端收包 ***/
|
||||
|
||||
//昵称重复检查回包
|
||||
NICKNAME_REPEAT_CHECK_CALLBACK = 3
|
||||
//创建角色回包
|
||||
CREATE_CHARACTER_CALLBACK = 4
|
||||
//选择角色进入游戏回包
|
||||
SELECT_CHARACTER_ENTER_GAME_CALLBACK = 5
|
||||
//城镇移动切换区域回包
|
||||
CHANGE_TOWN_AREA_CALLBACK = 10001
|
||||
//城镇添加角色回包
|
||||
TOWN_ADD_CHARACTER_CALLBACK = 10002
|
||||
}
|
||||
|
|
@ -247,5 +247,8 @@
|
|||
},
|
||||
"User/UI/Window/4_PersonalInfo.nut": {
|
||||
"description": "个人信息窗口"
|
||||
},
|
||||
"User/Socket/Packet.nut": {
|
||||
"description": "数据包类"
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue