from direct.gui.DirectGui import *
from panda3d.core import *
from toontown.toonbase import ToontownGlobals
from toontown.toon import ToonHead

class RaceHeadFrame(DirectFrame):

    def __init__(self, av = None, color = Vec4(1, 1, 1, 1), *args, **kwargs):
        self.panelGeom = loader.loadModel('phase_4/models/karting/racing_panel')
        self.panelGeom.find('**/*fg').setColor(color)
        opts = {'relief': None,
         'geom': self.panelGeom,
         'geom_scale': (1, 1, 0.5),
         'pos': (0, 0, 0)}
        opts.update(kwargs)
        apply(DirectFrame.__init__, (self,) + args, opts)
        self.initialiseoptions(RaceHeadFrame)
        if av:
            self.setAv(av)
        return

    def setAv(self, av):
        self.head = self.stateNodePath[0].attachNewNode('head', 20)
        self.head.setPosHprScale(0, -0.5, -0.09, 180.0, 0.0, 0.0, 0.2, 0.2, 0.2)
        self.headModel = ToonHead.ToonHead()
        self.headModel.setupHead(av.style, forGui=1)
        self.headModel.reparentTo(self.head)

    def destroy(self):
        self.headModel.delete()
        del self.headModel
        self.head.removeNode()
        del self.head
        DirectFrame.destroy(self)