From 5434bab973c358e006a166f5cd41e2f6d3550229 Mon Sep 17 00:00:00 2001 From: Naruse <71993948+DevilProMT@users.noreply.github.com> Date: Thu, 17 Apr 2025 08:37:13 +0800 Subject: [PATCH] Fix scene problem (maybe) --- game_server/game/scene/scene_manager.py | 14 +++----------- .../resource/configdb/sub_type/group_info.py | 17 +++-------------- 2 files changed, 6 insertions(+), 25 deletions(-) diff --git a/game_server/game/scene/scene_manager.py b/game_server/game/scene/scene_manager.py index f05c526..8ba6dc2 100644 --- a/game_server/game/scene/scene_manager.py +++ b/game_server/game/scene/scene_manager.py @@ -64,20 +64,12 @@ class SceneManager(BaseModel): proto.world_id = maze_plane.WorldID loaded_npc = [13199,13321,1313,13227,13190,13191,13192,13141,13246,13407 ,13223,13152] - loaded_group = [] - groups = [] for group_id,group in floor_infos.groups.items(): if group.LoadSide == "Client": continue - # if group_id in loaded_group: - # continue - # if group_id > 150 and group_id < 200: - # continue - # if group_id > 300: - # continue - if group_id in groups: - continue - groups.append(group_id) + if group.GroupName: + if "TrainVisitor" in group.GroupName or "DeployPuzzle_Repeat_Area" in group.GroupName or "TrainVisiter" in group.GroupName: + continue group_info = SceneEntityGroupInfo( group_id=group_id ) diff --git a/game_server/resource/configdb/sub_type/group_info.py b/game_server/resource/configdb/sub_type/group_info.py index 3ddca14..c2a3255 100644 --- a/game_server/resource/configdb/sub_type/group_info.py +++ b/game_server/resource/configdb/sub_type/group_info.py @@ -8,19 +8,6 @@ from game_server.resource.configdb.sub_type.prop_info import PropInfo,PropState T = TypeVar('T') -class GroupLoadSide(Enum): - CLIENT = "Client" - SERVER = "Server" - - @classmethod - def from_value(cls, value): - if value in ("Server"): - return cls.SERVER - elif value in ("Client"): - return cls.CLIENT - raise ValueError(f"{value!r} is not a valid GroupLoadSide") - - @dataclasses.dataclass class GroupInfo: NPCList: List[NpcInfo] = dataclasses.field(default_factory=list) @@ -31,6 +18,7 @@ class GroupInfo: MonsterList: Optional[List[MonsterInfo]] = dataclasses.field(default_factory=list) PropList: Optional[List[PropInfo]] = dataclasses.field(default_factory=list) LoadSide: Optional[str] = None + GroupName: Optional[str] = None def parse_dataclass(cls: Type[T], raw_data: dict) -> T: @@ -85,5 +73,6 @@ def parse_group_info(raw_data: dict) -> GroupInfo: ) for prop in (raw_data.get("PropList") or []) ], - LoadSide=raw_data.get("LoadSide") if raw_data.get("LoadSide") else None, + LoadSide=raw_data.get("LoadSide") if raw_data.get("LoadSide") else "Client", + GroupName=raw_data.get("GroupName") if raw_data.get("GroupName") else "", ) \ No newline at end of file