public void SetActivePrimitive(PrimitiveBox prim)
{
if (InvokeRequired)
{
//HasGameThread = true;
new Thread(() =>
{
var del = new SetActiveDelegate(SetActivePrimitive);
Invoke(del, new object[] { prim });
}).Start();
//HasGameThread = false;
}
else
{
if (prim == ActivePrim) return;
var panel = OperandEditTable;
panel.Controls.Clear();
panel.RowCount = 0;
panel.RowStyles.Clear();
if (prim == null || prim.Descriptor == null) return;
ActivePrim = prim;
for (int i=0; i<10; i++) panel.RowStyles.Add(new RowStyle(SizeType.AutoSize));
prim.Descriptor.PopulateOperandView(this, EditorCont.Scope, panel);
}
}