KBEngine官方论坛

 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 配置 开服
查看: 123|回复: 5

cell的room房间如何存储所有的cell实体

[复制链接]

43

主题

95

帖子

365

积分

中级会员

Rank: 3Rank: 3

积分
365
发表于 2019-8-13 15:56:31 | 显示全部楼层 |阅读模式
本帖最后由 qinlinger1 于 2019-8-13 16:11 编辑

BASE下的cell实体存储    def enterRoom(self,pvpPropAvatarBaseCall,lefr):
        DEBUG_MSG("Room:enterRoom")  
        #pvpPropAvatarBaseCall.createCell(self.cell)
        pvpPropAvatarBaseCall.createCell(self.cell,self.roomKey,lefr)
        self.onEnter(pvpPropAvatarBaseCall)
        pass



    def onEnter(self, entityCall):
        self.avatars[entityCall.id] = entityCall
        #self.avatars[entityCall.id] = entityCall
        if self.cell is not None:
            self.cell.onEnter(entityCall)
        pass




cell下的存储  与使用   我想在room 的cell部分  分发 所有room中cell的 tick时间


如下使用方法报错:
    def onEnter(self, entityCall):
        """
        defined method.
        进入场景
        """
        self.avatars[entityCall.id] = entityCall        

    def localSendTime(self,rtime):
        DEBUG_MSG("Cell__Room__localSendTime %s," % self.avatars)        
        for value in self.avatars.values():
            DEBUG_MSG("Cell__Room__localSendTime %s," % value)

这个entityCall 应该是属于base部分的吧   但是我如何才能获得cell部分的 entity吗  我的存储方式是否错了





回复

使用道具 举报

5

主题

5699

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2019-8-13 16:47:44 | 显示全部楼层
一般只存baseentitycall,cellentitycall是可能随着实体迁移有变化的。
你可以用baseentitycall.cell直接访问cellentitycall。

远程进程无法直接获得entity,只能是entitycall相当于引用
QQ:3603661
3603661@qq.com
回复

使用道具 举报

43

主题

95

帖子

365

积分

中级会员

Rank: 3Rank: 3

积分
365
 楼主| 发表于 2019-8-13 17:02:00 | 显示全部楼层
柯标 发表于 2019-8-13 16:47
一般只存baseentitycall,cellentitycall是可能随着实体迁移有变化的。
你可以用baseentitycall.cell直接访 ...

    def localSendTime(self,rtime):
        #DEBUG_MSG("Cell__Room__localSendTime %s," % self.avatars)        
        for value in self.avatars:
            #DEBUG_MSG("Cell__Room__localSendTime %s," % value)
            spawner = KBEngine.entities.get(value)
            if spawner:
                DEBUG_MSG("Cell__Room__localSendTime %s," % rtime)               
                spawner.ChangeResidueTime(rtime)

我这样写可以吗
回复

使用道具 举报

43

主题

95

帖子

365

积分

中级会员

Rank: 3Rank: 3

积分
365
 楼主| 发表于 2019-8-13 17:12:53 | 显示全部楼层
qinlinger1 发表于 2019-8-13 17:02
def localSendTime(self,rtime):
        #DEBUG_MSG("Cell__Room__localSendTime %s," % self.avatar ...

demo中有一行这个代码  我拔下来的  用起来  是好用   应该没啥问题吧
回复

使用道具 举报

5

主题

5699

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2019-8-13 17:50:43 | 显示全部楼层
你知道原理就行了, 怎么写无所谓
QQ:3603661
3603661@qq.com
回复

使用道具 举报

43

主题

95

帖子

365

积分

中级会员

Rank: 3Rank: 3

积分
365
 楼主| 发表于 2019-8-13 18:02:44 | 显示全部楼层
柯标 发表于 2019-8-13 17:50
你知道原理就行了, 怎么写无所谓

谢柯大谢柯大谢柯大谢柯大谢柯大谢柯大谢柯大谢柯大谢柯大谢柯大谢柯大谢柯大谢柯大
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|KBEngine Forum

GMT+8, 2019-8-25 10:53 , Processed in 0.044356 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表