public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadEncodedInt(); m_Artifacts = new StealableInstance[m_Entries.Length]; m_Table = new Dictionary <Item, StealableInstance>(m_Entries.Length); int length = reader.ReadEncodedInt(); for (int i = 0; i < length; i++) { Item item = reader.ReadItem(); DateTime nextRespawn = reader.ReadDeltaTime(); if (i < m_Artifacts.Length) { StealableInstance si = new StealableInstance(m_Entries[i], item, nextRespawn); m_Artifacts[i] = si; if (si.Item != null) { m_Table[si.Item] = si; } } } for (int i = length; i < m_Entries.Length; i++) { m_Artifacts[i] = new StealableInstance(m_Entries[i]); } m_RespawnTimer = Timer.DelayCall(TimeSpan.Zero, TimeSpan.FromMinutes(15.0), new TimerCallback(CheckRespawn)); }
public void CheckRespawn() { for (var index = 0; index < m_Artifacts.Length; index++) { StealableInstance si = m_Artifacts[index]; si.CheckRespawn(); } }
private static void StealArtiesForceRespawn_OnCommand(CommandEventArgs e) { if (Instance != null && Instance.m_Artifacts != null) { for (var index = 0; index < Instance.m_Artifacts.Length; index++) { StealableInstance instance = Instance.m_Artifacts[index]; instance.ForceRespawn(); } } }
private StealableArtifactsSpawner() : base(1) { Movable = false; m_Artifacts = new StealableInstance[m_Entries.Length]; m_Table = new Dictionary <Item, StealableInstance>(m_Entries.Length); for (int i = 0; i < m_Entries.Length; i++) { m_Artifacts[i] = new StealableInstance(m_Entries[i]); } m_RespawnTimer = Timer.DelayCall(TimeSpan.Zero, TimeSpan.FromMinutes(15.0), new TimerCallback(CheckRespawn)); }
private static void CreateStealableArtifacts() { _enabled = true; _artifacts = new StealableInstance[Entries.Length]; _table ??= new Dictionary <Item, StealableInstance>(Entries.Length); for (var i = 0; i < Entries.Length; i++) { _artifacts[i] = new StealableInstance(Entries[i]); } _respawnTimer = Timer.DelayCall(TimeSpan.Zero, TimeSpan.FromMinutes(15.0), CheckRespawn); }
private StealableArtifactsSpawner() : base(1) { Movable = false; m_Artifacts = new StealableInstance[Entries.Length]; m_Table = new Dictionary <Item, StealableInstance>(Entries.Length); for (var i = 0; i < Entries.Length; i++) { m_Artifacts[i] = new StealableInstance(Entries[i]); } _respawnTimer = Timer.DelayCall(TimeSpan.Zero, TimeSpan.FromMinutes(15.0), CheckRespawn); }
public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.WriteEncodedInt(0); // version writer.WriteEncodedInt(m_Artifacts.Length); for (int i = 0; i < m_Artifacts.Length; i++) { StealableInstance si = m_Artifacts[i]; writer.Write(si.Item); writer.WriteDeltaTime(si.NextRespawn); } }
public override void OnDelete() { base.OnDelete(); if (m_RespawnTimer != null) { m_RespawnTimer.Stop(); m_RespawnTimer = null; } for (var index = 0; index < m_Artifacts.Length; index++) { StealableInstance si = m_Artifacts[index]; if (si.Item != null) { si.Item.Delete(); } } m_Instance = null; }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadEncodedInt(); this.m_Artifacts = new StealableInstance[m_Entries.Length]; this.m_Table = new Hashtable(m_Entries.Length); int length = reader.ReadEncodedInt(); for (int i = 0; i < length; i++) { Item item = reader.ReadItem(); DateTime nextRespawn = reader.ReadDeltaTime(); if (i < this.m_Artifacts.Length) { StealableInstance si = new StealableInstance(m_Entries[i], item, nextRespawn); this.m_Artifacts[i] = si; if (si.Item != null) this.m_Table[si.Item] = si; } } for (int i = length; i < m_Entries.Length; i++) { this.m_Artifacts[i] = new StealableInstance(m_Entries[i]); } this.m_RespawnTimer = Timer.DelayCall(TimeSpan.Zero, TimeSpan.FromMinutes(15.0), new TimerCallback(CheckRespawn)); }
private StealableArtifactsSpawner() : base(1) { Name = "Stealable Artifacts Spawner - Internal"; Movable = false; m_Artifacts = new StealableInstance[m_Entries.Length]; m_Table = new Hashtable( m_Entries.Length ); for ( int i = 0; i < m_Entries.Length; i++ ) m_Artifacts[i] = new StealableInstance( m_Entries[i] ); m_RespawnTimer = Timer.DelayCall( TimeSpan.Zero, TimeSpan.FromMinutes( 15.0 ), new TimerCallback( CheckRespawn ) ); }
private StealableArtifactsSpawner() : base( 1 ) { Movable = false; m_Artifacts = new StealableInstance[m_Entries.Length]; m_Table = new Dictionary<Item, StealableInstance>( m_Entries.Length ); for ( int i = 0; i < m_Entries.Length; i++ ) { m_Artifacts[i] = new StealableInstance( m_Entries[i] ); } m_RespawnTimer = Timer.DelayCall( TimeSpan.Zero, TimeSpan.FromMinutes( 15.0 ), new TimerCallback( CheckRespawn ) ); }