示例#1
0
    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);
    }
示例#2
0
    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);
    }
示例#3
0
    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");
		}
	}    
示例#5
0
    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");
        }
    }