예제 #1
0
        //-------------------------------------------------------------------------
        void _s2allcPlayerEnter(List <string> vec_param)
        {
            if (!mScene.isInit())
            {
                return;
            }

            int           index = 0;
            _tScenePlayer scene_player;

            scene_player.et_player_rpcid = uint.Parse(vec_param[++index]);
            scene_player.nickname        = (string)vec_param[++index];
            scene_player.is_bot          = false;
            int player_gold = int.Parse(vec_param[++index]);

            scene_player.rate = float.Parse(vec_param[++index]);
            int   turret_id        = int.Parse(vec_param[++index]);
            bool  buffer_power     = bool.Parse(vec_param[++index]);
            bool  buffer_freeze    = bool.Parse(vec_param[++index]);
            bool  buffer_longpress = bool.Parse(vec_param[++index]);
            bool  buffer_rapid     = bool.Parse(vec_param[++index]);
            float turret_angle     = float.Parse(vec_param[++index]);
            int   turret_rate      = int.Parse(vec_param[++index]);

            TbDataTurret.TurretType turret_type = (TbDataTurret.TurretType)(short.Parse(vec_param[++index]));
            int locked_fish_objid = int.Parse(vec_param[++index]);

            Dictionary <uint, CRenderTurret> map_turret = mScene.getMapTurret();

            if (map_turret.ContainsKey(scene_player.et_player_rpcid))
            {
                map_turret[scene_player.et_player_rpcid].Dispose();
                map_turret.Remove(scene_player.et_player_rpcid);
            }

            if (mScene.getMyPlayerId() == scene_player.et_player_rpcid)
            {
                mScene.setMyTurret(null);
            }

            CRenderTurret turret = new CRenderTurret(mScene);

            turret.create(turret_id, ref scene_player, player_gold, buffer_power, buffer_freeze, buffer_longpress,
                          buffer_rapid, turret_rate, turret_angle, locked_fish_objid, turret_type);
            map_turret[scene_player.et_player_rpcid] = turret;

            if (mScene.getMyPlayerId() == scene_player.et_player_rpcid)
            {
                mScene.setMyTurret(turret);
            }
        }
예제 #2
0
        //-------------------------------------------------------------------------
        public void update(float elapsed_tm)
        {
            CRenderLevel level = mScene.getLevel();

            if (level == null)
            {
                return;
            }

            mfTotalSecond += elapsed_tm;

            if (mScene.getMyPlayerId() == mPlayer.et_player_rpcid && !mScene.isSingleMode())
            {
                mfIdleSecond += elapsed_tm;
                if (mfIdleSecond > 60.0f)
                {
                    mfObCountdown -= elapsed_tm;
                    if (mfObCountdown <= 0.0f)
                    {
                        mfIdleSecond  = 0.0f;
                        mfObCountdown = 60.0f;
                        mScene.getListener().onScenePlayerChange2Ob();
                    }
                    else
                    {
                        string str = "由于您一分钟没有发射炮弹 系统将在[ff0000]" + ((int)mfObCountdown).ToString() + "秒[-]后进入[00ffff]观战模式[-]";
                        //mScene.getListener().onSceneShowMessageBox(str, false, "", 1, (int)_eMessageBoxLayer.Ob, false, false);
                    }
                }
                else
                {
                    mfObCountdown = 60.0f;
                }

                if (mRenderBufferMgr.hasBuffer("BufLongpress") || mRenderBufferMgr.hasBuffer("BufRapid"))
                {
                    mfIdleSecond  = 0.0f;
                    mfObCountdown = 60.0f;
                }
            }

            mCSpriteTurretShow.update(elapsed_tm);
            mRenderBufferMgr.update(elapsed_tm);
        }
예제 #3
0
 //-------------------------------------------------------------------------
 public bool isPlayerBullet()
 {
     return(mScene.getMyPlayerId() == mPlayerId);
 }