250501 커밋

This commit is contained in:
2025-05-01 07:23:28 +09:00
parent 98bb2e3c5c
commit 23176551b7
353 changed files with 9972 additions and 6652 deletions

View File

@@ -0,0 +1,128 @@
using GameServer.Contents.GameMode.Manage.PlayManage;
using MetaAssets;
using ServerBase;
using ServerCommon;
using ServerCore;
namespace GameServer;
public static class BattleInstancePlayModeHelper
{
public static BattleInstancesObject? getBattleObject(string anchorGuid, BattleInstanceSnapshotAttribute attribute, EBattleObjectType type)
{
BattleInstancesObject? battle_instance_object = null;
if (type.Equals(EBattleObjectType.Weapon))
{
battle_instance_object = getBattleObjectWeapon(anchorGuid, attribute);
}
else if (type.Equals(EBattleObjectType.Buff))
{
battle_instance_object = getBattleObjectBuff(anchorGuid, attribute);
}
else if (type.Equals(EBattleObjectType.Pod_Combat))
{
battle_instance_object = getBattleObjectPodCombat(anchorGuid, attribute);
}
else if (type.Equals(EBattleObjectType.Pod_Box))
{
battle_instance_object = getBattleObjectPickupPod(anchorGuid, attribute);
}
return battle_instance_object;
}
private static BattleInstancesObject getBattleObjectWeapon(string anchorGuid, BattleInstanceSnapshotAttribute attribute)
{
if (false == attribute.m_combat_pod_mode.m_weapons.TryGetValue(anchorGuid, out var battle_instance_object_weapon))
{
battle_instance_object_weapon = new BattleObjectWeapon(anchorGuid);
attribute.m_combat_pod_mode.m_weapons.TryAdd(anchorGuid, battle_instance_object_weapon);
}
return battle_instance_object_weapon;
}
private static BattleInstancesObject getBattleObjectBuff(string anchorGuid, BattleInstanceSnapshotAttribute attribute)
{
if (false == attribute.m_combat_pod_mode.m_buffs.TryGetValue(anchorGuid, out var battle_instance_object_buff))
{
battle_instance_object_buff = new BattleObjectBuff(anchorGuid);
attribute.m_combat_pod_mode.m_buffs.TryAdd(anchorGuid, battle_instance_object_buff);
}
return battle_instance_object_buff;
}
private static BattleInstancesObject getBattleObjectPodCombat(string anchorGuid, BattleInstanceSnapshotAttribute attribute)
{
if (false == attribute.m_combat_pod_mode.m_pod_storages.TryGetValue(anchorGuid, out var storages))
{
storages = new BattleObjectPodStorage(anchorGuid);
attribute.m_combat_pod_mode.m_pod_storages.TryAdd(anchorGuid, storages);
}
return storages;
}
private static BattleInstancesObject getBattleObjectPickupPod(string anchorGuid, BattleInstanceSnapshotAttribute attribute)
{
if (false == attribute.m_combat_pod_mode.m_pickup_pods.TryGetValue(anchorGuid, out var pickupPod))
{
Log.getLogger().warn($"not exist pickup pod so..create anchorguid : {anchorGuid}");
pickupPod = new BattleObjectPickupPod(anchorGuid);
pickupPod.m_is_active = false;
attribute.m_combat_pod_mode.m_pickup_pods.TryAdd(anchorGuid, pickupPod);
}
return pickupPod;
}
public static bool isPodCombat(BattleInstanceSnapshotAttribute attribute, string anchorGuid)
{
return attribute.m_combat_pod_mode.m_pod_combat.m_anchor_guid.Equals(anchorGuid);
}
public static (Result, BattleObjectMetaData) getBattleObjectMeta(string anchorGuid, GameModeBase battleInstanceRoom)
{
var map = battleInstanceRoom.getInstanceRoom().getMap();
string err_msg = string.Empty;
var result = new Result();
if(false == map.m_anchors.TryGetValue(anchorGuid, out var anchorInfo))
{
err_msg = $"Anchor Info Not Exist.... room_id : {map.m_room_id} anchor guid : {anchorGuid}";
result.setFail(ServerErrorCode.BattleInstanceNotExistAnchors, err_msg);
return (result, new(new BattleObjectMetaDataMutable()));
}
if (false == MapDataTable.Instance.getAnchor(anchorGuid, out var anchor))
{
err_msg = $"Not found Anchor in MapFileType !!! : anchourGuid:{anchorGuid}";
//Log.getLogger(err_msg);
result.setFail(ServerErrorCode.BattleInstanceNotExistAnchors, err_msg);
return (result, new(new BattleObjectMetaDataMutable()));
}
var table_id = anchorInfo.AnchorProp.TableId;
if (anchor.Type.Equals(BattleConstant.BATTLE_OBJECT_GROUP_ANCHOR_NAME))
{
if (false == MetaData.Instance._BattleObjectSpawnGroupMetaTable.TryGetValue(table_id, out var battle_object_spawn_group_meta))
{
err_msg = $"_BattleObjectSpawnGroupMetaTable data Not Exist.... room_id : {map.m_room_id} anchor guid : {anchorGuid}, tableId : {table_id}";
result.setFail(ServerErrorCode.BattleInstanceObjectMetaNotExist, err_msg);
return (result, new(new BattleObjectMetaDataMutable()));
}
table_id = battle_object_spawn_group_meta.BattleObjectID;
}
if (false == MetaData.Instance._BattleObjectMetaTable.TryGetValue(table_id, out var battle_object_meta))
{
err_msg = $"_BattleObjectMetaTable data Not Exist.... room_id : {map.m_room_id} anchor guid : {anchorGuid}, tableId : {table_id}";
result.setFail(ServerErrorCode.BattleInstanceObjectMetaNotExist, err_msg);
return (result, new(new BattleObjectMetaDataMutable()));
}
return (result, battle_object_meta);
}
}