added serial text brick using ascii characters

This commit is contained in:
Redo
2020-04-22 19:41:10 -05:00
parent e8f69cce08
commit d15e8889f0
13 changed files with 339 additions and 71 deletions

View File

@ -5,5 +5,8 @@ datablock fxDTSBrickData(LogicGate_AND_Data : LogicGate_OR_Data)
logicUIName = "AND";
logicUIDesc = "C is true if A and B are true";
logicUpdate = "return function(gate) gate.ports[3]:setstate(gate.ports[1].state and gate.ports[2].state) end";
logicForceColor = "YELLOW";
logicForcePrint = "ANDGATE";
};
lualogic_registergatedefinition("LogicGate_AND_Data");

View File

@ -5,20 +5,12 @@ datablock fxDTSBrickData(LogicGate_NOT_Data : LogicGate_Diode_Data)
logicUIName = "NOT";
logicUIDesc = "B is the opposite of A";
logicForceColor = "RED";
logicForcePrint = "ARROW";
logicUpdate = "return function(gate) gate.ports[2]:setstate(not gate.ports[1].state) end";
numLogicPorts = 2;
};
lualogic_registergatedefinition("LogicGate_NOT_Data");
function LogicGate_NOT_Data::onPlant(%this, %obj)
{
if(lualogic_iscolor("RED"))
%obj.setColor(lualogic_getcolor("RED"));
if(lualogic_isprint("ARROW"))
%obj.setPrint(lualogic_getprint("ARROW"));
parent::onPlant(%this, %obj);
}

View File

@ -12,6 +12,9 @@ datablock fxDTSBrickData(LogicGate_Diode_Data)
isLogicGate = 1;
logicUIName = "Diode";
logicUIDesc = "B is A";
logicForceColor = "GREEN";
logicForcePrint = "ARROW";
logicUpdate = "return function(gate) gate.ports[2]:setstate(gate.ports[1].state) end";
@ -31,14 +34,3 @@ datablock fxDTSBrickData(LogicGate_Diode_Data)
logicPortUIDesc[1] = "";
};
lualogic_registergatedefinition("LogicGate_Diode_Data");
function LogicGate_Diode_Data::onPlant(%this, %obj)
{
if(lualogic_iscolor("GREEN"))
%obj.setColor(lualogic_getcolor("GREEN"));
if(lualogic_isprint("ARROW"))
%obj.setPrint(lualogic_getprint("ARROW"));
parent::onPlant(%this, %obj);
}

View File

@ -15,6 +15,9 @@ datablock fxDTSBrickData(LogicGate_DiodeUp_Data)
logicUIName = "Diode Up";
logicUIDesc = "B is A";
logicForceColor = "GREEN";
logicForcePrint = "UPARROW";
logicUpdate = "return function(gate) gate.ports[2]:setstate(gate.ports[1].state) end";
@ -40,30 +43,11 @@ datablock fxDTSBrickData(LogicGate_DiodeDown_Data : LogicGate_DiodeUp_Data)
iconName = $LuaLogic::Path @ "icons/Diode Down";
logicUIName = "Diode Down";
logicForceColor = "GREEN";
logicForcePrint = "DOWNARROW";
logicPortDir[0] = 4;
logicPortDir[1] = 5;
};
lualogic_registergatedefinition("LogicGate_DiodeDown_Data");
function LogicGate_DiodeUp_Data::onPlant(%this, %obj)
{
if(lualogic_iscolor("GREEN"))
%obj.setColor(lualogic_getcolor("GREEN"));
if(lualogic_isprint("UPARROW"))
%obj.setPrint(lualogic_getprint("UPARROW"));
parent::onPlant(%this, %obj);
}
function LogicGate_DiodeDown_Data::onPlant(%this, %obj)
{
if(lualogic_iscolor("GREEN"))
%obj.setColor(lualogic_getcolor("GREEN"));
if(lualogic_isprint("DOWNARROW"))
%obj.setPrint(lualogic_getprint("DOWNARROW"));
parent::onPlant(%this, %obj);
}

View File

@ -5,6 +5,9 @@ datablock fxDTSBrickData(LogicGate_NotUp_Data : LogicGate_DiodeUp_Data)
logicUIName = "Not Up";
logicUIDesc = "B is the inverse of A";
logicForceColor = "RED";
logicForcePrint = "UPARROW";
logicUpdate = "return function(gate) gate.ports[2]:setstate(not gate.ports[1].state) end";
};
@ -17,29 +20,10 @@ datablock fxDTSBrickData(LogicGate_NotDown_Data : LogicGate_DiodeDown_Data)
logicUIName = "Not Down";
logicUIDesc = "B is the inverse of A";
logicForceColor = "RED";
logicForcePrint = "DOWNARROW";
logicUpdate = "return function(gate) gate.ports[2]:setstate(not gate.ports[1].state) end";
};
lualogic_registergatedefinition("LogicGate_NotDown_Data");
function LogicGate_NotUp_Data::onPlant(%this, %obj)
{
if(lualogic_iscolor("RED"))
%obj.setColor(lualogic_getcolor("RED"));
if(lualogic_isprint("UPARROW"))
%obj.setPrint(lualogic_getprint("UPARROW"));
parent::onPlant(%this, %obj);
}
function LogicGate_NotDown_Data::onPlant(%this, %obj)
{
if(lualogic_iscolor("RED"))
%obj.setColor(lualogic_getcolor("RED"));
if(lualogic_isprint("DOWNARROW"))
%obj.setPrint(lualogic_getprint("DOWNARROW"));
parent::onPlant(%this, %obj);
}