Removed Toontown leveleditor files

This commit is contained in:
Gyedo Jeon 2009-09-10 22:43:40 +00:00
parent 4b5eed144f
commit cb4b6986bb
6 changed files with 2 additions and 1847 deletions

View File

@ -5527,6 +5527,6 @@ class LEAvatar(LocalAvatar.LocalAvatar):
def getAutoRun(self):
return 0
l = LevelEditor()
base.l = LevelEditor()
run()

View File

@ -1,3 +1,3 @@
from direct.directbase.DirectStart import *
import LevelEditor
l = LevelEditor.LevelEditor()
base.l = LevelEditor.LevelEditor()

File diff suppressed because it is too large Load Diff

View File

@ -1,177 +0,0 @@
from pandac.PandaModules import *
from direct.showbase.DirectObject import DirectObject
from direct.directtools.DirectGeometry import *
from direct.task import Task
class PieMenu(NodePath, DirectObject):
def __init__(self, visibleMenu, menuItems,
action = None, fUpdateOnlyOnChange = 1, selectedSF = 1):
NodePath.__init__(self)
# Create a toplevel node for aspect ratio scaling
self.assign(hidden.attachNewNode('PieMenu'))
self.dr = base.direct.dr
# Attach the menu
self.visibleMenu = visibleMenu
# Try to flatten the visibleMenu (note, flattenStrong is too strong
# for texture text
self.visibleMenu.flattenMedium()
self.visibleMenu.reparentTo(self)
# Initialize instance variables
self.menuItems = menuItems
self.numItems = len(self.menuItems)
if self.numItems == 0:
self.degreesPerItem = 360.0
else:
self.degreesPerItem = 360.0/self.numItems
self.itemOffset = self.degreesPerItem / 2.0
self.sfx = self.visibleMenu.getSx()
self.sfz = self.visibleMenu.getSz()
# Record target and action
self.action = action
self.initialState = None
# Marking lines
self.lines = LineNodePath(self.visibleMenu)
self.lines.setColor(VBase4(1))
self.lines.setThickness(1)
# Set flags
self.fUpdateOnlyOnChange = fUpdateOnlyOnChange
def performAction(self, value):
if self.action:
self.action(value)
def removePieMenuTask(self):
taskMgr.remove('pieMenuTask')
self.reparentTo(hidden)
self.lines.reset()
def spawnPieMenuTask(self):
# Make sure no errant tasks lying around
taskMgr.remove('pieMenuTask')
# Where did the user press the button?
self.originX = self.dr.mouseX
self.originY = self.dr.mouseY
# Pop up menu
self.reparentTo(render2d)
self.setPos(self.originX, 0.0, self.originY)
# Compensate for window aspect ratio
self.setScale(1.0, 1.0, 1.0)
# Start drawing the selection line
self.lines.reset()
self.lines.moveTo(0, 0, 0)
self.lines.drawTo(0, 0, 0)
self.lines.create()
# Spawn task to update line and select new texture
self.currItem = -1
taskMgr.add(self.pieMenuTask, 'pieMenuTask')
def pieMenuTask(self,state):
# Don't do anything if nothing in the menu
if self.numItems == 0:
self.currItem = -1
return Task.cont
mouseX = self.dr.mouseX
mouseY = self.dr.mouseY
deltaX = mouseX - self.originX
deltaY = mouseY - self.originY
# Update the line
#self.lines.setVertex(1, (deltaX/self.sfx), 0.0, (deltaY/self.sfz))
# How far from starting point has user moved the cursor?
if ((abs(deltaX) < 0.1) and (abs(deltaY) < 0.1)):
# In the center
if self.fUpdateOnlyOnChange:
# Only do this when things change
if (self.currItem != -1):
self.performAction(self.initialState)
else:
# Alway let use know mouse is in the center
self.performAction(self.initialState)
self.currItem = -1
else:
# Outside of the center
# Interacting with menu
# subtract half a slice to effectively center item
menuAngle = rad2Deg(math.atan2(deltaY, deltaX)) + self.itemOffset
if menuAngle < 0.0:
menuAngle = menuAngle + 360.0
menuAngle = menuAngle % 360.0
newItem = int(math.floor(menuAngle / self.degreesPerItem))
if self.fUpdateOnlyOnChange:
if (self.currItem != newItem):
self.performAction(self.menuItems[newItem])
else:
self.performAction(self.menuItems[newItem])
self.currItem = newItem
# Continue task
return Task.cont
def setInitialState(self, state):
self.initialState = state
def getInitialState(self):
return self.initialState
def setItemOffset(self, newOffset):
self.itemOffset = newOffset
def setUpdateOnlyOnChange(self, flag):
self.fUpdateOnlyOnChange = flag
class TextPieMenu(PieMenu):
def __init__(self, textList, radius = 0.5, sf = 1,
action = None, fUpdateOnlyOnChange = 1):
numItems = len(textList)
# Create top level node for new menu
newMenu = hidden.attachNewNode('TextMenu')
# Compute angle per item
angle = deg2Rad(360.0/numItems)
prop = base.win.getProperties()
if prop.hasSize():
width = prop.getXSize()
height = prop.getYSize()
else:
width = 640
height = 480
aspectRatio = width/float(height)
# Add items
from direct.gui.DirectGuiGlobals import getDefaultFont
for i in range (numItems):
# Create text node for each item
if (textList[i] != None):
tn = TextNode('TextItem')
tn.setFont(getDefaultFont())
tn.setTransform(Mat4.scaleMat(0.07, 0.07, 0.07 * aspectRatio))
tn.setTextColor(0, 0, 0, 1)
tn.setCardColor(1, 1, 1, 1)
tn.setCardAsMargin(0.1, 0.1, 0.1, 0.1)
tn.setText(str(textList[i]))
# Reposition it
card = tn.getCardTransformed()
center = (card[1] - card[0], card[3] - card[2])
node = newMenu.attachNewNode(tn)
node.setScale(sf)
node.setPos(radius * math.cos(i * angle) - center[0], 0.0,
((radius * aspectRatio * math.sin(i * angle)) -
center[1]))
# Create and return a pie menu
PieMenu.__init__(self, newMenu, textList, action = action,
fUpdateOnlyOnChange = fUpdateOnlyOnChange)
self.accept('mouse3', self.spawnPieMenuTask)
self.accept('mouse3-up', self.removePieMenuTask)
def destroy(self):
self.ignore('mouse3')
self.ignore('mouse3-up')
self.removeNode()

View File

@ -1,96 +0,0 @@
###########################################################
# Class to create and maintain a scrolled list
# that can be embedded in a LevelAttribute instance
###########################################################
from direct.gui.DirectGui import *
from toontown.toonbase import ToontownGlobals
class ScrollMenu:
def __init__(self, nodePath, textList):
self.action = None #Call back fucntion
self.textList = textList
self.parent = nodePath
self.frame = None
self.initialState = None # To maintain backward compatibility
def createScrolledList(self):
# First create a frame in which direct elements maybe placed
self.frame = DirectFrame(scale = 1.1, relief = 1.0,
frameSize = (-0.5,0.2,-0.05,0.59),
frameColor = (0.737, 0.573, 0.345, 0.000))
numItemsVisible = 4
itemHeight = 0.08
myScrolledList = DirectScrolledList(
decButton_pos= (0.35, 0, 0.53),
decButton_text = "Dec",
decButton_text_scale = 0.04,
decButton_borderWidth = (0.005, 0.005),
incButton_pos= (0.35, 0, -0.02),
incButton_text = "Inc",
incButton_text_scale = 0.04,
incButton_borderWidth = (0.005, 0.005),
frameSize = (0.0, 0.8, -0.05, 0.59),
frameColor = (0,0,1,0.5),
pos = (-0.5, 0, 0),
items = [],
numItemsVisible = numItemsVisible,
forceHeight = itemHeight,
itemFrame_frameSize = (-0.35, 0.35, -0.37, 0.11),
itemFrame_pos = (0.4, 0, 0.4),
)
for t in self.textList:
myScrolledList.addItem(DirectButton(text = (t, t, t),
text_scale = 0.05, command = self.__selected,
extraArgs = [t], relief = None,
# text_font = ToontownGlobals.getSignFont(),
text0_fg = (0.152, 0.750, 0.258, 1),
text1_fg = (0.152, 0.750, 0.258, 1),
text2_fg = (0.977, 0.816, 0.133, 1), ))
myScrolledList.reparentTo(self.frame)
#An exit button
b1 = DirectButton(parent = self.frame, text = "Exit",
text_scale=0.05, borderWidth = (0.01, 0.01),
relief=1, command = self.__hide)
b1.setPos(0.15, 0, -0.025)
self.frame.reparentTo(self.parent)
def __selected(self, text):
if(self.action):
self.action(text)
def __hide(self):
self.frame.reparentTo(self.parent)
#######################################################
# Functions that allow compaitibility with the
# existing architecture that is tied into pie menu's
#######################################################
def spawnPieMenuTask(self):
# Where did the user press the button?
originX = base.direct.dr.mouseX
originY = base.direct.dr.mouseY
# Pop up menu
self.frame.reparentTo(aspect2d)
self.frame.setPos(originX, 0.0, originY)
def removePieMenuTask(self):
pass
def setInitialState(self, state):
self.initialState = state
def getInitialState(self):
return self.initialState

View File

@ -1,5 +0,0 @@
# This is required to properly decode the Tk wide-character strings.
import sys
sys.setdefaultencoding('utf8')
print "Encoding set to UTF8"