Code:
@name Studio Board
@inputs IX IY Use Console:wirelink
@outputs Col1 ColCre Shape:string
@persist OX OY
@trigger Use
interval(500)
Console:writeCell(2041, 1) #Clears screen
OX = round(IX*29)
OY = round(IY*17) - 1
#Left Menu
CreateMouse = (OX >= 0 & OX <= 5 & OY == 0)
Console:writeString("Create", 0, 0, (Col1 == 1 ? 111 : 999), (Col1 == 1 ? 999 : 0), CreateMouse)
#Left Middle Menu
if(Col1 == 1)
{
BoxMouse = (OX >= 9 & OX <= 12 & OY == 0)
Console:writeString("Box", 9, 0, (ColCre == 1 ? 111 : 999), (ColCre == 1 ? 999 : 0), BoxMouse)
Sph1Mouse = (OX >= 9 & OX <= 16 & OY == 1)
Console:writeString("Sphere 1", 9, 1, (ColCre == 2 ? 111 : 999), (ColCre == 2 ? 999 : 0), Sph1Mouse)
Sph2Mouse = (OX >= 9 & OX <= 16 & OY == 2)
Console:writeString("Sphere 2", 9, 2, (ColCre == 3 ? 111 : 999), (ColCre == 3 ? 999 : 0), Sph2Mouse)
Sph3Mouse = (OX >= 9 & OX <= 16 & OY == 3)
Console:writeString("Sphere 3", 9, 3, (ColCre == 4 ? 111 : 999), (ColCre == 4 ? 999 : 0), Sph3Mouse)
CylMouse = (OX >= 9 & OX <= 16 & OY == 4)
Console:writeString("Cylinder", 9, 4, (ColCre == 5 ? 111 : 999), (ColCre == 5 ? 999 : 0), CylMouse)
ConMouse = (OX >= 9 & OX <= 13 & OY == 5)
Console:writeString("Cone", 9, 5, (ColCre == 6 ? 111 : 999), (ColCre == 6 ? 999 : 0), ConMouse)
PyrMouse = (OX >= 9 & OX <= 16 & OY == 6)
Console:writeString("Pyramid", 9, 6, (ColCre == 7 ? 111 : 999), (ColCre == 7 ? 999 : 0), PyrMouse)
PriMouse = (OX >= 9 & OX <= 14 & OY == 7)
Console:writeString("Prism", 9, 7, (ColCre == 8 ? 111 : 999), (ColCre == 8 ? 999 : 0), PriMouse)
Tor1Mouse = (OX >= 9 & OX <= 16 & OY == 8)
Console:writeString("Torus 1", 9, 8, (ColCre == 9 ? 111 : 999), (ColCre == 9 ? 999 : 0), Tor1Mouse)
Tor2Mouse = (OX >= 9 & OX <= 16 & OY == 9)
Console:writeString("Torus 2", 9, 9, (ColCre == 10 ? 111 : 999), (ColCre == 10 ? 999 : 0), Tor2Mouse)
Tor3Mouse = (OX >= 9 & OX <= 16 & OY == 10)
Console:writeString("Torus 3", 9, 10, (ColCre == 11 ? 111 : 999), (ColCre == 11 ? 999 : 0), Tor3Mouse)
TetMouse = (OX >= 9 & OX <= 14 & OY == 11)
Console:writeString("Tetra", 9, 11, (ColCre == 12 ? 111 : 999), (ColCre == 12 ? 999 : 0), TetMouse)
PlaMouse = (OX >= 9 & OX <= 14 & OY == 12)
Console:writeString("Plane", 9, 12, (ColCre == 13 ? 111 : 999), (ColCre == 13 ? 999 : 0), PlaMouse)
if(ColCre)
{
Console:writeString("Ready", 20, 0, (ColCre == 13 ? 111 : 999), (ColCre == 13 ? 999 : 0), 1)
}
}
if(Use & ~Use)
{
if(CreateMouse) { Col1 = (Col1 == 0)*1 }
if(BoxMouse) { ColCre = (ColCre != 1)*1, Shape = "cube"}
if(Sph1Mouse) { ColCre = (ColCre != 2)*2, Shape = "icosphere" }
if(Sph2Mouse) { ColCre = (ColCre != 3)*3, Shape = "icosphere2" }
if(Sph3Mouse) { ColCre = (ColCre != 4)*4, Shape = "icosphere3" }
if(CylMouse) { ColCre = (ColCre != 5)*5, Shape = "cylinder" }
if(ConMouse) { ColCre = (ColCre != 6)*6, Shape = "cone" }
if(PyrMouse) { ColCre = (ColCre != 7)*7, Shape = "pyramid" }
if(PriMouse) { ColCre = (ColCre != 8)*8, Shape = "prism" }
if(Tor1Mouse) { ColCre = (ColCre != 9)*9, Shape = "torus" }
if(Tor2Mouse) { ColCre = (ColCre != 10)*10, Shape = "torus2" }
if(Tor3Mouse) { ColCre = (ColCre != 11)*11, Shape = "torus3" }
if(TetMouse) { ColCre = (ColCre != 12)*12, Shape = "tetra" }
if(PlaMouse) { ColCre = (ColCre != 13)*13, Shape = "plane" }
}
This second E2 is going to control all of the holograms. Thus far I have it such that the users can create the holograms and set their positions. I hope to work out a better algorithm for moving the hologram vertically, but all the other things I tried didn't work.
Bookmarks