Beispiel #1
0
        protected IEnumerable <AGameEvent> SpawnMob(long time)
        {
            var events = new List <AGameEvent>();

#if false
            // DEBUG
            //!! debug
            var t = _gameObjects.FindAll(m => m.ObjectType == AGameObject.EnumObjectType.Mob);
            if (t != null && t.Count > 1)
            {
                return new AGameEvent[] {}
            }
            ;
#endif
            if (_intervalToSpawn < 1)
            {
                // todo //!! rewrite!!
                _intervalToSpawn = Math.Max(3 * (long)Math.Exp(4.8f - _timerCounter / 4000f), 80);

                var mob = _spiderFactory.CreateMob();
                // System.Diagnostics.Trace.WriteLine("mob spawned" + mob.Id);

                _newObjects.Add(mob);
                events.Add(new NewObjectEvent(mob, time));
            }
            else
            {
                _intervalToSpawn--;
            }
            return(events);
        }