public void AddItem(bool Left) { switch (Engine.Singleton.HumanController.HUD.Category) { case HUD.InventoryCategory.WAYPOINT: WayPoint newWayPoint = new WayPoint(); newWayPoint.Position = AimPosition; newWayPoint.DisplayName = Engine.Singleton.CurrentLevel.Name + "_NEW_WP"; Engine.Singleton.ObjectManager.Add(newWayPoint); break; case HUD.InventoryCategory.DESCRIBED: Described newItem = new Described(InventoryItem); if (Left) { newItem.Position = AimPosition; } else { newItem.Position = Camera.Position; } if (!Engine.Singleton.HumanController.Gravity) { newItem.Body.SetMassMatrix(0, Vector3.ZERO); } Engine.Singleton.ObjectManager.Add(newItem); break; case HUD.InventoryCategory.CHARACTER: Character newCharacter = new Character(InventoryCharacter); if (Left) { newCharacter.Position = AimPosition; } else { newCharacter.Position = Camera.Position; } if (!Engine.Singleton.HumanController.Gravity) { newCharacter.Body.SetMassMatrix(0, Vector3.ZERO); } // Console.WriteLine(newCharacter.Position.ToString()); // Console.WriteLine(AimPosition.ToString()); // Console.WriteLine(Camera.Position.ToString()); Engine.Singleton.ObjectManager.Add(newCharacter); break; case HUD.InventoryCategory.ENEMY: Enemy newEnemy = new Enemy(InventoryCharacter); if (Left) { newEnemy.Position = AimPosition; } else { newEnemy.Position = Camera.Position; } if (!Engine.Singleton.HumanController.Gravity) { newEnemy.Body.SetMassMatrix(0, Vector3.ZERO); } // Console.WriteLine(newCharacter.Position.ToString()); // Console.WriteLine(AimPosition.ToString()); // Console.WriteLine(Camera.Position.ToString()); Engine.Singleton.ObjectManager.Add(newEnemy); break; } }
public void Load() { while (Engine.Singleton.ObjectManager.Objects.Count > 0) { Engine.Singleton.ObjectManager.Destroy(Engine.Singleton.ObjectManager.Objects[0]); } //*************************************************************// // // // ITEMY // // // //*************************************************************// if (System.IO.File.Exists("Media\\Maps\\" + CurrentLevel.Name + "\\Items.xml")) { XmlDocument File = new XmlDocument(); File.Load("Media\\Maps\\" + CurrentLevel.Name + "\\Items.xml"); XmlElement root = File.DocumentElement; XmlNodeList Items = root.SelectNodes("//items/item"); foreach (XmlNode item in Items) { if (item["DescribedProfile"].InnerText != "") { Described newDescribed = new Described(WorldCreator.Items.I[item["DescribedProfile"].InnerText]); Vector3 Position = new Vector3(); Quaternion Orientation = new Quaternion(float.Parse(item["Orientation_w"].InnerText), float.Parse(item["Orientation_x"].InnerText), float.Parse(item["Orientation_y"].InnerText), float.Parse(item["Orientation_z"].InnerText)); newDescribed.Orientation = Orientation; Position.x = float.Parse(item["Position_x"].InnerText); Position.y = float.Parse(item["Position_y"].InnerText); Position.z = float.Parse(item["Position_z"].InnerText); newDescribed.Position = Position; newDescribed.Activator = item["Activator"].InnerText; Engine.Singleton.ObjectManager.Add(newDescribed); } if (item["ItemSword"].InnerText != "") { Described newDescribed = new Described(WorldCreator.Items.I[item["ItemSword"].InnerText]); Vector3 Position = new Vector3(); Quaternion Orientation = new Quaternion(float.Parse(item["Orientation_w"].InnerText), float.Parse(item["Orientation_x"].InnerText), float.Parse(item["Orientation_y"].InnerText), float.Parse(item["Orientation_z"].InnerText)); newDescribed.Orientation = Orientation; Position.x = float.Parse(item["Position_x"].InnerText); Position.y = float.Parse(item["Position_y"].InnerText); Position.z = float.Parse(item["Position_z"].InnerText); newDescribed.Position = Position; newDescribed.Activator = item["Activator"].InnerText; Engine.Singleton.ObjectManager.Add(newDescribed); } } } //*************************************************************// // // // NPCs // // // //*************************************************************// if (System.IO.File.Exists("Media\\Maps\\" + CurrentLevel.Name + "\\NPCs.xml")) { XmlDocument File = new XmlDocument(); File.Load("Media\\Maps\\" + CurrentLevel.Name + "\\NPCs.xml"); XmlElement root = File.DocumentElement; XmlNodeList Items = root.SelectNodes("//npcs//npc"); foreach (XmlNode item in Items) { Character newCharacter = new Character(WorldCreator.CharacterProfileManager.C[item["ProfileName"].InnerText]); Vector3 Position = new Vector3(); Quaternion Orientation = new Quaternion(float.Parse(item["Orientation_w"].InnerText), float.Parse(item["Orientation_x"].InnerText), float.Parse(item["Orientation_y"].InnerText), float.Parse(item["Orientation_z"].InnerText)); newCharacter.Orientation = Orientation; Position.x = float.Parse(item["Position_x"].InnerText); Position.y = float.Parse(item["Position_y"].InnerText); Position.z = float.Parse(item["Position_z"].InnerText); newCharacter.Position = Position; Engine.Singleton.ObjectManager.Add(newCharacter); } } //*************************************************************// // // // ENEMIES // // // //*************************************************************// if (System.IO.File.Exists("Media\\Maps\\" + CurrentLevel.Name + "\\Enemies.xml")) { XmlDocument File = new XmlDocument(); File.Load("Media\\Maps\\" + CurrentLevel.Name + "\\Enemies.xml"); XmlElement root = File.DocumentElement; XmlNodeList Items = root.SelectNodes("//enemies//enemy"); foreach (XmlNode item in Items) { Enemy newCharacter = new Enemy(WorldCreator.CharacterProfileManager.E[item["ProfileName"].InnerText]); Vector3 Position = new Vector3(); Quaternion Orientation = new Quaternion(float.Parse(item["Orientation_w"].InnerText), float.Parse(item["Orientation_x"].InnerText), float.Parse(item["Orientation_y"].InnerText), float.Parse(item["Orientation_z"].InnerText)); newCharacter.Orientation = Orientation; Position.x = float.Parse(item["Position_x"].InnerText); Position.y = float.Parse(item["Position_y"].InnerText); Position.z = float.Parse(item["Position_z"].InnerText); newCharacter.Position = Position; Engine.Singleton.ObjectManager.Add(newCharacter); } } //*************************************************************// // // // WAYPOINTS // // // //*************************************************************// if (System.IO.File.Exists("Media\\Maps\\" + CurrentLevel.Name + "\\Waypoints.xml")) { XmlDocument File = new XmlDocument(); File.Load("Media\\Maps\\" + CurrentLevel.Name + "\\Waypoints.xml"); XmlElement root = File.DocumentElement; XmlNodeList Items = root.SelectNodes("//waypoints//waypoint"); foreach (XmlNode item in Items) { WayPoint newWP = new WayPoint(); newWP.DisplayName = item["DisplayName"].InnerText; Vector3 pos = new Vector3(float.Parse(item["Position_x"].InnerText), float.Parse(item["Position_y"].InnerText), float.Parse(item["Position_z"].InnerText)); newWP.Position = pos; Engine.Singleton.ObjectManager.Add(newWP); } } }