| | |
| | | #---------------------------------------------------------------------
|
| | | def SyncDynamicBarrierState(barrierPointList, state, curPlayer=None):
|
| | | '''同步动态障碍物是否有效性
|
| | | @param barrierPointList: 障碍物点列表 [[aPosX,aPosY,bPosX,bPosY], [aPosX,aPosY,bPosX,bPosY], ...]
|
| | | @param barrierPointList: 障碍物点列表 [[aPosX,aPosY,bPosX,bPosY,angle可选], [aPosX,aPosY,bPosX,bPosY,angle可选], ...]
|
| | | @param state: 是否有效
|
| | | @param curPlayer: 指定通知目标玩家,为None时广播本地图所有玩家
|
| | | '''
|
| | |
| | | barrierStatePack.Clear()
|
| | | barrierStatePack.State = state
|
| | | barrierStatePack.BarrierList = []
|
| | | for aPosX, aPosY, bPosX, bPosY in barrierPointList:
|
| | | for posInfo in barrierPointList:
|
| | | aPosX, aPosY, bPosX, bPosY = posInfo[:4]
|
| | | angle = posInfo[4] if len(posInfo) > 4 else 0
|
| | | barrier = ChPyNetSendPack.tagMCDynamicBarrier()
|
| | | barrier.APosX = aPosX
|
| | | barrier.APosY = aPosY
|
| | | barrier.BPosX = bPosX
|
| | | barrier.BPosY = bPosY
|
| | | barrier.Angle = angle
|
| | | barrierStatePack.BarrierList.append(barrier)
|
| | | barrierStatePack.Count = len(barrierStatePack.BarrierList)
|
| | | if curPlayer:
|