Ejemplo n.º 1
0
        internal void CreateSuicideRobot(Vector2 pos)
        {
            SuicideRobot robot = new SuicideRobot(RobotSpriteSheet, emissionSpriteSheet, this, physicsWorld);

            robot.Position     = pos;
            robot.OnCollision += new OnCollisionEventHandler(SuicideRobot_OnCollision);
            gameObjects.Add(robot);
        }
Ejemplo n.º 2
0
        internal void CreateEnemies()
        {
            Random r = new Random();

            for (int i = 0; i < 8; i++)
            {
                Robot robot = new Robot(RobotSpriteSheet, this, physicsWorld);
                robot.Position = ConvertUnits.ToSimUnits(((i + 1) * 400) + r.NextDouble() * 200, 100 + r.NextDouble() * 200);
                gameObjects.Add(robot);
            }

            for (int i = 0; i < 8; i++)
            {
                SuicideRobot robot = new SuicideRobot(RobotSpriteSheet, emissionSpriteSheet, this, physicsWorld);
                robot.Position     = ConvertUnits.ToSimUnits(((i + 1) * 500) + r.NextDouble() * 200, 400 + r.NextDouble() * 100);
                robot.OnCollision += new OnCollisionEventHandler(SuicideRobot_OnCollision);
                gameObjects.Add(robot);
            }
        }
Ejemplo n.º 3
0
        //private void TryPlay(Song backgroundMusic)
        //{
        //    try
        //    {
        //        MediaPlayer.Play(backgroundMusic);
        //    }
        //    catch (Exception)
        //    {
        //        MediaPlayer.Play(backgroundMusic);
        //    }
        //}

        private Dictionary <Type, List <List <float> > > GetLevelDictFromGameObjects(List <IGameObject> gameObjects)
        {
            Dictionary <Type, List <List <float> > > objects = new Dictionary <Type, List <List <float> > >();

            foreach (IGameObject obj in gameObjects)
            {
                if (obj is Body)
                {
                    Body b = obj as Body;
                    if (b is Floor)
                    {
                        Floor f = b as Floor;
                        if (objects.ContainsKey(f.GetType()))
                        {
                            objects[f.GetType()].Add(new List <float>()
                            {
                                b.Position.X, b.Position.Y, b.Rotation
                            });
                        }
                        else
                        {
                            objects.Add(f.GetType(), new List <List <float> >());
                            objects[f.GetType()].Add(new List <float>()
                            {
                                b.Position.X, b.Position.Y, b.Rotation
                            });
                        }
                    }
                    else if (b is Wall)
                    {
                        Wall w = b as Wall;
                        if (objects.ContainsKey(w.GetType()))
                        {
                            objects[w.GetType()].Add(new List <float>()
                            {
                                b.Position.X, b.Position.Y, b.Rotation
                            });
                        }
                        else
                        {
                            objects.Add(w.GetType(), new List <List <float> >());
                            objects[w.GetType()].Add(new List <float>()
                            {
                                b.Position.X, b.Position.Y, b.Rotation
                            });
                        }
                    }
                    else if (b is Robot)
                    {
                        Robot r = b as Robot;
                        if (objects.ContainsKey(r.GetType()))
                        {
                            objects[r.GetType()].Add(new List <float>()
                            {
                                b.Position.X, b.Position.Y, b.Rotation
                            });
                        }
                        else
                        {
                            objects.Add(r.GetType(), new List <List <float> >());
                            objects[r.GetType()].Add(new List <float>()
                            {
                                b.Position.X, b.Position.Y, b.Rotation
                            });
                        };
                    }
                    else if (b is SuicideRobot)
                    {
                        SuicideRobot sr = b as SuicideRobot;
                        if (objects.ContainsKey(sr.GetType()))
                        {
                            objects[sr.GetType()].Add(new List <float>()
                            {
                                b.Position.X, b.Position.Y, b.Rotation
                            });
                        }
                        else
                        {
                            objects.Add(sr.GetType(), new List <List <float> >());
                            objects[sr.GetType()].Add(new List <float>()
                            {
                                b.Position.X, b.Position.Y, b.Rotation
                            });
                        }
                    }
                    else if (b is WinPoint)
                    {
                        WinPoint wp = b as WinPoint;
                        if (objects.ContainsKey(wp.GetType()))
                        {
                            objects[wp.GetType()].Add(new List <float>()
                            {
                                b.Position.X, b.Position.Y, b.Rotation
                            });
                        }
                        else
                        {
                            objects.Add(wp.GetType(), new List <List <float> >());
                            objects[wp.GetType()].Add(new List <float>()
                            {
                                b.Position.X, b.Position.Y, b.Rotation
                            });
                        }
                    }
                }
            }

            return(objects);
        }