public void MakeMapByLayerData(PBMapLayerData layerData) { MapCardBase playerDoorCard = null; if (currentMapLayerData != null) { if (lastMapLayerData != null) { for (int i = 0; i < lastMapLayerData.Width; i++) { for (int j = 0; j < lastMapLayerData.Height; j++) { if (lastMapLayerData[i, j] != null && lastMapLayerData[i, j] != currentMapLayerData[i, j]) { lastMapLayerData[i, j].Destory(); } } } } lastMapLayerData = currentMapLayerData; for (int i = 0; i < lastMapLayerData.Width; i++) { for (int j = 0; j < lastMapLayerData.Height; j++) { //共用传送门 if (i == m_MyMapPlayer.CurPos.X && j == m_MyMapPlayer.CurPos.Y) { playerDoorCard = lastMapLayerData[i, j]; } else if (lastMapLayerData[i, j] != null) { lastMapLayerData[i, j].ExitMap(); } } } } MapLayerData mapLayerData = new MapLayerData(layerData.Index, layerData.Width, layerData.Height); for (int i = 0; i < layerData.Width; i++) { for (int j = 0; j < layerData.Height; j++) { if (playerDoorCard != null && i == m_MyMapPlayer.CurPos.X && j == m_MyMapPlayer.CurPos.Y) { mapLayerData[i, j] = playerDoorCard; continue; } int index = i * layerData.Width + j; mapLayerData[i, j] = MapCardBase.CreateMapCard((MapCardType)layerData.PointTypes[index], layerData.PointIds[index], new MapCardPos(i, j)); } } currentMapLayerData = mapLayerData; Messenger.BroadcastSync(MessageId.MAP_GET_MAP_LAYER_DATA); }
public void BroadcastSync(uint eventType, Object para1, Object para2, Object para3) { Messenger.BroadcastSync <Object, Object, Object>(eventType, para1, para2, para3); }
public void BroadcastSync(uint eventType) { Messenger.BroadcastSync(eventType); }