Skip to content

Commit e4e1803

Browse files
committed
版本更新至0.2.0
1 parent c7f7bd4 commit e4e1803

File tree

8 files changed

+45
-31
lines changed

8 files changed

+45
-31
lines changed

demo/res/scripts/client/Account.py

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# -*- coding: utf-8 -*-
22
import KBEngine
33
from KBEDebug import *
4+
import json
5+
import copy
46

57
class Account(KBEngine.Entity):
68
def __init__(self):
@@ -14,9 +16,23 @@ def onReqAvatarList(self, infos):
1416
define method.
1517
"""
1618
DEBUG_MSG("Account:onReqAvatarList::%s" % (infos))
19+
1720
self.avatars = infos
18-
KBEngine.fireEvent("update_avatars", self.avatars)
21+
self.fireEvent("update_avatars")
22+
23+
def fireEvent(self, evtName):
24+
firedatas = ""
1925

26+
if evtName == "update_avatars":
27+
dctinfo = copy.deepcopy(dict(self.avatars))
28+
for info in dctinfo.values():
29+
for data in info[4].values():
30+
data[1] = ""
31+
32+
firedatas = json.dumps(dctinfo)
33+
34+
KBEngine.fireEvent(evtName, firedatas)
35+
2036
def onCreateAvatarResult(self, retcode, info):
2137
"""
2238
define method.
@@ -28,7 +44,7 @@ def onCreateAvatarResult(self, retcode, info):
2844
return
2945

3046
self.avatars[info[0]] = info
31-
KBEngine.fireEvent("update_avatars", self.avatars)
47+
self.fireEvent("update_avatars")
3248

3349
def onRemoveAvatar(self, dbid):
3450
"""
@@ -37,16 +53,18 @@ def onRemoveAvatar(self, dbid):
3753
DEBUG_MSG("Account:onRemoveAvatar:: dbid=%i" % (dbid))
3854
del self.avatars[dbid]
3955

40-
def reqCreateAvatar(self, roleType, name):
56+
def reqCreateAvatar(self, strargs):
4157
"""
4258
"""
59+
roleType, name = json.loads(strargs)
4360
DEBUG_MSG("Account:reqCreateAvatar::roleType=%i, name=%s" % (roleType, name))
4461
self.base.reqCreateAvatar(roleType, name)
4562

46-
def selectAvatarGame(self, dbid):
63+
def selectAvatarGame(self, strargs):
4764
"""
4865
选择某个角色进行游戏
4966
"""
50-
DEBUG_MSG("Account:selectAvatarGame::dbid=%i" % (dbid))
67+
dbid = json.loads(strargs)
68+
DEBUG_MSG("Account:selectAvatarGame::dbid=%s" % (dbid))
5169
self.base.selectAvatarGame(dbid)
5270

demo/res/scripts/client/interfaces/Combat.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# -*- coding: utf-8 -*-
22
import KBEngine
3+
import json
34
from KBEDebug import *
45
from interfaces.CombatPropertys import CombatPropertys
56

@@ -15,6 +16,6 @@ def recvDamage(self, attackerID, skillID, damageType, damage):
1516
(self.getScriptName(), self.id, attackerID, skillID, damageType, damage))
1617

1718
# 通知表现层改变表现
18-
KBEngine.fireEvent("recvDamage", self.id, attackerID, skillID, damageType, damage)
19+
KBEngine.fireEvent("recvDamage", json.dumps((self.id, attackerID, skillID, damageType, damage)))
1920

2021

demo/res/scripts/client/interfaces/CombatPropertys.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# -*- coding: utf-8 -*-
22
import KBEngine
3+
import json
34
from KBEDebug import *
45

56
class CombatPropertys:
@@ -13,7 +14,7 @@ def set_HP_Max(self, oldValue):
1314
"""
1415
DEBUG_MSG("%s::set_HP_Max: %i changed:%s->%s" % (self.getScriptName(), self.id, oldValue, self.HP_Max))
1516

16-
KBEngine.fireEvent("set_HP_Max", self.id, self.HP_Max)
17+
KBEngine.fireEvent("set_HP_Max", json.dumps((self.id, self.HP_Max)))
1718

1819
def set_HP(self, oldValue):
1920
"""
@@ -29,7 +30,7 @@ def set_MP_Max(self, oldValue):
2930
"""
3031
DEBUG_MSG("%s::set_MP_Max: %i changed:%s->%s" % (self.getScriptName(), self.id, oldValue, self.MP_Max))
3132

32-
KBEngine.fireEvent("set_MP_Max", self.id, self.MP_Max)
33+
KBEngine.fireEvent("set_MP_Max", json.dumps((self.id, self.MP_Max)))
3334

3435
def set_MP(self, oldValue):
3536
"""

demo/res/scripts/client/interfaces/GameObject.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# -*- coding: utf-8 -*-
22
import KBEngine
33
import KBExtra
4+
import json
45
from KBEDebug import *
56

67
class GameObject:
@@ -32,7 +33,7 @@ def set_name(self, oldValue):
3233
DEBUG_MSG("%s::set_name: %i changed:%s->%s" % (self.getScriptName(), self.id, oldValue, self.name))
3334

3435
# 通知表现层改变表现
35-
KBEngine.fireEvent("set_name", self.id, self.name)
36+
KBEngine.fireEvent("set_name", json.dumps((self.id, self.name)))
3637

3738
def set_modelID(self, oldValue):
3839
"""
@@ -42,7 +43,7 @@ def set_modelID(self, oldValue):
4243
DEBUG_MSG("%s::set_modelID: %i changed:%s->%s" % (self.getScriptName(), self.id, oldValue, self.modelID))
4344

4445
# 通知表现层改变表现
45-
KBEngine.fireEvent("set_modelID", self.id, self.modelID)
46+
KBEngine.fireEvent("set_modelID", json.dumps((self.id, self.modelID)))
4647

4748
def set_modelScale(self, oldValue):
4849
"""
@@ -51,4 +52,4 @@ def set_modelScale(self, oldValue):
5152
"""
5253
DEBUG_MSG("%s::set_modelScale: %i changed:%s->%s" % (self.getScriptName(), self.id, oldValue, self.modelScale))
5354

54-
KBEngine.fireEvent("set_modelScale", self.id, self.modelScale)
55+
KBEngine.fireEvent("set_modelScale", json.dumps((self.id, self.modelScale)))

demo/res/scripts/client/interfaces/State.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#
33
"""
44
"""
5-
5+
import json
66
import GlobalDefine
77
from KBEDebug import *
88

@@ -37,7 +37,7 @@ def onStateChanged_(self, oldState, newState):
3737
virtual method.
3838
"""
3939
# 通知表现层改变表现
40-
KBEngine.fireEvent("set_state", self.id, newState)
40+
KBEngine.fireEvent("set_state", json.dumps((self.id, newState)))
4141

4242
def onForbidChanged_(self, oldForbids, newForbids):
4343
"""

demo/res/scripts/client/kbengine.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# -*- coding: utf-8 -*-
22
import KBEngine
33
import kbesystem
4+
import json
45
from KBEDebug import *
56

67
def onInit(isReload):

kbe/src/lib/client_lib/clientapp.cpp

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -487,18 +487,17 @@ PyObject* ClientApp::__py_fireEvent(PyObject* self, PyObject* args)
487487

488488
EventData_Script eventdata;
489489
eventdata.name = name;
490-
eventdata.argsSize = PyTuple_Size(args) - 1;
491490
free(name);
492491

493-
if(eventdata.argsSize > 0)
492+
if(PyTuple_Size(args) - 1 > 0)
494493
{
495-
eventdata.pyDatas = PyTuple_New(eventdata.argsSize + 1);
496-
for(uint32 i=0; i<eventdata.argsSize; i++)
497-
{
498-
PyObject* pyitem = PyTuple_GetItem(args, i + 1);
499-
PyTuple_SetItem(eventdata.pyDatas, i, pyitem);
500-
Py_INCREF(pyitem);
501-
}
494+
PyObject* pyitem = PyTuple_GetItem(args, 1);
495+
496+
PyUnicode_AsWideCharStringRet0 = PyUnicode_AsWideCharString(pyitem, NULL);
497+
char* datas = strutil::wchar2char(PyUnicode_AsWideCharStringRet0);
498+
PyMem_Free(PyUnicode_AsWideCharStringRet0);
499+
eventdata.datas = datas;
500+
free(datas);
502501
}
503502

504503
ClientApp::getSingleton().fireEvent(&eventdata);

kbe/src/lib/client_lib/event.hpp

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -217,23 +217,17 @@ struct EventData_Script : public EventData
217217
{
218218
EventData_Script():
219219
EventData(CLIENT_EVENT_SCRIPT),
220-
argsSize(0),
221220
name(),
222-
pyDatas(NULL)
221+
datas()
223222
{
224223
}
225224

226225
~EventData_Script()
227226
{
228-
if(pyDatas != NULL)
229-
{
230-
Py_DECREF(pyDatas);
231-
}
232227
}
233228

234-
uint8 argsSize;
235229
std::string name;
236-
PyObject* pyDatas;
230+
std::string datas;
237231
};
238232

239233
struct EventData_PositionChanged : public EventData
@@ -483,7 +477,6 @@ inline EventData* copyKBEngineEvent(const KBEngine::EventData* lpEventData)
483477
case CLIENT_EVENT_SCRIPT:
484478
peventdata = new EventData_Script();
485479
(*static_cast<EventData_Script*>(peventdata)) = (*static_cast<const EventData_Script*>(lpEventData));
486-
Py_INCREF(static_cast<EventData_Script*>(peventdata)->pyDatas);
487480
break;
488481
case CLIENT_EVENT_POSITION_CHANGED:
489482
peventdata = new EventData_PositionChanged();

0 commit comments

Comments
 (0)