public MapCardBase CreateMapCard() { ModelTableSetting model = null; switch (CardType) { case MapCardType.None: break; case MapCardType.Door: MapCard = new MapCardDoor(); MapCard.Position = Pos; MapCard.State = MapCardBase.CardState.Behind; ResourceManager.LoadGameObject("MapCard/" + typeof(MapCardDoor).ToString(), LoadAssetSuccessess, LoadAssetFailed, MapCard); break; case MapCardType.Monster: BattleMonsterTableSetting battleMonster = BattleMonsterTableSettings.Get(DataId); model = ModelTableSettings.Get(battleMonster.ModelId); MapCard = new MapCardDoor(); MapCard.Position = Pos; MapCard.State = MapCardBase.CardState.Behind; ResourceManager.LoadGameObject(model.Path, LoadAssetSuccessess, LoadAssetFailed, MapCard); break; case MapCardType.Shop: ShopTableSetting shopTable = ShopTableSettings.Get(DataId); model = ModelTableSettings.Get(shopTable.ModelId); MapCard = new MapCardDoor(); MapCard.Position = Pos; MapCard.State = MapCardBase.CardState.Behind; ResourceManager.LoadGameObject(model.Path, LoadAssetSuccessess, LoadAssetFailed, MapCard); break; case MapCardType.Box: BoxTableSetting boxTable = BoxTableSettings.Get(DataId); model = ModelTableSettings.Get(boxTable.ModelId); MapCard = new MapCardDoor(); MapCard.Position = Pos; MapCard.State = MapCardBase.CardState.Behind; ResourceManager.LoadGameObject(model.Path, LoadAssetSuccessess, LoadAssetFailed, MapCard); break; case MapCardType.NPC: NpcTableSetting npcTable = NpcTableSettings.Get(DataId); model = ModelTableSettings.Get(npcTable.ModelId); MapCard = new MapCardDoor(); MapCard.Position = Pos; MapCard.State = MapCardBase.CardState.Behind; ResourceManager.LoadGameObject(model.Path, LoadAssetSuccessess, LoadAssetFailed, MapCard); break; default: break; } return MapCard; }
public override void Handle(object sender, IMessage packet) { base.Handle(sender, packet); CGMapApplyEffect data = packet as CGMapApplyEffect; //处理完数据和逻辑后,发送消息通知客户端 PBAccountData accountData = GetSavedData <PBAccountData>(ACCOUNT_DATA_KEY); PBMapPlayerData mapPlayerData = GetSavedData <PBMapPlayerData>(MAP_PLAYER_DATA_KEY); PBPlayerData playerData = GetSavedData <PBPlayerData>(PLAYER_DATA_KEY); PBPlayerDetailData playerDetailData = GetSavedData <PBPlayerDetailData>(PLAYER_DETAIL_DATA_KEY); GCMapApplyEffect applyEffect = new GCMapApplyEffect(); applyEffect.PlayerId = playerData.PlayerId; if (data.PlayerId != playerData.PlayerId) { applyEffect.Result = 1; SendToClient(MessageId_Receive.GCMapApplyEffect, applyEffect); return; } switch (data.Action) { //0结束 case 0: break; //1下一个 case 1: break; //2选择 case 2: break; //3进入战斗 case 3: GCEnterBattle enterBattle = new GCEnterBattle(); enterBattle.MonsterId = data.Param; SendToClient(MessageId_Receive.GCEnterBattle, enterBattle); break; //4回血 case 4: mapPlayerData.PlayerData.Hp = System.Math.Min(mapPlayerData.PlayerData.Hp + data.Param, mapPlayerData.PlayerData.MaxHp); GCUpdateMapPlayerData hpUpdate = new GCUpdateMapPlayerData(); hpUpdate.PlayerId = mapPlayerData.PlayerData.PlayerId; hpUpdate.MapPlayerData = mapPlayerData; SaveData(MAP_PLAYER_DATA_KEY, mapPlayerData); SendToClient(MessageId_Receive.GCUpdateMapPlayerData, hpUpdate); break; //5回魔 case 5: mapPlayerData.PlayerData.Mp = System.Math.Min(mapPlayerData.PlayerData.Mp + data.Param, mapPlayerData.PlayerData.MaxMp); GCUpdateMapPlayerData mpUpdate = new GCUpdateMapPlayerData(); mpUpdate.PlayerId = mapPlayerData.PlayerData.PlayerId; mpUpdate.MapPlayerData = mapPlayerData; SaveData(MAP_PLAYER_DATA_KEY, mapPlayerData); SendToClient(MessageId_Receive.GCUpdateMapPlayerData, mpUpdate); break; //6回粮食 case 6: mapPlayerData.PlayerData.Food = System.Math.Min(mapPlayerData.PlayerData.Food + data.Param, mapPlayerData.PlayerData.MaxFood); GCUpdateMapPlayerData foodUpdate = new GCUpdateMapPlayerData(); foodUpdate.PlayerId = mapPlayerData.PlayerData.PlayerId; foodUpdate.MapPlayerData = mapPlayerData; SaveData(MAP_PLAYER_DATA_KEY, mapPlayerData); SendToClient(MessageId_Receive.GCUpdateMapPlayerData, foodUpdate); break; //7进入商店 case 7: GCMapEnterShop mapEnterShop = new GCMapEnterShop(); mapEnterShop.Result = 0; mapEnterShop.ShopId = data.Param; SendToClient(MessageId_Receive.GCMapEnterShop, mapEnterShop); break; //8打开宝箱 case 8: GCMapOpenBox openBox = new GCMapOpenBox(); openBox.Result = 0; openBox.BoxId = data.Param; SendToClient(MessageId_Receive.GCMapOpenBox, openBox); BoxTableSetting boxTable = BoxTableSettings.Get(data.Param); //switch (boxTable.RewardId) //{ // default: // break; //} break; //9进入下一层 case 9: break; default: break; } applyEffect.Result = 0; SendToClient(MessageId_Receive.GCMapApplyEffect, applyEffect); }
public static MapCardBase CreateMapCard(MapCardType mapCardType, int mapcardId, MapCardPos pos) { MapCardBase mapCard = null; MapCardTableSetting mapCardTable = MapCardTableSettings.Get(mapcardId); if (mapCardTable == null) { return(null); } ModelTableSetting model = ModelTableSettings.Get(mapCardTable.ModelId); if (model == null) { return(null); } switch (mapCardType) { case MapCardType.None: break; case MapCardType.Door: mapCard = new MapCardDoor(); mapCard.Position = pos; mapCard.State = MapCardBase.CardState.Behind; mapCard.CardType = mapCardType; mapCard.TableData = mapCardTable; ResourceManager.LoadGameObject("MapCard/" + typeof(MapCardDoor).ToString(), LoadAssetSuccessess, LoadAssetFailed, mapCard); break; case MapCardType.Monster: BattleMonsterTableSetting battleMonster = BattleMonsterTableSettings.Get(mapcardId); //model = ModelTableSettings.Get(battleMonster.ModelId); mapCard = new MapCardMonster(); mapCard.Position = pos; mapCard.State = MapCardBase.CardState.Behind; mapCard.CardType = mapCardType; mapCard.TableData = mapCardTable; ResourceManager.LoadGameObject(model.Path, LoadAssetSuccessess, LoadAssetFailed, mapCard); break; case MapCardType.Shop: ShopTableSetting shopTable = ShopTableSettings.Get(mapcardId); //model = ModelTableSettings.Get(shopTable.ModelId); mapCard = new MapCardShop(); mapCard.Position = pos; mapCard.State = MapCardBase.CardState.Behind; mapCard.CardType = mapCardType; mapCard.TableData = mapCardTable; ResourceManager.LoadGameObject(model.Path, LoadAssetSuccessess, LoadAssetFailed, mapCard); break; case MapCardType.Box: BoxTableSetting boxTable = BoxTableSettings.Get(mapcardId); //model = ModelTableSettings.Get(boxTable.ModelId); mapCard = new MapCardBox(); mapCard.Position = pos; mapCard.State = MapCardBase.CardState.Behind; mapCard.CardType = mapCardType; mapCard.TableData = mapCardTable; ResourceManager.LoadGameObject(model.Path, LoadAssetSuccessess, LoadAssetFailed, mapCard); break; case MapCardType.NPC: NpcTableSetting npcTable = NpcTableSettings.Get(mapcardId); //model = ModelTableSettings.Get(npcTable.ModelId); mapCard = new MapCardNpc(); mapCard.Position = pos; mapCard.State = MapCardBase.CardState.Behind; mapCard.CardType = mapCardType; mapCard.TableData = mapCardTable; ResourceManager.LoadGameObject(model.Path, LoadAssetSuccessess, LoadAssetFailed, mapCard); break; default: break; } return(mapCard); }