Core/Scenarios: Move map from InstanceScenario to base class

Port From (https://github.com/TrinityCore/TrinityCore/commit/b7f06c154c74549f2540a9f31aa37206d657e548)
This commit is contained in:
hondacrx
2023-07-18 07:57:39 -04:00
parent 8d1a496463
commit 8062fb3d5a
2 changed files with 10 additions and 18 deletions
+4 -15
View File
@@ -14,11 +14,8 @@ namespace Game.Scenarios
{
public class InstanceScenario : Scenario
{
public InstanceScenario(InstanceMap map, ScenarioData scenarioData) : base(scenarioData)
public InstanceScenario(InstanceMap map, ScenarioData scenarioData) : base(map, scenarioData)
{
_map = map;
//ASSERT(_map);
LoadInstanceData();
var players = map.GetPlayers();
@@ -28,7 +25,7 @@ namespace Game.Scenarios
void LoadInstanceData()
{
InstanceScript instanceScript = _map.GetInstanceScript();
InstanceScript instanceScript = _map.ToInstanceMap().GetInstanceScript();
if (instanceScript == null)
return;
@@ -105,15 +102,7 @@ namespace Game.Scenarios
public override void SendPacket(ServerPacket data)
{
//Hack todo fix me
if (_map == null)
{
return;
}
_map.SendToPlayers(data);
}
InstanceMap _map;
_map?.SendToPlayers(data);
}
}
}
+7 -4
View File
@@ -5,6 +5,7 @@ using Framework.Constants;
using Game.Achievements;
using Game.DataStorage;
using Game.Entities;
using Game.Maps;
using Game.Networking;
using Game.Networking.Packets;
using System;
@@ -14,8 +15,9 @@ namespace Game.Scenarios
{
public class Scenario : CriteriaHandler
{
public Scenario(ScenarioData scenarioData)
public Scenario(Map map, ScenarioData scenarioData)
{
_map = map;
_data = scenarioData;
_currentstep = null;
@@ -35,7 +37,7 @@ namespace Game.Scenarios
{
foreach (ObjectGuid guid in _players)
{
Player player = Global.ObjAccessor.FindPlayer(guid);
Player player = Global.ObjAccessor.GetPlayer(_map, guid);
if (player)
SendBootPlayer(player);
}
@@ -56,7 +58,7 @@ namespace Game.Scenarios
{
foreach (ObjectGuid guid in _players)
{
Player player = Global.ObjAccessor.FindPlayer(guid);
Player player = Global.ObjAccessor.GetPlayer(_map, guid);
if (player)
player.RewardQuest(quest, LootItemType.Item, 0, null, false);
}
@@ -219,7 +221,7 @@ namespace Game.Scenarios
{
foreach (ObjectGuid guid in _players)
{
Player player = Global.ObjAccessor.FindPlayer(guid);
Player player = Global.ObjAccessor.GetPlayer(_map, guid);
if (player)
player.SendPacket(data);
}
@@ -357,6 +359,7 @@ namespace Game.Scenarios
public override void AfterCriteriaTreeUpdate(CriteriaTree tree, Player referencePlayer) { }
public override void SendAllData(Player receiver) { }
protected Map _map;
List<ObjectGuid> _players = new();
protected ScenarioData _data;
ScenarioStepRecord _currentstep;