Convert alot of methods to use TimeSpan.
This commit is contained in:
@@ -1035,7 +1035,7 @@ namespace Game.Entities
|
||||
Player player = caster.ToPlayer();
|
||||
if (player)
|
||||
if (player.IsDebugAreaTriggers)
|
||||
player.SummonCreature(1, this, TempSummonType.TimedDespawn, GetTimeToTarget());
|
||||
player.SummonCreature(1, this, TempSummonType.TimedDespawn, TimeSpan.FromMilliseconds(GetTimeToTarget()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1959,7 +1959,7 @@ namespace Game.Entities
|
||||
{
|
||||
if (timeMSToDespawn != 0)
|
||||
{
|
||||
m_Events.AddEvent(new ForcedDespawnDelayEvent(this, forceRespawnTimer), m_Events.CalculateTime(timeMSToDespawn));
|
||||
m_Events.AddEvent(new ForcedDespawnDelayEvent(this, forceRespawnTimer), m_Events.CalculateTime(TimeSpan.FromMilliseconds(timeMSToDespawn)));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2008,15 +2008,13 @@ namespace Game.Entities
|
||||
}
|
||||
}
|
||||
|
||||
public void DespawnOrUnsummon(TimeSpan time, TimeSpan forceRespawnTimer = default) { DespawnOrUnsummon((uint)time.TotalMilliseconds, forceRespawnTimer); }
|
||||
|
||||
public void DespawnOrUnsummon(uint msTimeToDespawn = 0, TimeSpan forceRespawnTimer = default)
|
||||
public void DespawnOrUnsummon(TimeSpan msTimeToDespawn = default, TimeSpan forceRespawnTimer = default)
|
||||
{
|
||||
TempSummon summon = ToTempSummon();
|
||||
if (summon != null)
|
||||
summon.UnSummon(msTimeToDespawn);
|
||||
summon.UnSummon((uint)msTimeToDespawn.TotalMilliseconds);
|
||||
else
|
||||
ForcedDespawn(msTimeToDespawn, forceRespawnTimer);
|
||||
ForcedDespawn((uint)msTimeToDespawn.TotalMilliseconds, forceRespawnTimer);
|
||||
}
|
||||
|
||||
public void LoadTemplateImmunities()
|
||||
@@ -2167,7 +2165,7 @@ namespace Game.Entities
|
||||
e.AddAssistant(assistList.First().GetGUID());
|
||||
assistList.Remove(assistList.First());
|
||||
}
|
||||
m_Events.AddEvent(e, m_Events.CalculateTime(WorldConfig.GetUIntValue(WorldCfg.CreatureFamilyAssistanceDelay)));
|
||||
m_Events.AddEvent(e, m_Events.CalculateTime(TimeSpan.FromMilliseconds(WorldConfig.GetUIntValue(WorldCfg.CreatureFamilyAssistanceDelay))));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3098,7 +3096,7 @@ namespace Game.Entities
|
||||
{
|
||||
return GetCreatureTemplate().FlagsExtra.HasAnyFlag(CreatureFlagsExtra.Guard);
|
||||
}
|
||||
bool IsCombatDisallowed()
|
||||
public bool IsCombatDisallowed()
|
||||
{
|
||||
return GetCreatureTemplate().FlagsExtra.HasFlag(CreatureFlagsExtra.NoCombat);
|
||||
}
|
||||
@@ -3404,7 +3402,7 @@ namespace Game.Entities
|
||||
}
|
||||
public override bool Execute(ulong e_time, uint p_time)
|
||||
{
|
||||
m_owner.DespawnOrUnsummon(0, m_respawnTimer); // since we are here, we are not TempSummon as object type cannot change during runtime
|
||||
m_owner.DespawnOrUnsummon(TimeSpan.Zero, m_respawnTimer); // since we are here, we are not TempSummon as object type cannot change during runtime
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -1415,7 +1415,7 @@ namespace Game.Entities
|
||||
return null;
|
||||
}
|
||||
|
||||
public TempSummon SummonCreature(uint entry, float x, float y, float z, float o = 0, TempSummonType despawnType = TempSummonType.ManualDespawn, uint despawnTime = 0, ObjectGuid privateObjectOwner = default)
|
||||
public TempSummon SummonCreature(uint entry, float x, float y, float z, float o = 0, TempSummonType despawnType = TempSummonType.ManualDespawn, TimeSpan despawnTime = default, ObjectGuid privateObjectOwner = default)
|
||||
{
|
||||
if (x == 0.0f && y == 0.0f && z == 0.0f)
|
||||
GetClosePoint(out x, out y, out z, GetCombatReach());
|
||||
@@ -1426,12 +1426,12 @@ namespace Game.Entities
|
||||
return SummonCreature(entry, new Position(x, y, z, o), despawnType, despawnTime, 0, 0, privateObjectOwner);
|
||||
}
|
||||
|
||||
public TempSummon SummonCreature(uint entry, Position pos, TempSummonType despawnType = TempSummonType.ManualDespawn, uint despawnTime = 0, uint vehId = 0, uint spellId = 0, ObjectGuid privateObjectOwner = default)
|
||||
public TempSummon SummonCreature(uint entry, Position pos, TempSummonType despawnType = TempSummonType.ManualDespawn, TimeSpan despawnTime = default, uint vehId = 0, uint spellId = 0, ObjectGuid privateObjectOwner = default)
|
||||
{
|
||||
Map map = GetMap();
|
||||
if (map != null)
|
||||
{
|
||||
TempSummon summon = map.SummonCreature(entry, pos, null, despawnTime, this, spellId, vehId, privateObjectOwner);
|
||||
TempSummon summon = map.SummonCreature(entry, pos, null, (uint)despawnTime.TotalMilliseconds, this, spellId, vehId, privateObjectOwner);
|
||||
if (summon != null)
|
||||
{
|
||||
summon.SetTempSummonType(despawnType);
|
||||
@@ -1442,12 +1442,12 @@ namespace Game.Entities
|
||||
return null;
|
||||
}
|
||||
|
||||
public TempSummon SummonPersonalClone(Position pos, TempSummonType despawnType = TempSummonType.ManualDespawn, uint despawnTime = 0, uint vehId = 0, uint spellId = 0, ObjectGuid privateObjectOwner = default)
|
||||
public TempSummon SummonPersonalClone(Position pos, TempSummonType despawnType = TempSummonType.ManualDespawn, TimeSpan despawnTime = default, uint vehId = 0, uint spellId = 0, ObjectGuid privateObjectOwner = default)
|
||||
{
|
||||
Map map = GetMap();
|
||||
if (map != null)
|
||||
{
|
||||
TempSummon summon = map.SummonCreature(GetEntry(), pos, null, despawnTime, this, spellId, vehId, privateObjectOwner);
|
||||
TempSummon summon = map.SummonCreature(GetEntry(), pos, null, (uint)despawnTime.TotalMilliseconds, this, spellId, vehId, privateObjectOwner);
|
||||
if (summon != null)
|
||||
{
|
||||
summon.SetTempSummonType(despawnType);
|
||||
@@ -1458,7 +1458,7 @@ namespace Game.Entities
|
||||
return null;
|
||||
}
|
||||
|
||||
public GameObject SummonGameObject(uint entry, float x, float y, float z, float ang, Quaternion rotation, uint respawnTime, GameObjectSummonType summonType = GameObjectSummonType.TimedOrCorpseDespawn)
|
||||
public GameObject SummonGameObject(uint entry, float x, float y, float z, float ang, Quaternion rotation, TimeSpan respawnTime, GameObjectSummonType summonType = GameObjectSummonType.TimedOrCorpseDespawn)
|
||||
{
|
||||
if (x == 0 && y == 0 && z == 0)
|
||||
{
|
||||
@@ -1470,7 +1470,7 @@ namespace Game.Entities
|
||||
return SummonGameObject(entry, pos, rotation, respawnTime, summonType);
|
||||
}
|
||||
|
||||
public GameObject SummonGameObject(uint entry, Position pos, Quaternion rotation, uint respawnTime, GameObjectSummonType summonType = GameObjectSummonType.TimedOrCorpseDespawn)
|
||||
public GameObject SummonGameObject(uint entry, Position pos, Quaternion rotation, TimeSpan respawnTime, GameObjectSummonType summonType = GameObjectSummonType.TimedOrCorpseDespawn)
|
||||
{
|
||||
if (!IsInWorld)
|
||||
return null;
|
||||
@@ -1489,7 +1489,7 @@ namespace Game.Entities
|
||||
|
||||
PhasingHandler.InheritPhaseShift(go, this);
|
||||
|
||||
go.SetRespawnTime((int)respawnTime);
|
||||
go.SetRespawnTime((int)respawnTime.TotalSeconds);
|
||||
if (IsPlayer() || (IsCreature() && summonType == GameObjectSummonType.TimedOrCorpseDespawn)) //not sure how to handle this
|
||||
ToUnit().AddGameObject(go);
|
||||
else
|
||||
@@ -1499,10 +1499,10 @@ namespace Game.Entities
|
||||
return go;
|
||||
}
|
||||
|
||||
public Creature SummonTrigger(float x, float y, float z, float ang, uint duration, CreatureAI AI = null)
|
||||
public Creature SummonTrigger(float x, float y, float z, float ang, TimeSpan despawnTime, CreatureAI AI = null)
|
||||
{
|
||||
TempSummonType summonType = (duration == 0) ? TempSummonType.DeadDespawn : TempSummonType.TimedDespawn;
|
||||
Creature summon = SummonCreature(SharedConst.WorldTrigger, x, y, z, ang, summonType, duration);
|
||||
TempSummonType summonType = (despawnTime == TimeSpan.Zero) ? TempSummonType.DeadDespawn : TempSummonType.TimedDespawn;
|
||||
Creature summon = SummonCreature(SharedConst.WorldTrigger, x, y, z, ang, summonType, despawnTime);
|
||||
if (summon == null)
|
||||
return null;
|
||||
|
||||
@@ -1535,7 +1535,7 @@ namespace Game.Entities
|
||||
|
||||
foreach (var tempSummonData in data)
|
||||
{
|
||||
TempSummon summon = SummonCreature(tempSummonData.entry, tempSummonData.pos, tempSummonData.type, tempSummonData.time);
|
||||
TempSummon summon = SummonCreature(tempSummonData.entry, tempSummonData.pos, tempSummonData.type, TimeSpan.FromMilliseconds(tempSummonData.time));
|
||||
if (summon)
|
||||
list.Add(summon);
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ namespace Game.Entities
|
||||
return;
|
||||
|
||||
player.GetMap().LoadGridForActiveObject(pos.GetPositionX(), pos.GetPositionY(), player);
|
||||
m_CinematicObject = player.SummonCreature(1, pos.posX, pos.posY, pos.posZ, 0.0f, TempSummonType.TimedDespawn, 5 * Time.Minute * Time.InMilliseconds);
|
||||
m_CinematicObject = player.SummonCreature(1, pos.posX, pos.posY, pos.posZ, 0.0f, TempSummonType.TimedDespawn, TimeSpan.FromMinutes(5));
|
||||
if (m_CinematicObject)
|
||||
{
|
||||
m_CinematicObject.SetActive(true);
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
using Framework.Constants;
|
||||
using Framework.Dynamic;
|
||||
using Game.DataStorage;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Game.Entities
|
||||
@@ -254,7 +255,7 @@ namespace Game.Entities
|
||||
{
|
||||
ForcedUnsummonDelayEvent pEvent = new(this);
|
||||
|
||||
m_Events.AddEvent(pEvent, m_Events.CalculateTime(msTime));
|
||||
m_Events.AddEvent(pEvent, m_Events.CalculateTime(TimeSpan.FromMilliseconds(msTime)));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ using Game.DataStorage;
|
||||
using Game.Groups;
|
||||
using Game.Networking.Packets;
|
||||
using Game.Spells;
|
||||
using System;
|
||||
|
||||
namespace Game.Entities
|
||||
{
|
||||
@@ -99,7 +100,7 @@ namespace Game.Entities
|
||||
{
|
||||
if (msTime != 0)
|
||||
{
|
||||
m_Events.AddEvent(new ForcedUnsummonDelayEvent(this), m_Events.CalculateTime(msTime));
|
||||
m_Events.AddEvent(new ForcedUnsummonDelayEvent(this), m_Events.CalculateTime(TimeSpan.FromMilliseconds(msTime)));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -279,7 +279,7 @@ namespace Game.Entities
|
||||
|
||||
Log.outDebug(LogFilter.Vehicle, "Vehicle ({0}, Entry {1}): installing accessory (Entry: {2}) on seat: {3}", _me.GetGUID().ToString(), GetCreatureEntry(), entry, seatId);
|
||||
|
||||
TempSummon accessory = _me.SummonCreature(entry, _me, (TempSummonType)type, summonTime);
|
||||
TempSummon accessory = _me.SummonCreature(entry, _me, (TempSummonType)type, TimeSpan.FromMilliseconds(summonTime));
|
||||
Cypher.Assert(accessory);
|
||||
|
||||
if (minion)
|
||||
@@ -310,7 +310,7 @@ namespace Game.Entities
|
||||
// exits the vehicle will dismiss. That's why the actual adding the passenger to the vehicle is scheduled
|
||||
// asynchronously, so it can be cancelled easily in case the vehicle is uninstalled meanwhile.
|
||||
VehicleJoinEvent e = new(this, unit);
|
||||
unit.m_Events.AddEvent(e, unit.m_Events.CalculateTime(0));
|
||||
unit.m_Events.AddEvent(e, unit.m_Events.CalculateTime(TimeSpan.Zero));
|
||||
|
||||
KeyValuePair<sbyte, VehicleSeat> seat = new();
|
||||
if (seatId < 0) // no specific seat requirement
|
||||
|
||||
Reference in New Issue
Block a user