Ejemplo n.º 1
0
        public void ParseData()
        {
            ModuleSize   = BitConverter.ToInt32(ModuleData, 0);
            ModuleTypeId = BitConverter.ToInt32(ModuleData, 4);
            ZoiaDictionaryModule dictionaryModule = FormatDictionary.findModuleByTypeId(ModuleTypeId);

            ModuleUserName = Encoding.UTF8.GetString(ModuleData, ModuleData.Length - 16, 16);

            for (int moduleSection = 0; moduleSection < 9; moduleSection++)
            {
                string parameterName = GetParameterName(moduleSection);

                int    moduleParameterValue            = BitConverter.ToInt32(ModuleData, (moduleSection + 1) * 4);
                string moduleParameterValueDescription = "";
                if (moduleSection == 0)
                {
                    moduleParameterValueDescription = ModuleTypeName;
                }
                if (moduleSection == 3)
                {
                    moduleParameterValueDescription = GetColorName(moduleParameterValue);
                }

                int    parameterSize = 4;
                byte[] parameterData = new byte[parameterSize];
                Array.Copy(ModuleData, (moduleSection + 1) * 4, parameterData, 0, parameterSize);
                ZoiaModuleParameter parameter = new ZoiaModuleParameter(parameterData)
                {
                    ParameterName             = parameterName,
                    ParameterValue            = moduleParameterValue,
                    ParameterValueDescription = moduleParameterValueDescription
                };
                ParameterList.Add(parameter);
            }
            for (int i = 0; i < dictionaryModule.options.Count; i++)
            {
                byte[] parameterData = new byte[1];
                Array.Copy(ModuleData, 8 * 4 + i, parameterData, 0, 1);
                ZoiaDictionaryOption dictionaryOption = dictionaryModule.options[i];
                string parameterName                   = dictionaryOption.name;
                int    moduleParameterValue            = parameterData[0];
                string moduleParameterValueDescription = dictionaryOption.values[moduleParameterValue];
                ZoiaModuleParameter parameter          = new ZoiaModuleParameter(parameterData)
                {
                    ParameterName             = parameterName,
                    ParameterValue            = moduleParameterValue,
                    ParameterValueDescription = moduleParameterValueDescription
                };
                ParameterList.Add(parameter);
            }
            int numberOfParameterBlocks = ModuleSize - 5; // excluding ModuleSize(1), ModuleUserName(4)
        }
Ejemplo n.º 2
0
 public int GetParameterNumber(ZoiaModuleParameter parameter)
 {
     return(ParameterList.IndexOf(parameter));
 }