Example #1
0
        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();
                }
            }
        }
Example #4
0
        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));
        }
Example #5
0
    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);
        }
Example #7
0
        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));
        }
Example #10
0
        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 ) );
		}