public InstructionViewerForm(FLInstructionSet instructionSet) { InstructionSet = new List <FLInstructionCreator>(); InstructionKeys = instructionSet.GetInstructionNames().ToList(); for (int i = 0; i < instructionSet.CreatorCount; i++) { InstructionSet.Add(instructionSet.GetCreatorAt(i)); } InitializeComponent(); Text = $"Viewing {InstructionKeys.Count} Instructions"; Icon = FLEditorPluginHost.FLEditorIcon; StyleManager.RegisterControls(this); //FLScriptEditor.RegisterDefaultTheme(panelInstructions); //FLScriptEditor.RegisterDefaultTheme(gbInstructions); //FLScriptEditor.RegisterDefaultTheme(lbInstructions); //FLScriptEditor.RegisterDefaultTheme(panelMainInstructionView); //FLScriptEditor.RegisterDefaultTheme(panelOverloads); //FLScriptEditor.RegisterDefaultTheme(gbOverloads); //FLScriptEditor.RegisterDefaultTheme(lbOverloads); //FLScriptEditor.RegisterDefaultTheme(panelHeaderInfo); //FLScriptEditor.RegisterDefaultTheme(lblInstructionName); //FLScriptEditor.RegisterDefaultTheme(panelLegend); //FLScriptEditor.RegisterDefaultTheme(gbLegend); //FLScriptEditor.RegisterDefaultTheme(lbLegend); //FLScriptEditor.RegisterDefaultTheme(panelInstructionInfo); //FLScriptEditor.RegisterDefaultTheme(panelInstructionDescription); //FLScriptEditor.RegisterDefaultTheme(gbInstructionDescription); //FLScriptEditor.RegisterDefaultTheme(rtbInstructionDescription); //FLScriptEditor.RegisterDefaultTheme(panelInstructionName); }
public override void SerializePacket(PrimitiveValueWrapper s, SerializableFLProgram obj) { int funcCount = obj.Functions.Count; int defCount = obj.DefinedBuffers.Count; int extCount = obj.ExternalFunctions.Count; s.Write(funcCount); s.Write(defCount); s.Write(extCount); string[] funcMap = obj.Functions.Select(x => x.Name).ToArray(); string[] exMap = obj.ExternalFunctions.Select(x => x.Name).ToArray(); string[] bufMap = obj.DefinedBuffers.Select(x => x.Name).ToArray(); List <string> idMap = new List <string>(); idMap.AddRange(funcMap); idMap.AddRange(exMap); idMap.AddRange(bufMap); idMap.AddRange(instructionSet.GetInstructionNames()); WriteStringArray(s, idMap.ToArray()); SetIdMap(idMap.ToArray()); for (int i = 0; i < obj.DefinedBuffers.Count; i++) { MemoryStream temp = new MemoryStream(); if (!bufferSerializer.TryWritePacket(temp, obj.DefinedBuffers[i])) { throw new FLDeserializationException( $"Can not Deserialize Serializable Defined buffer: {obj.DefinedBuffers[i].Name} ID: {i}"); } s.Write(temp.GetBuffer(), (int)temp.Position); } for (int i = 0; i < obj.Functions.Count; i++) { MemoryStream temp = new MemoryStream(); if (!bufferSerializer.TryWritePacket(temp, obj.Functions[i])) { throw new FLDeserializationException( $"Can not Deserialize Serializable Function: {obj.Functions[i].Name} ID: {i}"); } s.Write(temp.GetBuffer(), (int)temp.Position); } for (int i = 0; i < obj.ExternalFunctions.Count; i++) { MemoryStream temp = new MemoryStream(); if (!bufferSerializer.TryWritePacket(temp, obj.ExternalFunctions[i])) { throw new FLDeserializationException( $"Can not Deserialize Serializable External Function: {obj.ExternalFunctions[i].Name} ID: {i}"); } s.Write(temp.GetBuffer(), (int)temp.Position); } }