/// <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); }
/// <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; }
/// <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); }