예제 #1
0
파일: World.cs 프로젝트: DowerX/CPUEngine
        public static void LoadWorld(string path)
        {
            string[] lines = File.ReadAllLines(path);
            foreach (string line in lines)
            {
                string[] parts = line.Split(" ".ToCharArray());

                try
                {
                    EngineOBJManager.OBJ temp = new EngineOBJManager.OBJ {
                        drawType = 1,
                        collider = new Rectangle(int.Parse(parts[1]), int.Parse(parts[2]), int.Parse(parts[3]), int.Parse(parts[4])),
                        garphics = new Rectangle(int.Parse(parts[1]), int.Parse(parts[2]), int.Parse(parts[3]), int.Parse(parts[4])),
                        angle    = int.Parse(parts[5]), tags = new List <string> {
                            parts[6]
                        }
                    };

                    EngineOBJManager.objects.Add(temp);
                    EnginePhysics.colliders.Add(temp);

                    if (parts[6] == "enemy")
                    {
                        enemys.Add(temp);
                    }
                }
                catch
                {
                    Console.WriteLine("Error while reading from file " + path + " .");
                }
            }
        }
예제 #2
0
        private static void CheckCollisions()
        {
            int left   = EnginePhysics.RectangleCollision(collLeft);
            int right  = EnginePhysics.RectangleCollision(collRight);
            int bottom = EnginePhysics.RectangleCollision(collBottom);
            int top    = EnginePhysics.RectangleCollision(collTop);

            if (left != -1)
            {
                EngineOBJManager.OBJ temp = EnginePhysics.colliders[left];
                if (temp.tags != null)
                {
                    if (temp.tags.Contains("point"))
                    {
                        points++;
                        Console.WriteLine("NEW POINT XD");
                        EngineOBJManager.objects.Remove(temp);
                        EnginePhysics.colliders.Remove(temp);
                    }
                    else if (temp.tags.Contains("enemy"))
                    {
                        Console.WriteLine("DEAD");
                    }
                }
            }

            if (right != -1)
            {
                EngineOBJManager.OBJ temp = EnginePhysics.colliders[right];
                if (temp.tags != null)
                {
                    if (temp.tags.Contains("point"))
                    {
                        points++;
                        Console.WriteLine("NEW POINT XD");
                        EngineOBJManager.objects.Remove(temp);
                        EnginePhysics.colliders.Remove(temp);
                    }
                    else if (temp.tags.Contains("enemy"))
                    {
                        Console.WriteLine("DEAD");
                    }
                }
            }

            if (top != -1)
            {
                EngineOBJManager.OBJ temp = EnginePhysics.colliders[top];
                if (temp.tags != null)
                {
                    if (temp.tags.Contains("point"))
                    {
                        points++;
                        Console.WriteLine("NEW POINT XD");
                        EngineOBJManager.objects.Remove(temp);
                        EnginePhysics.colliders.Remove(temp);
                    }
                    else if (temp.tags.Contains("enemy"))
                    {
                        Console.WriteLine("DEAD");
                    }
                }
            }

            if (bottom != -1)
            {
                EngineOBJManager.OBJ temp = EnginePhysics.colliders[bottom];
                if (temp.tags != null)
                {
                    if (temp.tags.Contains("point"))
                    {
                        points++;
                        Console.WriteLine("NEW POINT XD");
                        EngineOBJManager.objects.Remove(temp);
                        EnginePhysics.colliders.Remove(temp);
                    }
                    else if (temp.tags.Contains("enemy"))
                    {
                        EngineOBJManager.objects.Remove(temp);
                        EnginePhysics.colliders.Remove(temp);
                    }
                }
            }
        }