datablock fxDTSBrickData(LogicGate_NotUp_Data : LogicGate_DiodeUp_Data) { uiName = "Not Up"; iconName = $LuaLogic::Path @ "icons/Not Up"; logicUIName = "Not Up"; logicUIDesc = "B is the inverse of A"; logicUpdate = "return function(gate) gate.ports[2]:setstate(not gate.ports[1].state) end"; }; lualogic_registergatedefinition("LogicGate_NotUp_Data"); datablock fxDTSBrickData(LogicGate_NotDown_Data : LogicGate_DiodeDown_Data) { uiName = "Not Down"; iconName = $LuaLogic::Path @ "icons/Not Down"; logicUIName = "Not Down"; logicUIDesc = "B is the inverse of A"; 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); }