Example #1
0
        //---------------------------------------------------------------------
        // 计算鱼死亡分值并更新玩家状态
        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);
            }
        }
Example #2
0
        //---------------------------------------------------------------------
        // 服务端广播玩家进入
        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);
        }