Может куда не туда смотрю. Или лучше кодом? Мне нужна по сути двумерная сетка.
---------
Вобщем создал я массив. Но как мне сделать так что бы, можно было менять тип наведя на блок соответствующий параметр.
Синтаксис:
Используется csharp
[VisualLogicBlockDescription("Creat a two-dimensional array")]
[VisualLogicBlock("Arrays int[,]", "Arrays", ParentName = "Arrays")]
public class CreateArray2D : LogicBlock
{
//[Parameter(VariableType.In,(typeof(int[,])),Name="Target Arrays")]
//public Variable int32;
[Parameter(VariableType.In,(typeof(int)),Name="Index Array own",DefaultValue=0)]
public Variable indexOwn;
[Parameter(VariableType.In,(typeof(int)),Name="Index Array two",DefaultValue=0)]
public Variable indexTwo;
[Parameter(VariableType.Out,(typeof(int[,])),Name="Two-dimensional array")]
public Variable Arrays;
[Parameter(VariableType.Out,(typeof(string)),Name="Error Description")]
public Variable error;
[EntryTrigger("In")]
public void In()
{
int[,] array;
int a=(int)indexOwn.Value;
int b=(int)indexTwo.Value;
if(a<=0 | b<=0)
{
error.Value="Bad Index! Index["+a+","+b+"]";
ActivateTrigger(1);
return;
}
array=new int[a,b];
Arrays.Value=array;
ActivateTrigger(0);
}
public override void OnInitializeDefaultData()
{
RegisterOutputTrigger("Out");
RegisterOutputTrigger("Error");
}
}
[VisualLogicBlock("Arrays int[,]", "Arrays", ParentName = "Arrays")]
public class CreateArray2D : LogicBlock
{
//[Parameter(VariableType.In,(typeof(int[,])),Name="Target Arrays")]
//public Variable int32;
[Parameter(VariableType.In,(typeof(int)),Name="Index Array own",DefaultValue=0)]
public Variable indexOwn;
[Parameter(VariableType.In,(typeof(int)),Name="Index Array two",DefaultValue=0)]
public Variable indexTwo;
[Parameter(VariableType.Out,(typeof(int[,])),Name="Two-dimensional array")]
public Variable Arrays;
[Parameter(VariableType.Out,(typeof(string)),Name="Error Description")]
public Variable error;
[EntryTrigger("In")]
public void In()
{
int[,] array;
int a=(int)indexOwn.Value;
int b=(int)indexTwo.Value;
if(a<=0 | b<=0)
{
error.Value="Bad Index! Index["+a+","+b+"]";
ActivateTrigger(1);
return;
}
array=new int[a,b];
Arrays.Value=array;
ActivateTrigger(0);
}
public override void OnInitializeDefaultData()
{
RegisterOutputTrigger("Out");
RegisterOutputTrigger("Error");
}
}