public byte[] GetEventGuidById(int in_ID) { for (int i = 0; i < AkWwiseProjectInfo.GetData().EventWwu.Count; i++) { AkWwiseProjectData.Event e = AkWwiseProjectInfo.GetData().EventWwu[i].List.Find(x => x.ID == in_ID); if (e != null) { return(e.Guid); } } return(null); }
public override string UpdateIds(Guid[] in_guid) { for (int i = 0; i < AkWwiseProjectInfo.GetData().EventWwu.Count; i++) { AkWwiseProjectData.Event e = AkWwiseProjectInfo.GetData().EventWwu[i].List.Find(x => new Guid(x.Guid).Equals(in_guid[0])); if (e != null) { eventID.intValue = e.ID; serializedObject.ApplyModifiedProperties(); return(e.Name); } } return(string.Empty); }
static void AddElementToList(string in_currentPathInProj, XmlReader in_reader, AssetType in_type, LinkedList <AkWwiseProjectData.PathElement> in_pathAndIcons, int in_wwuIndex) { if (in_type.RootDirectoryName == "Events" || in_type.RootDirectoryName == "Master-Mixer Hierarchy" || in_type.RootDirectoryName == "SoundBanks") { AkWwiseProjectData.Event valueToAdd = new AkWwiseProjectData.Event(); valueToAdd.Name = in_reader.GetAttribute("Name"); valueToAdd.Guid = new Guid(in_reader.GetAttribute("ID")).ToByteArray(); valueToAdd.ID = (int)AkUtilities.ShortIDGenerator.Compute(valueToAdd.Name); valueToAdd.Path = in_type.RootDirectoryName == "Master-Mixer Hierarchy" ? in_currentPathInProj : Path.Combine(in_currentPathInProj, valueToAdd.Name); valueToAdd.PathAndIcons = new List <AkWwiseProjectData.PathElement>(in_pathAndIcons); if (in_type.RootDirectoryName == "Events") { valueToAdd.PathAndIcons.Add(new AkWwiseProjectData.PathElement(valueToAdd.Name, AkWwiseProjectData.WwiseObjectType.EVENT)); AkWwiseProjectInfo.GetData().EventWwu[in_wwuIndex].List.Add(valueToAdd); } else if (in_type.RootDirectoryName == "SoundBanks") { valueToAdd.PathAndIcons.Add(new AkWwiseProjectData.PathElement(valueToAdd.Name, AkWwiseProjectData.WwiseObjectType.SOUNDBANK)); AkWwiseProjectInfo.GetData().BankWwu[in_wwuIndex].List.Add(valueToAdd); } else { AkWwiseProjectInfo.GetData().AuxBusWwu[in_wwuIndex].List.Add(valueToAdd); } in_reader.Read(); } else if (in_type.RootDirectoryName == "States" || in_type.RootDirectoryName == "Switches") { var XmlElement = XNode.ReadFrom(in_reader) as XElement; AkWwiseProjectData.GroupValue valueToAdd = new AkWwiseProjectData.GroupValue(); AkWwiseProjectData.WwiseObjectType SubElemIcon; valueToAdd.Name = XmlElement.Attribute("Name").Value; valueToAdd.Guid = new Guid(XmlElement.Attribute("ID").Value).ToByteArray(); valueToAdd.ID = (int)AkUtilities.ShortIDGenerator.Compute(valueToAdd.Name); valueToAdd.Path = Path.Combine(in_currentPathInProj, valueToAdd.Name); valueToAdd.PathAndIcons = new List <AkWwiseProjectData.PathElement>(in_pathAndIcons); if (in_type.RootDirectoryName == "States") { SubElemIcon = AkWwiseProjectData.WwiseObjectType.STATE; valueToAdd.PathAndIcons.Add(new AkWwiseProjectData.PathElement(valueToAdd.Name, AkWwiseProjectData.WwiseObjectType.STATEGROUP)); } else { SubElemIcon = AkWwiseProjectData.WwiseObjectType.SWITCH; valueToAdd.PathAndIcons.Add(new AkWwiseProjectData.PathElement(valueToAdd.Name, AkWwiseProjectData.WwiseObjectType.SWITCHGROUP)); } XName ChildrenList = XName.Get("ChildrenList"); XName ChildElem = XName.Get(in_type.ChildElementName); XElement ChildrenElement = XmlElement.Element(ChildrenList); if (ChildrenElement != null) { foreach (var element in ChildrenElement.Elements(ChildElem)) { if (element.Name == in_type.ChildElementName) { string elementName = element.Attribute("Name").Value; valueToAdd.values.Add(elementName); valueToAdd.ValueGuids.Add(new AkWwiseProjectData.ByteArrayWrapper(new Guid(element.Attribute("ID").Value).ToByteArray())); valueToAdd.valueIDs.Add((int)AkUtilities.ShortIDGenerator.Compute(elementName)); valueToAdd.ValueIcons.Add(new AkWwiseProjectData.PathElement(elementName, SubElemIcon)); } } } if (in_type.RootDirectoryName == "States") { AkWwiseProjectInfo.GetData().StateWwu[in_wwuIndex].List.Add(valueToAdd); } else { AkWwiseProjectInfo.GetData().SwitchWwu[in_wwuIndex].List.Add(valueToAdd); } } else { Debug.LogError("WwiseUnity: Unknown asset type in WWU parser"); } }
static void AddElementToList(string in_currentPathInProj, XmlReader in_reader, AssetType in_type, LinkedList<AkWwiseProjectData.PathElement> in_pathAndIcons, int in_wwuIndex) { if (in_type.RootDirectoryName == "Events" || in_type.RootDirectoryName == "Master-Mixer Hierarchy" || in_type.RootDirectoryName == "SoundBanks") { AkWwiseProjectData.Event valueToAdd = new AkWwiseProjectData.Event(); valueToAdd.Name = in_reader.GetAttribute("Name"); valueToAdd.Guid = new Guid(in_reader.GetAttribute("ID")).ToByteArray(); valueToAdd.ID = (int)AkUtilities.ShortIDGenerator.Compute(valueToAdd.Name); valueToAdd.Path = in_type.RootDirectoryName == "Master-Mixer Hierarchy" ? in_currentPathInProj : Path.Combine(in_currentPathInProj, valueToAdd.Name); valueToAdd.PathAndIcons = new List<AkWwiseProjectData.PathElement>(in_pathAndIcons); if (in_type.RootDirectoryName == "Events") { valueToAdd.PathAndIcons.Add(new AkWwiseProjectData.PathElement(valueToAdd.Name, AkWwiseProjectData.WwiseObjectType.EVENT)); AkWwiseProjectInfo.GetData().EventWwu[in_wwuIndex].List.Add(valueToAdd); } else if (in_type.RootDirectoryName == "SoundBanks") { valueToAdd.PathAndIcons.Add(new AkWwiseProjectData.PathElement(valueToAdd.Name, AkWwiseProjectData.WwiseObjectType.SOUNDBANK)); AkWwiseProjectInfo.GetData().BankWwu[in_wwuIndex].List.Add(valueToAdd); } else { AkWwiseProjectInfo.GetData().AuxBusWwu[in_wwuIndex].List.Add(valueToAdd); } in_reader.Read(); } else if (in_type.RootDirectoryName == "States" || in_type.RootDirectoryName == "Switches") { var XmlElement = XNode.ReadFrom(in_reader) as XElement; AkWwiseProjectData.GroupValue valueToAdd = new AkWwiseProjectData.GroupValue(); AkWwiseProjectData.WwiseObjectType SubElemIcon; valueToAdd.Name = XmlElement.Attribute("Name").Value; valueToAdd.Guid = new Guid(XmlElement.Attribute("ID").Value).ToByteArray(); valueToAdd.ID = (int)AkUtilities.ShortIDGenerator.Compute(valueToAdd.Name); valueToAdd.Path = Path.Combine(in_currentPathInProj, valueToAdd.Name); valueToAdd.PathAndIcons = new List<AkWwiseProjectData.PathElement>(in_pathAndIcons); if (in_type.RootDirectoryName == "States") { SubElemIcon = AkWwiseProjectData.WwiseObjectType.STATE; valueToAdd.PathAndIcons.Add(new AkWwiseProjectData.PathElement(valueToAdd.Name, AkWwiseProjectData.WwiseObjectType.STATEGROUP)); } else { SubElemIcon = AkWwiseProjectData.WwiseObjectType.SWITCH; valueToAdd.PathAndIcons.Add(new AkWwiseProjectData.PathElement(valueToAdd.Name, AkWwiseProjectData.WwiseObjectType.SWITCHGROUP)); } XName ChildrenList = XName.Get("ChildrenList"); XName ChildElem = XName.Get(in_type.ChildElementName); XElement ChildrenElement = XmlElement.Element(ChildrenList); if (ChildrenElement != null) { foreach (var element in ChildrenElement.Elements(ChildElem)) { if (element.Name == in_type.ChildElementName) { string elementName = element.Attribute("Name").Value; valueToAdd.values.Add(elementName); valueToAdd.ValueGuids.Add(new AkWwiseProjectData.ByteArrayWrapper( new Guid(element.Attribute("ID").Value).ToByteArray())); valueToAdd.valueIDs.Add((int)AkUtilities.ShortIDGenerator.Compute(elementName)); valueToAdd.ValueIcons.Add(new AkWwiseProjectData.PathElement(elementName, SubElemIcon)); } } } if (in_type.RootDirectoryName == "States") { AkWwiseProjectInfo.GetData().StateWwu[in_wwuIndex].List.Add(valueToAdd); } else { AkWwiseProjectInfo.GetData().SwitchWwu[in_wwuIndex].List.Add(valueToAdd); } } else { Debug.LogError("WwiseUnity: Unknown asset type in WWU parser"); } }
private static void AddElementToList(string in_currentPathInProj, System.Xml.XmlReader in_reader, AssetType in_type, System.Collections.Generic.LinkedList <AkWwiseProjectData.PathElement> in_pathAndIcons, int in_wwuIndex) { if (in_type.RootDirectoryName == "Events" || in_type.RootDirectoryName == "Master-Mixer Hierarchy" || in_type.RootDirectoryName == "SoundBanks" || in_type.RootDirectoryName == "Game Parameters" || in_type.RootDirectoryName == "Triggers" || in_type.RootDirectoryName == "Virtual Acoustics") { var valueToAdd = new AkWwiseProjectData.Event(); valueToAdd.Name = in_reader.GetAttribute("Name"); valueToAdd.Guid = new System.Guid(in_reader.GetAttribute("ID")).ToByteArray(); valueToAdd.ID = (int)AkUtilities.ShortIDGenerator.Compute(valueToAdd.Name); valueToAdd.PathAndIcons = new System.Collections.Generic.List <AkWwiseProjectData.PathElement>(in_pathAndIcons); switch (in_type.RootDirectoryName) { case "Events": valueToAdd.Path = System.IO.Path.Combine(in_currentPathInProj, valueToAdd.Name); valueToAdd.PathAndIcons.Add( new AkWwiseProjectData.PathElement(valueToAdd.Name, AkWwiseProjectData.WwiseObjectType.EVENT)); AkWwiseProjectInfo.GetData().EventWwu[in_wwuIndex].List.Add(valueToAdd); break; case "SoundBanks": valueToAdd.Path = System.IO.Path.Combine(in_currentPathInProj, valueToAdd.Name); valueToAdd.PathAndIcons.Add( new AkWwiseProjectData.PathElement(valueToAdd.Name, AkWwiseProjectData.WwiseObjectType.SOUNDBANK)); AkWwiseProjectInfo.GetData().BankWwu[in_wwuIndex].List.Add(valueToAdd); break; case "Master-Mixer Hierarchy": valueToAdd.Path = in_currentPathInProj; AkWwiseProjectInfo.GetData().AuxBusWwu[in_wwuIndex].List.Add(valueToAdd); break; case "Game Parameters": valueToAdd.Path = System.IO.Path.Combine(in_currentPathInProj, valueToAdd.Name); valueToAdd.PathAndIcons.Add( new AkWwiseProjectData.PathElement(valueToAdd.Name, AkWwiseProjectData.WwiseObjectType.GAMEPARAMETER)); AkWwiseProjectInfo.GetData().RtpcWwu[in_wwuIndex].List.Add(valueToAdd); break; case "Triggers": valueToAdd.Path = System.IO.Path.Combine(in_currentPathInProj, valueToAdd.Name); valueToAdd.PathAndIcons.Add( new AkWwiseProjectData.PathElement(valueToAdd.Name, AkWwiseProjectData.WwiseObjectType.TRIGGER)); AkWwiseProjectInfo.GetData().TriggerWwu[in_wwuIndex].List.Add(valueToAdd); break; case "Virtual Acoustics": valueToAdd.Path = System.IO.Path.Combine(in_currentPathInProj, valueToAdd.Name); valueToAdd.PathAndIcons.Add(new AkWwiseProjectData.PathElement(valueToAdd.Name, AkWwiseProjectData.WwiseObjectType.ACOUSTICTEXTURE)); AkWwiseProjectInfo.GetData().AcousticTextureWwu[in_wwuIndex].List.Add(valueToAdd); break; } in_reader.Read(); } else if (in_type.RootDirectoryName == "States" || in_type.RootDirectoryName == "Switches") { var XmlElement = System.Xml.Linq.XNode.ReadFrom(in_reader) as System.Xml.Linq.XElement; var valueToAdd = new AkWwiseProjectData.GroupValue(); AkWwiseProjectData.WwiseObjectType SubElemIcon; valueToAdd.Name = XmlElement.Attribute("Name").Value; valueToAdd.Guid = new System.Guid(XmlElement.Attribute("ID").Value).ToByteArray(); valueToAdd.ID = (int)AkUtilities.ShortIDGenerator.Compute(valueToAdd.Name); valueToAdd.Path = System.IO.Path.Combine(in_currentPathInProj, valueToAdd.Name); valueToAdd.PathAndIcons = new System.Collections.Generic.List <AkWwiseProjectData.PathElement>(in_pathAndIcons); if (in_type.RootDirectoryName == "States") { SubElemIcon = AkWwiseProjectData.WwiseObjectType.STATE; valueToAdd.PathAndIcons.Add( new AkWwiseProjectData.PathElement(valueToAdd.Name, AkWwiseProjectData.WwiseObjectType.STATEGROUP)); } else { SubElemIcon = AkWwiseProjectData.WwiseObjectType.SWITCH; valueToAdd.PathAndIcons.Add( new AkWwiseProjectData.PathElement(valueToAdd.Name, AkWwiseProjectData.WwiseObjectType.SWITCHGROUP)); } var ChildrenList = System.Xml.Linq.XName.Get("ChildrenList"); var ChildElem = System.Xml.Linq.XName.Get(in_type.ChildElementName); var ChildrenElement = XmlElement.Element(ChildrenList); if (ChildrenElement != null) { foreach (var element in ChildrenElement.Elements(ChildElem)) { if (element.Name == in_type.ChildElementName) { var elementName = element.Attribute("Name").Value; valueToAdd.values.Add(elementName); valueToAdd.ValueGuids.Add( new AkWwiseProjectData.ByteArrayWrapper(new System.Guid(element.Attribute("ID").Value).ToByteArray())); valueToAdd.valueIDs.Add((int)AkUtilities.ShortIDGenerator.Compute(elementName)); valueToAdd.ValueIcons.Add(new AkWwiseProjectData.PathElement(elementName, SubElemIcon)); } } } if (in_type.RootDirectoryName == "States") { AkWwiseProjectInfo.GetData().StateWwu[in_wwuIndex].List.Add(valueToAdd); } else { AkWwiseProjectInfo.GetData().SwitchWwu[in_wwuIndex].List.Add(valueToAdd); } } else { UnityEngine.Debug.LogError("WwiseUnity: Unknown asset type in WWU parser"); } }