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
+3 -14
View File
@@ -14,11 +14,8 @@ namespace Game.Scenarios
{ {
public class InstanceScenario : Scenario 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(); LoadInstanceData();
var players = map.GetPlayers(); var players = map.GetPlayers();
@@ -28,7 +25,7 @@ namespace Game.Scenarios
void LoadInstanceData() void LoadInstanceData()
{ {
InstanceScript instanceScript = _map.GetInstanceScript(); InstanceScript instanceScript = _map.ToInstanceMap().GetInstanceScript();
if (instanceScript == null) if (instanceScript == null)
return; return;
@@ -105,15 +102,7 @@ namespace Game.Scenarios
public override void SendPacket(ServerPacket data) public override void SendPacket(ServerPacket data)
{ {
//Hack todo fix me _map?.SendToPlayers(data);
if (_map == null)
{
return;
}
_map.SendToPlayers(data);
} }
InstanceMap _map;
} }
} }
+7 -4
View File
@@ -5,6 +5,7 @@ using Framework.Constants;
using Game.Achievements; using Game.Achievements;
using Game.DataStorage; using Game.DataStorage;
using Game.Entities; using Game.Entities;
using Game.Maps;
using Game.Networking; using Game.Networking;
using Game.Networking.Packets; using Game.Networking.Packets;
using System; using System;
@@ -14,8 +15,9 @@ namespace Game.Scenarios
{ {
public class Scenario : CriteriaHandler public class Scenario : CriteriaHandler
{ {
public Scenario(ScenarioData scenarioData) public Scenario(Map map, ScenarioData scenarioData)
{ {
_map = map;
_data = scenarioData; _data = scenarioData;
_currentstep = null; _currentstep = null;
@@ -35,7 +37,7 @@ namespace Game.Scenarios
{ {
foreach (ObjectGuid guid in _players) foreach (ObjectGuid guid in _players)
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.GetPlayer(_map, guid);
if (player) if (player)
SendBootPlayer(player); SendBootPlayer(player);
} }
@@ -56,7 +58,7 @@ namespace Game.Scenarios
{ {
foreach (ObjectGuid guid in _players) foreach (ObjectGuid guid in _players)
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.GetPlayer(_map, guid);
if (player) if (player)
player.RewardQuest(quest, LootItemType.Item, 0, null, false); player.RewardQuest(quest, LootItemType.Item, 0, null, false);
} }
@@ -219,7 +221,7 @@ namespace Game.Scenarios
{ {
foreach (ObjectGuid guid in _players) foreach (ObjectGuid guid in _players)
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.GetPlayer(_map, guid);
if (player) if (player)
player.SendPacket(data); player.SendPacket(data);
} }
@@ -357,6 +359,7 @@ namespace Game.Scenarios
public override void AfterCriteriaTreeUpdate(CriteriaTree tree, Player referencePlayer) { } public override void AfterCriteriaTreeUpdate(CriteriaTree tree, Player referencePlayer) { }
public override void SendAllData(Player receiver) { } public override void SendAllData(Player receiver) { }
protected Map _map;
List<ObjectGuid> _players = new(); List<ObjectGuid> _players = new();
protected ScenarioData _data; protected ScenarioData _data;
ScenarioStepRecord _currentstep; ScenarioStepRecord _currentstep;