Exemple #1
0
 public int GetStarredParameterNumber(ZoiaStarredParameter starredParameter)
 {
     return(StarredParameterList.IndexOf(starredParameter));
 }
Exemple #2
0
        public void ParseData()
        {
            int dataSizeUnit = 4;

            PresetSize = BitConverter.ToInt32(PatchData, 0);
            PresetName = Encoding.UTF8.GetString(PatchData, 4, 16);
            int numberOfModules = BitConverter.ToInt32(PatchData, 20);

            int dataPosition = 24;

            for (int moduleNumber = 0; moduleNumber < numberOfModules; moduleNumber++)
            {
                int    moduleSize = BitConverter.ToInt32(PatchData, dataPosition) * dataSizeUnit;
                byte[] moduleData = new byte[moduleSize];
                Array.Copy(PatchData, dataPosition, moduleData, 0, moduleSize);
                ModuleList.Add(new ZoiaModule(moduleData, FormatDictionary));
                dataPosition += moduleSize;
            }

            int numberOfConnections = BitConverter.ToInt32(PatchData, dataPosition);

            dataPosition += dataSizeUnit;
            int connectionSize = 20;

            for (int connectionNumber = 0; connectionNumber < numberOfConnections; connectionNumber++)
            {
                byte[] connectionData = new byte[connectionSize];
                Array.Copy(PatchData, dataPosition, connectionData, 0, connectionSize);
                this.ConnectionList.Add(new ZoiaConnection(connectionData));
                dataPosition += connectionSize;
            }

            int numberOfPages = BitConverter.ToInt32(PatchData, dataPosition);

            dataPosition += dataSizeUnit;
            int pageSize = 16;

            for (int pageNumber = 0; pageNumber < numberOfPages; pageNumber++)
            {
                string pageName = Encoding.UTF8.GetString(PatchData, dataPosition, pageSize);
                PageList.Add(pageName);
                dataPosition += pageSize;
            }

            int starredParameterCount = BitConverter.ToInt32(PatchData, dataPosition);

            dataPosition += dataSizeUnit;
            int starredParameterSize = 4;

            for (int starredParameterNumber = 0; starredParameterNumber < starredParameterCount; starredParameterNumber++)
            {
                byte[] starredParameterData = new byte[starredParameterSize];
                Array.Copy(PatchData, dataPosition, starredParameterData, 0, starredParameterSize);
                StarredParameterList.Add(new ZoiaStarredParameter(starredParameterData));
                dataPosition += starredParameterSize;
            }

            int moduleColorSize = 4;

            for (int moduleColorNumber = 0; moduleColorNumber < numberOfModules; moduleColorNumber++)
            {
                int moduleColor = BitConverter.ToInt32(PatchData, dataPosition);
                ModuleList[moduleColorNumber].ModuleColorId = moduleColor;

                dataPosition += moduleColorSize;
            }
            NumberOfBytesParsed = dataPosition;
        }