mirror of
https://github.com/Astatin3/autoPlanner.git
synced 2026-06-08 23:58:00 -06:00
Finish button editor
This commit is contained in:
+41
-16
@@ -17,6 +17,9 @@ matchTicks = 15 * 50
|
|||||||
displayTickResolution = 4
|
displayTickResolution = 4
|
||||||
displayTicks = round(matchTicks / displayTickResolution)
|
displayTicks = round(matchTicks / displayTickResolution)
|
||||||
|
|
||||||
|
buttonEditColor = (191,0,191)
|
||||||
|
buttonEditNodeRadius = 6
|
||||||
|
|
||||||
dragFrameIndex = -1
|
dragFrameIndex = -1
|
||||||
ogDragFramePos = -1
|
ogDragFramePos = -1
|
||||||
|
|
||||||
@@ -80,6 +83,15 @@ def getPosKeyframes():
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def getButtonKeyframes():
|
||||||
|
frames = []
|
||||||
|
for keyFrame in keyFrames:
|
||||||
|
if keyFrame['type'] == 'controller':
|
||||||
|
frames.append(keyFrame)
|
||||||
|
return frames
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def getBezierPointCounts():
|
def getBezierPointCounts():
|
||||||
counts = []
|
counts = []
|
||||||
frames = getPosKeyframes()
|
frames = getPosKeyframes()
|
||||||
@@ -91,7 +103,7 @@ def getBezierPointCounts():
|
|||||||
|
|
||||||
def getPosKeyframeByIndex(index):
|
def getPosKeyframeByIndex(index):
|
||||||
for frame in keyFrames:
|
for frame in keyFrames:
|
||||||
if frame["index"] == index and frame['type'] == 'position':
|
if frame['type'] == 'position' and frame["index"] == index:
|
||||||
return frame
|
return frame
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@@ -177,16 +189,16 @@ def getRobotAtIndex(index):
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
def getTimeBarColor(index):
|
# def getTimeBarColor(index):
|
||||||
frame = getKeyframeAtPos(index)
|
# frame = getKeyframeAtPos(index)
|
||||||
if frame == None:
|
# if frame == None:
|
||||||
return (0,0,0)
|
# return (0,0,0)
|
||||||
if frame['type'] == 'position':
|
# if frame['type'] == 'position':
|
||||||
return (127,127,0)
|
# return (127,127,0)
|
||||||
elif frame['type'] == 'controller':
|
# elif frame['type'] == 'controller':
|
||||||
return (127,0,127)
|
# return buttonEditColor
|
||||||
|
|
||||||
return (16,16,32)
|
# return (16,16,32)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -205,7 +217,7 @@ def reloadBar(pos):
|
|||||||
x2 = (render.width/(displayTicks))
|
x2 = (render.width/(displayTicks))
|
||||||
rect = (x1, bottomBarRect[1], x2, bottomBarRect[3])
|
rect = (x1, bottomBarRect[1], x2, bottomBarRect[3])
|
||||||
|
|
||||||
color = getTimeBarColor(i)
|
color = (0, 0, 0)
|
||||||
|
|
||||||
if i == selFrame:
|
if i == selFrame:
|
||||||
color = (color[0]+64,color[1]+64,color[2]+64)
|
color = (color[0]+64,color[1]+64,color[2]+64)
|
||||||
@@ -231,6 +243,15 @@ def reloadBar(pos):
|
|||||||
else:
|
else:
|
||||||
color = (color[0]+16+(toggle*16),color[1]+16+(toggle*16),color[2]+32+(toggle*16))
|
color = (color[0]+16+(toggle*16),color[1]+16+(toggle*16),color[2]+32+(toggle*16))
|
||||||
|
|
||||||
|
|
||||||
|
frame = getKeyframeAtPos(i)
|
||||||
|
if frame == None:
|
||||||
|
pass
|
||||||
|
elif frame['type'] == 'position':
|
||||||
|
color = (191,191,0)
|
||||||
|
elif frame['type'] == 'controller':
|
||||||
|
color = buttonEditColor
|
||||||
|
|
||||||
toggle = not toggle
|
toggle = not toggle
|
||||||
|
|
||||||
render.drawrect(color, rect)
|
render.drawrect(color, rect)
|
||||||
@@ -345,7 +366,7 @@ def renderXboxControllers():
|
|||||||
|
|
||||||
btns = getControllerButtons(i)
|
btns = getControllerButtons(i)
|
||||||
|
|
||||||
for btn in ['A','B','X','Y','Menu','Windows','LB','RB','LT','RT']:
|
for btn in ['A','B','X','Y','Menu','Windows','LB','RB','LT','RT','Left_Stick','Right_Stick']:
|
||||||
if btns[btn]:
|
if btns[btn]:
|
||||||
render.image(render.invert(buttonImages[btn]), offsetControllerButton(btn))
|
render.image(render.invert(buttonImages[btn]), offsetControllerButton(btn))
|
||||||
else:
|
else:
|
||||||
@@ -365,7 +386,7 @@ def controllerClick(pos):
|
|||||||
rect2 = ((pos[0]-(size/2), pos[1]-(size/2), size, size))
|
rect2 = ((pos[0]-(size/2), pos[1]-(size/2), size, size))
|
||||||
return (rect[0]+(rect2[0])*offsetSize,rect[1]+(rect2[1])*offsetSize,rect2[2]*offsetSize,rect2[2]*offsetSize)
|
return (rect[0]+(rect2[0])*offsetSize,rect[1]+(rect2[1])*offsetSize,rect2[2]*offsetSize,rect2[2]*offsetSize)
|
||||||
|
|
||||||
for btn in ['A','B','X','Y','Menu','Windows','LB','RB','LT','RT']:
|
for btn in ['A','B','X','Y','Menu','Windows','LB','RB','LT','RT','Left_Stick','Right_Stick']:
|
||||||
if render.isInRect(pos, offsetControllerButton(btn)):
|
if render.isInRect(pos, offsetControllerButton(btn)):
|
||||||
toggleControllerButton(btn, i)
|
toggleControllerButton(btn, i)
|
||||||
|
|
||||||
@@ -436,9 +457,16 @@ class buttonEditor:
|
|||||||
for i in range(0,len(ogCtrlNodes)):
|
for i in range(0,len(ogCtrlNodes)):
|
||||||
render.bezier(ogNodes[i], ogCtrlNodes[i], ogNodes[i+1], pointCounts[i])
|
render.bezier(ogNodes[i], ogCtrlNodes[i], ogNodes[i+1], pointCounts[i])
|
||||||
|
|
||||||
|
buttonFrames = getButtonKeyframes()
|
||||||
|
for frame in buttonFrames:
|
||||||
|
pos, rot = getRobotAtIndex(frame['timeIndex'])
|
||||||
|
render.circle(buttonEditColor, pos, buttonEditNodeRadius)
|
||||||
|
|
||||||
if selFrame != -1 and len(ogNodes) > 0:
|
if selFrame != -1 and len(ogNodes) > 0:
|
||||||
pos, rot = getRobotAtIndex(selFrame)
|
pos, rot = getRobotAtIndex(selFrame)
|
||||||
render.robotSquare(pos, rot)
|
render.robotSquare(pos, rot)
|
||||||
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
renderXboxControllers()
|
renderXboxControllers()
|
||||||
|
|
||||||
@@ -536,12 +564,9 @@ class buttonEditor:
|
|||||||
global keyFrames
|
global keyFrames
|
||||||
|
|
||||||
for i in range(len(keyFrames)-1,-1,-1):
|
for i in range(len(keyFrames)-1,-1,-1):
|
||||||
print(i)
|
|
||||||
if keyFrames[i]['type'] == 'position':
|
if keyFrames[i]['type'] == 'position':
|
||||||
keyFrames.pop(i)
|
keyFrames.pop(i)
|
||||||
|
|
||||||
print('end')
|
|
||||||
|
|
||||||
self.updateNodes(False)
|
self.updateNodes(False)
|
||||||
|
|
||||||
for i in range(len(ogNodes)):
|
for i in range(len(ogNodes)):
|
||||||
|
|||||||
Reference in New Issue
Block a user