//--------------------------------------------------------------------- // 计算鱼死亡分值并更新玩家状态 void _calculateFishScore(uint et_player_rpcid, CLogicTurret turret, CLogicFish fish, int rate, int bullet_objid) { // 计算鱼的死亡概率,鱼死亡则销毁 int score = 1;// 分值 int effect_fish_vib_id = -1; bool fish_die = fish.hit(et_player_rpcid, rate, ref score, ref effect_fish_vib_id); if (fish_die) { // 奖励金币 if (turret.getBufferPower()) { rate *= 2; } int total_score = rate * score; _tScenePlayer player = turret.getScenePlayerInfo(); int cur_gold = mScene.getListener().onLogicSceneGetPlayerGold(player.et_player_rpcid); cur_gold += total_score; mScene.getListener().onLogicSceneSetPlayerGold(player.et_player_rpcid, cur_gold, fish.FishVibId, "FishLord", rate); // 通知其他模块鱼死亡 mScene.getListener().onLogicSceneFishDie(et_player_rpcid, fish.FishVibId, total_score); // 服务端广播鱼死亡 mScene.getProtocol().s2allcFishDie(et_player_rpcid, total_score, bullet_objid, fish.FishObjId, effect_fish_vib_id, rate); } }
//--------------------------------------------------------------------- // 服务端广播玩家进入 public void s2allcPlayerEnter(CLogicTurret turret) { List <string> vec_param = new List <string>(); vec_param.Add(((byte)_eProtocolDesktop.s2allcPlayerEnter).ToString()); _tScenePlayer scene_player = turret.getScenePlayerInfo(); vec_param.Add(scene_player.et_player_rpcid.ToString()); vec_param.Add(scene_player.nickname); int player_gold = mScene.getListener().onLogicSceneGetPlayerGold(scene_player.et_player_rpcid); vec_param.Add(player_gold.ToString()); vec_param.Add(scene_player.rate.ToString()); vec_param.Add(turret.getTurretId().ToString()); vec_param.Add(turret.getBufferPower().ToString()); vec_param.Add(turret.getBufferFreeze().ToString()); vec_param.Add(turret.getBufferLongpress().ToString()); vec_param.Add(turret.getBufferRapid().ToString()); vec_param.Add(turret.getTurretAngle().ToString()); vec_param.Add(turret.getTurretRate().ToString()); vec_param.Add(turret.getTurretType().ToString()); vec_param.Add(turret.getLockFishObjId().ToString()); mQueProtocol.Enqueue(vec_param); }