Exemple #1
0
 public virtual void StillActive(Character ch, bool noRespawn)
 {
     if (!IsStillActive && !noRespawn)
     {
         //	ch.SendMessage( "Respawn " + this.Name );
         spawnerTimer = new SpawnerTimer(this);
         //	Make a tick when activate
         OnTick();
     }
     lastTime = DateTime.Now;
     //LastSeen = from;
 }
 public override void StillActive(Character ch, bool noRespawn)
 {
     if (CurrentAmount >= this.Amount)
     {
         return;
     }
     if (!IsStillActive && !noRespawn)
     {
         spawnerTimer = new SpawnerTimer(this);
         //	Make a tick when activate
         OnTick();
     }
     lastTime = DateTime.Now;
 }
Exemple #3
0
        private void RestartGame()
        {
            winLabel.Visible = false;

            player.Left = this.ClientSize.Width / 2;
            player.Top  = this.ClientSize.Height - 33;

            score = 100.0;

            if (isGameFinished)
            {
                isGameFinished = false;
            }

            SpawnerTimer.Start();
            GameTimer.Start();
        }
Exemple #4
0
        public TPSpawner()
            : base(0xF6C) // 0xF6C = Moongate, 0x1f13 = Generic Spawner
        {
            Visible = false;
            Movable = false;
            Hue     = 1175;

            m_Active        = false;
            m_Creatures     = new List <IEntity>();
            m_CreaturesName = new List <string>();
            m_CurrLvl       = 1;
            m_HomeRange     = 5;
            m_LevelAmt      = 3;
            m_Levels        = new List <ProgressionLevel>();
            m_PlayerRange   = 10;
            m_RechargeDelay = DateTime.Now;
            m_RechargeTime  = new TimeSpan(0, 1, 0);
            m_SpawnStarted  = false;
            m_Timer         = new SpawnerTimer(this);
            m_UseRitual     = false;
            m_WalkingRange  = -1;
        }
Exemple #5
0
        private void SetupBoard(object sender, EventArgs e)
        {
            GameTimer.Start();
            SpawnerTimer.Start();

            int i = 0;

            foreach (Control x in this.Controls)
            {
                if ((string)x.Tag == "enemy" || (string)x.Tag == "leaf")
                {
                    if (i % 2 == 0)
                    {
                        movableObjs[i] = new MovableObj(this.ClientSize.Width, (PictureBox)x, 1);
                    }
                    else
                    {
                        movableObjs[i] = new MovableObj(this.ClientSize.Width, (PictureBox)x, -1);
                    }

                    i++;
                }
            }
        }
Exemple #6
0
		public void DoTimer( TimeSpan delay )
		{
			if( !m_Running )
				return;

			m_End = DateTime.Now + delay;

			if( m_Timer != null )
				m_Timer.Stop();

			m_Timer = new SpawnerTimer( this, delay );
			m_Timer.Start();
		}
Exemple #7
0
        /// <summary>
        /// Loads the object
        /// </summary>
        /// <param name="reader"></param>
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            m_Active        = reader.ReadBool();
            m_CurrLvl       = reader.ReadInt();
            m_HomeRange     = reader.ReadInt();
            m_LevelAmt      = reader.ReadInt();
            m_PlayerRange   = reader.ReadInt();
            m_RechargeDelay = reader.ReadDateTime();
            m_RechargeTime  = reader.ReadTimeSpan();
            m_SpawnStarted  = reader.ReadBool();
            m_UseRitual     = reader.ReadBool();
            m_WalkingRange  = reader.ReadInt();
            m_WaveStarted   = reader.ReadBool();

            int size = reader.ReadInt();

            m_CreaturesName = new List <string>();
            for (int i = 0; i < size; ++i)
            {
                string typeName = reader.ReadString();
                m_CreaturesName.Add(typeName);
            }

            int count = reader.ReadInt();

            m_Creatures = new List <IEntity>();
            for (int i = 0; i < count; ++i)
            {
                IEntity e = World.FindEntity(reader.ReadInt());
                if (e != null)
                {
                    m_Creatures.Add(e);
                }
            }

            // Hack to load the progression level info
            m_Levels = new List <ProgressionLevel>();
            int amt = reader.ReadInt();

            for (int i = 0; i < amt; i++)
            {
                ProgressionLevel lvl = new ProgressionLevel();
                lvl.Load(reader);
                m_Levels.Add(lvl);
            }

            m_Timer = new SpawnerTimer(this);
            if (m_Active && !m_UseRitual)
            {
                m_Timer.Start();
            }

            DateTime recupe = reader.ReadDateTime();

            if (recupe > DateTime.Now)
            {
                m_RecupeTimer = new RecupeTimer(recupe.Subtract(DateTime.Now), this);
            }

            DateTime limit = reader.ReadDateTime();

            if (limit > DateTime.Now)
            {
                m_TimeLimit = new LimitTimer(limit.Subtract(DateTime.Now), this);
            }
        }
Exemple #8
0
        /// <summary>
        /// Loads the object
        /// </summary>
        /// <param name="reader"></param>
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            m_Active = reader.ReadBool();
            m_CurrLvl = reader.ReadInt();
            m_HomeRange = reader.ReadInt();
            m_LevelAmt = reader.ReadInt();
            m_PlayerRange = reader.ReadInt();
            m_RechargeDelay = reader.ReadDateTime();
            m_RechargeTime = reader.ReadTimeSpan();
            m_SpawnStarted = reader.ReadBool();
            m_UseRitual = reader.ReadBool();
            m_WalkingRange = reader.ReadInt();
            m_WaveStarted = reader.ReadBool();

            int size = reader.ReadInt();
            m_CreaturesName = new List<string>();
            for (int i = 0; i < size; ++i)
            {
                string typeName = reader.ReadString();
                m_CreaturesName.Add(typeName);
            }

            int count = reader.ReadInt();
            m_Creatures = new List<IEntity>();
            for (int i = 0; i < count; ++i)
            {
                IEntity e = World.FindEntity(reader.ReadInt());
                if (e != null)
                    m_Creatures.Add(e);
            }

            // Hack to load the progression level info
            m_Levels = new List<ProgressionLevel>();
            int amt = reader.ReadInt();
            for (int i = 0; i < amt; i++)
            {
                ProgressionLevel lvl = new ProgressionLevel();
                lvl.Load(reader);
                m_Levels.Add(lvl);
            }

            m_Timer = new SpawnerTimer(this);
            if (m_Active && !m_UseRitual)
                m_Timer.Start();

            DateTime recupe = reader.ReadDateTime();
            if (recupe > DateTime.Now)
                m_RecupeTimer = new RecupeTimer(recupe.Subtract(DateTime.Now),this);

            DateTime limit = reader.ReadDateTime();
            if (limit > DateTime.Now)
                m_TimeLimit = new LimitTimer(limit.Subtract(DateTime.Now), this);
        }
Exemple #9
0
        public TPSpawner()
            : base(0xF6C)
        {
            Visible = false;
            Movable = false;
            Hue = 1175;

            m_Active = false;
            m_Creatures = new List<IEntity>();
            m_CreaturesName = new List<string>();
            m_CurrLvl = 1;
            m_HomeRange = 5;
            m_LevelAmt = 3;
            m_Levels = new List<ProgressionLevel>();
            m_PlayerRange = 10;
            m_RechargeDelay = DateTime.Now;
            m_RechargeTime = new TimeSpan(0, 1, 0);
            m_SpawnStarted = false;
            m_Timer = new SpawnerTimer(this);
            m_UseRitual = false;
            m_WalkingRange = -1;
        }
Exemple #10
0
        private async void MainGameTimerEvent(object sender, EventArgs e)
        {
            onLeaf = false;

            foreach (Control x in this.Controls)
            {
                if (x is PictureBox)
                {
                    if (player.Bounds.IntersectsWith(x.Bounds))
                    {
                        if ((string)x.Tag == "enemy")
                        {
                            RestartGame();
                        }

                        if ((string)x.Tag == "leaf" || (string)x.Tag == "ground")
                        {
                            if (!onLeaf)
                            {
                                onLeaf = true;
                            }
                        }

                        if ((string)x.Tag == "water")
                        {
                            if (!onLeaf)
                            {
                                RestartGame();
                            }
                        }

                        if ((string)x.Tag == "slowTime")
                        {
                            this.Controls.Remove(x);
                            MS_PER_FRAME = TimeSpan.FromMilliseconds(2.0 / 60.0 * 10000.0);
                            await Task.Delay(4000);

                            MS_PER_FRAME = TimeSpan.FromMilliseconds(1.0 / 60.0 * 10000.0);
                        }

                        if ((string)x.Tag == "addToScore")
                        {
                            this.Controls.Remove(x);
                            score += 5;
                        }

                        if (x.Name == "finishLine")
                        {
                            isGameFinished = true;

                            GameTimer.Stop();
                            SpawnerTimer.Stop();

                            winLabel.Visible = true;
                            winLabel.BringToFront();

                            winLabel.Text = "You won!" + Environment.NewLine + "Score: " + String.Format("{0:0.00}", score)
                                            + Environment.NewLine + "Press [ESC] to restart.";
                        }
                    }
                }
            }
        }
        public void Stop()
        {
            if (m_Timer != null)
            {
                m_Timer.Stop();
            }

            m_Timer = null;

            Despawn();
        }
 public void Start()
 {
     m_Timer = new SpawnerTimer(this, TimeSystem.Support.GetRandom(m_MinDelay, m_MaxDelay));
     m_Timer.Start();
 }
Exemple #13
0
 public override void StillActive( Character ch, bool noRespawn )
 {
     if ( CurrentAmount > 0 )
         return;
     if ( !IsStillActive && !noRespawn )
     {
         spawnerTimer = new SpawnerTimer( this );
         //	Make a tick when activate
         OnTick();
     }
     lastTime = DateTime.Now;
 }
Exemple #14
0
 public virtual void StillActive( Character ch, bool noRespawn )
 {
     if ( !IsStillActive && !noRespawn )
     {
     //	ch.SendMessage( "Respawn " + this.Name );
         spawnerTimer = new SpawnerTimer( this );
         //	Make a tick when activate
         OnTick();
     }
     lastTime = DateTime.Now;
     //LastSeen = from;
 }