예제 #1
0
        /// <summary>
        /// 拷贝数据到unitinfo
        /// </summary>
        /// <param name="info"></param>
        public override UnitAOIInfo GetUnitAOIInfo()
        {
            PlayerAOIInfo player_info = (PlayerAOIInfo)unit.GetUnitInfo(m_unit_type);

            player_info.char_name = char_name;
            player_info.char_type = char_type;
            player_info.pos_x     = pos_x;
            player_info.pos_y     = pos_y;
            player_info.flags     = flags;
            player_info.model_idx = model_idx;
            player_info.job       = job;
            player_info.level     = level;
            player_info.exp       = exp;
            player_info.energy    = energy;
            player_info.gold      = gold;
            player_info.coin      = coin;
            player_info.hp        = hp;
            player_info.hp_max    = hp_max;
            player_info.hurt      = hurt;
            player_info.range     = range;
            player_info.run_speed = run_speed;
            player_info.vip_grade = vip_grade;
            player_info.vip_flags = vip_flags;
            return(player_info);
        }
예제 #2
0
        /// <summary>
        /// 加载数据
        /// </summary>
        public override void LoadData(UnitAOIInfo info)
        {
            base.LoadData(info);

            PlayerAOIInfo data = (PlayerAOIInfo)info;

            m_char_name = data.char_name;
            m_char_type = data.char_type;
            m_pos.x     = data.pos_x;
            m_pos.y     = data.pos_y;
            m_flags     = data.flags;
            m_model_idx = data.model_idx;
            m_job       = data.job;
            m_level     = data.level;
            m_exp       = data.exp;
            m_energy    = data.energy;
            m_gold      = data.gold;
            m_coin      = data.coin;
            m_hp        = data.hp;
            m_hp_max    = data.hp_max;
            m_hurt      = data.hurt;
            m_range     = data.range;
            m_run_speed = data.run_speed;
            m_vip_grade = data.vip_grade;
            m_vip_flags = data.vip_flags;
        }
예제 #3
0
        /// <summary>
        /// 场景切换
        /// </summary>
        private void OnEnterScene(PacketBase packet)
        {
            ss2c.EnterScene msg = packet as ss2c.EnterScene;

            UnitManager.Instance.RemoveAll();
            //玩家信息
            PlayerInfoForClient char_info   = PlayerDataMgr.Instance.main_player_info;
            PlayerAOIInfo       player_info = CommonObjectPools.Spawn <PlayerAOIInfo>();

            player_info.char_name = char_info.char_name;
            player_info.char_type = char_info.char_type;
            player_info.pos_x     = msg.pos.x;
            player_info.pos_y     = msg.pos.y;
            player_info.flags     = char_info.flags;
            player_info.model_idx = char_info.model_idx;
            player_info.job       = char_info.job;
            player_info.level     = char_info.level;
            player_info.exp       = char_info.exp;
            player_info.energy    = char_info.energy;
            player_info.gold      = char_info.gold;
            player_info.coin      = char_info.coin;
            player_info.hp        = char_info.hp;
            player_info.hp_max    = char_info.hp_max;
            player_info.hurt      = char_info.hurt;
            player_info.range     = char_info.range;
            player_info.run_speed = char_info.run_speed;
            player_info.vip_grade = char_info.vip_grade;
            player_info.vip_flags = char_info.vip_flags;

            //创建玩家对象
            Player player = new Player();

            player.obj_idx = char_info.char_idx;
            player.Setup();
            player.LoadData(player_info);
            UnitManager.Instance.AddUnit(player);

            EventController.TriggerEvent(ClientEventID.SHOW_STATUS, eFormStatusType.Scene, "当前场景:" + msg.scene_type);
            EventController.TriggerEvent(ClientEventID.SHOW_STATUS, eFormStatusType.Log, "进入场景:" + msg.scene_type);
        }