490 lines
9.6 KiB
Python
490 lines
9.6 KiB
Python
|
from panda3d.core import *
|
||
|
|
||
|
_speech_balloon_3d = None
|
||
|
|
||
|
|
||
|
def setSpeechBalloon3d(speech_balloon_3d):
|
||
|
global _speech_balloon_3d
|
||
|
_speech_balloon_3d = speech_balloon_3d
|
||
|
|
||
|
|
||
|
def getSpeechBalloon3d():
|
||
|
return _speech_balloon_3d
|
||
|
|
||
|
|
||
|
_global_nametag_scale = 1.0
|
||
|
|
||
|
|
||
|
def setGlobalNametagScale(global_nametag_scale):
|
||
|
global _global_nametag_scale
|
||
|
_global_nametag_scale = global_nametag_scale
|
||
|
|
||
|
|
||
|
def getGlobalNametagScale():
|
||
|
return _global_nametag_scale
|
||
|
|
||
|
|
||
|
_camera = NodePath()
|
||
|
|
||
|
|
||
|
def setCamera(camera):
|
||
|
global _camera
|
||
|
_camera = camera
|
||
|
|
||
|
|
||
|
def getCamera():
|
||
|
return _camera
|
||
|
|
||
|
|
||
|
_master_nametags_active = True
|
||
|
|
||
|
|
||
|
def setMasterNametagsActive(master_nametags_active):
|
||
|
global _master_nametags_active
|
||
|
_master_nametags_active = master_nametags_active
|
||
|
|
||
|
|
||
|
def getMasterNametagsActive():
|
||
|
return _master_nametags_active
|
||
|
|
||
|
|
||
|
_min_2d_alpha = 0.0
|
||
|
|
||
|
|
||
|
def setMin2dAlpha(min_2d_alpha):
|
||
|
global _min_2d_alpha
|
||
|
global _margin_prop_seq
|
||
|
_min_2d_alpha = min_2d_alpha
|
||
|
_margin_prop_seq += 1
|
||
|
|
||
|
|
||
|
def getMin2dAlpha():
|
||
|
return _min_2d_alpha
|
||
|
|
||
|
|
||
|
_arrow_color = [
|
||
|
Vec4(1.0, 0.40000001, 0.2, 1.0),
|
||
|
Vec4(1.0, 0.40000001, 0.2, 1.0),
|
||
|
Vec4(1.0, 0.40000001, 0.2, 1.0),
|
||
|
Vec4(1.0, 0.40000001, 0.2, 1.0),
|
||
|
Vec4(0.30000001, 0.60000002, 1.0, 1.0),
|
||
|
Vec4(0.55000001, 0.55000001, 0.55000001, 1.0),
|
||
|
Vec4(0.30000001, 0.60000002, 1.0, 1.0),
|
||
|
Vec4(0.30000001, 0.69999999, 0.30000001, 1.0),
|
||
|
Vec4(0.30000001, 0.30000001, 0.69999999, 1.0)
|
||
|
]
|
||
|
|
||
|
|
||
|
def getArrowColor(index):
|
||
|
return _arrow_color[index]
|
||
|
|
||
|
|
||
|
_mouse_watcher = None
|
||
|
|
||
|
|
||
|
def setMouseWatcher(mouse_watcher):
|
||
|
global _mouse_watcher
|
||
|
_mouse_watcher = mouse_watcher
|
||
|
|
||
|
|
||
|
def getMouseWatcher():
|
||
|
return _mouse_watcher
|
||
|
|
||
|
|
||
|
_master_arrows_on = True
|
||
|
|
||
|
|
||
|
def setMasterArrowsOn(master_arrows_on):
|
||
|
global _master_arrows_on
|
||
|
_master_arrows_on = master_arrows_on
|
||
|
|
||
|
|
||
|
def getMasterArrowsOn():
|
||
|
return _master_arrows_on
|
||
|
|
||
|
|
||
|
_toon = NodePath()
|
||
|
|
||
|
|
||
|
def setToon(toon):
|
||
|
global _toon
|
||
|
_toon = toon
|
||
|
|
||
|
|
||
|
def getToon():
|
||
|
return _toon
|
||
|
|
||
|
|
||
|
_master_nametags_visible = True
|
||
|
|
||
|
|
||
|
def setMasterNametagsVisible(master_nametags_visible):
|
||
|
global _master_nametags_visible
|
||
|
_master_nametags_visible = master_nametags_visible
|
||
|
|
||
|
|
||
|
def getMasterNametagsVisible():
|
||
|
return _master_nametags_visible
|
||
|
|
||
|
|
||
|
_thought_balloon_2d = None
|
||
|
|
||
|
|
||
|
def setThoughtBalloon2d(thought_balloon_2d):
|
||
|
global _thought_balloon_2d
|
||
|
_thought_balloon_2d = thought_balloon_2d
|
||
|
|
||
|
|
||
|
def getThoughtBalloon2d():
|
||
|
return _thought_balloon_2d
|
||
|
|
||
|
|
||
|
_max_2d_alpha = 0.6
|
||
|
|
||
|
|
||
|
def setMax2dAlpha(max_2d_alpha):
|
||
|
global _max_2d_alpha
|
||
|
global _margin_prop_seq
|
||
|
_max_2d_alpha = max_2d_alpha
|
||
|
_margin_prop_seq += 1
|
||
|
|
||
|
|
||
|
def getMax2dAlpha():
|
||
|
return _max_2d_alpha
|
||
|
|
||
|
|
||
|
_onscreen_chat_forced = False
|
||
|
|
||
|
|
||
|
def setOnscreenChatForced(onscreen_chat_forced):
|
||
|
global _onscreen_chat_forced
|
||
|
_onscreen_chat_forced = onscreen_chat_forced
|
||
|
|
||
|
|
||
|
def getOnscreenChatForced():
|
||
|
return _onscreen_chat_forced
|
||
|
|
||
|
|
||
|
_nametag_card = NodePath()
|
||
|
|
||
|
|
||
|
def setNametagCard(nametag_card, nametag_card_frame):
|
||
|
global _nametag_card
|
||
|
global _nametag_card_frame
|
||
|
_nametag_card = nametag_card
|
||
|
_nametag_card_frame = nametag_card_frame
|
||
|
|
||
|
|
||
|
def getNametagCard():
|
||
|
return _nametag_card
|
||
|
|
||
|
|
||
|
_nametag_card_frame = Vec4(0, 0, 0, 0)
|
||
|
|
||
|
|
||
|
def getNametagCardFrame():
|
||
|
return _nametag_card_frame
|
||
|
|
||
|
|
||
|
_rollover_sound = None
|
||
|
|
||
|
|
||
|
def setRolloverSound(rollover_sound):
|
||
|
global _rollover_sound
|
||
|
_rollover_sound = rollover_sound
|
||
|
|
||
|
|
||
|
def getRolloverSound():
|
||
|
return _rollover_sound
|
||
|
|
||
|
|
||
|
_speech_balloon_2d = None
|
||
|
|
||
|
|
||
|
def setSpeechBalloon2d(speech_balloon_2d):
|
||
|
global _speech_balloon_2d
|
||
|
_speech_balloon_2d = speech_balloon_2d
|
||
|
|
||
|
|
||
|
def getSpeechBalloon2d():
|
||
|
return _speech_balloon_2d
|
||
|
|
||
|
|
||
|
_text_node = TextNode('nametag')
|
||
|
|
||
|
|
||
|
def getTextNode():
|
||
|
return _text_node
|
||
|
|
||
|
|
||
|
_click_sound = None
|
||
|
|
||
|
|
||
|
def setClickSound(click_sound):
|
||
|
global _click_sound
|
||
|
_click_sound = click_sound
|
||
|
|
||
|
|
||
|
def getClickSound():
|
||
|
return _click_sound
|
||
|
|
||
|
|
||
|
_quit_button = [NodePath(), NodePath(), NodePath(), NodePath()]
|
||
|
|
||
|
|
||
|
def setQuitButton(state, quit_button):
|
||
|
global _quit_button
|
||
|
_quit_button[state] = quit_button
|
||
|
|
||
|
|
||
|
def getQuitButton(state):
|
||
|
return _quit_button[state]
|
||
|
|
||
|
|
||
|
_arrow_model = NodePath()
|
||
|
|
||
|
|
||
|
def setArrowModel(arrow_model):
|
||
|
global _arrow_model
|
||
|
_arrow_model = arrow_model
|
||
|
|
||
|
|
||
|
def getArrowModel():
|
||
|
return _arrow_model
|
||
|
|
||
|
|
||
|
_thought_balloon_3d = None
|
||
|
|
||
|
|
||
|
def setThoughtBalloon3d(thought_balloon_3d):
|
||
|
global _thought_balloon_3d
|
||
|
_thought_balloon_3d = thought_balloon_3d
|
||
|
|
||
|
|
||
|
def getThoughtBalloon3d():
|
||
|
return _thought_balloon_3d
|
||
|
|
||
|
|
||
|
_name_bg = [
|
||
|
# CCNormal
|
||
|
Vec4(0.8, 0.8, 0.8, 0.5),
|
||
|
Vec4(0.2, 0.2, 0.2, 0.6),
|
||
|
Vec4(1, 1, 1, 1),
|
||
|
Vec4(0.8, 0.8, 0.8, 0.5),
|
||
|
|
||
|
# CCNoChat
|
||
|
Vec4(1, 1, 1, 0.5),
|
||
|
Vec4(0.2, 0.2, 0.2, 0.6),
|
||
|
Vec4(1, 1, 1, 1),
|
||
|
Vec4(0.8, 0.8, 0.8, 0.5),
|
||
|
|
||
|
# CCNonPlayer
|
||
|
Vec4(1, 1, 1, 0.5),
|
||
|
Vec4(0.2, 0.2, 0.2, 0.6),
|
||
|
Vec4(1, 1, 1, 1),
|
||
|
Vec4(0.8, 0.8, 0.8, 0.5),
|
||
|
|
||
|
# CCSuit
|
||
|
Vec4(0.8, 0.8, 0.8, 0.5),
|
||
|
Vec4(0.2, 0.2, 0.2, 0.6),
|
||
|
Vec4(1, 1, 1, 1),
|
||
|
Vec4(0.8, 0.8, 0.8, 0.5),
|
||
|
|
||
|
# CCToonBuilding
|
||
|
Vec4(0.8, 0.8, 0.8, 0.5),
|
||
|
Vec4(0.2, 0.2, 0.2, 0.6),
|
||
|
Vec4(1, 1, 1, 1),
|
||
|
Vec4(0.8, 0.8, 0.8, 0.5),
|
||
|
|
||
|
# CCSuitBuilding
|
||
|
Vec4(0.8, 0.8, 0.8, 0.5),
|
||
|
Vec4(0.2, 0.2, 0.2, 0.6),
|
||
|
Vec4(1, 1, 1, 1),
|
||
|
Vec4(0.8, 0.8, 0.8, 0.5),
|
||
|
|
||
|
# CCHouseBuilding
|
||
|
Vec4(0.8, 0.8, 0.8, 0.5),
|
||
|
Vec4(0.2, 0.2, 0.2, 0.6),
|
||
|
Vec4(1, 1, 1, 1),
|
||
|
Vec4(0.8, 0.8, 0.8, 0.5),
|
||
|
|
||
|
# CCSpeedChat
|
||
|
Vec4(1, 1, 1, 0.5),
|
||
|
Vec4(0.2, 0.2, 0.2, 0.6),
|
||
|
Vec4(1, 1, 1, 1),
|
||
|
Vec4(0.8, 0.8, 0.8, 0.5),
|
||
|
|
||
|
# CCFreeChat
|
||
|
Vec4(0.8, 0.8, 0.8, 0.5),
|
||
|
Vec4(0.2, 0.2, 0.2, 0.6),
|
||
|
Vec4(1, 1, 1, 1),
|
||
|
Vec4(0.8, 0.8, 0.8, 0.5)
|
||
|
]
|
||
|
|
||
|
|
||
|
def getNameBg(color_code, state):
|
||
|
return _name_bg[4 * color_code + state]
|
||
|
|
||
|
|
||
|
_page_button = [NodePath(), NodePath(), NodePath(), NodePath()]
|
||
|
|
||
|
|
||
|
def setPageButton(state, page_button):
|
||
|
global _page_button
|
||
|
_page_button[state] = page_button
|
||
|
|
||
|
|
||
|
def getPageButton(state):
|
||
|
return _page_button[state]
|
||
|
|
||
|
|
||
|
_name_fg = [
|
||
|
# CCNormal
|
||
|
Vec4(0, 0, 1, 1),
|
||
|
Vec4(0.5, 0.5, 1, 1),
|
||
|
Vec4(0.5, 0.5, 1, 1),
|
||
|
Vec4(0.3, 0.3, 0.7, 1),
|
||
|
|
||
|
# CCNoChat
|
||
|
Vec4(0.8, 0.4, 0, 1),
|
||
|
Vec4(1, 0.5, 0.5, 1),
|
||
|
Vec4(1, 0.5, 0, 1),
|
||
|
Vec4(0.6, 0.4, 0.2, 1),
|
||
|
|
||
|
# CCNonPlayer
|
||
|
Vec4(0.8, 0.4, 0, 1),
|
||
|
Vec4(1, 0.5, 0.5, 1),
|
||
|
Vec4(1, 0.5, 0, 1),
|
||
|
Vec4(0.6, 0.4, 0.2, 1),
|
||
|
|
||
|
# CCSuit
|
||
|
Vec4(0, 0, 0, 1),
|
||
|
Vec4(1, 1, 1, 1),
|
||
|
Vec4(0.5, 0.5, 0.5, 1),
|
||
|
Vec4(0.2, 0.2, 0.2, 1),
|
||
|
|
||
|
# CCToonBuilding
|
||
|
Vec4(0, 0, 0, 1),
|
||
|
Vec4(1, 1, 1, 1),
|
||
|
Vec4(0.5, 0.5, 0.5, 1),
|
||
|
Vec4(0.3, 0.6, 1, 1),
|
||
|
|
||
|
# CCSuitBuilding
|
||
|
Vec4(0, 0, 0, 1),
|
||
|
Vec4(1, 1, 1, 1),
|
||
|
Vec4(0.5, 0.5, 0.5, 1),
|
||
|
Vec4(0.55, 0.55, 0.55, 1),
|
||
|
|
||
|
# CCHouseBuilding
|
||
|
Vec4(0, 0, 0, 1),
|
||
|
Vec4(1, 1, 1, 1),
|
||
|
Vec4(0.5, 0.5, 0.5, 1),
|
||
|
Vec4(0.3, 0.6, 1, 1),
|
||
|
|
||
|
# CCSpeedChat
|
||
|
Vec4(0, 0.6, 0.2, 1),
|
||
|
Vec4(0, 0.6, 0.2, 1),
|
||
|
Vec4(0, 1, 0.5, 1),
|
||
|
Vec4(0.1, 0.4, 0.2, 1),
|
||
|
|
||
|
# CCFreeChat
|
||
|
Vec4(0.3, 0.3, 0.7, 1),
|
||
|
Vec4(0.2, 0.2, 0.5, 1),
|
||
|
Vec4(0.5, 0.5, 1, 1),
|
||
|
Vec4(0.3, 0.3, 0.7, 1)
|
||
|
]
|
||
|
|
||
|
|
||
|
def getNameFg(color_code, state):
|
||
|
return _name_fg[4 * color_code + state]
|
||
|
|
||
|
|
||
|
def getNameWordwrap():
|
||
|
return 7.5
|
||
|
|
||
|
|
||
|
_card_pad = Vec4(0.1, 0.1, 0.1, 0)
|
||
|
|
||
|
|
||
|
def getCardPad():
|
||
|
return _card_pad
|
||
|
|
||
|
|
||
|
_whisper_colors = [
|
||
|
[
|
||
|
(Vec4(0.0, 0.0, 0.0, 1.0), Vec4(0.3, 0.6, 0.8, 0.6)),
|
||
|
(Vec4(1.0, 0.5, 0.5, 1.0), Vec4(1.0, 1.0, 1.0, 1.0)),
|
||
|
(Vec4(0.0, 0.0, 0.0, 1.0), Vec4(0.4, 0.8, 1.0, 1.0)),
|
||
|
(Vec4(0.0, 0.0, 0.0, 1.0), Vec4(0.3, 0.6, 0.8, 0.6))
|
||
|
],
|
||
|
[
|
||
|
(Vec4(0.0, 0.0, 0.0, 1.0), Vec4(0.3, 0.6, 0.8, 0.6)),
|
||
|
(Vec4(1.0, 0.5, 0.5, 1.0), Vec4(1.0, 1.0, 1.0, 1.0)),
|
||
|
(Vec4(0.0, 0.0, 0.0, 1.0), Vec4(0.4, 0.8, 1.0, 1.0)),
|
||
|
(Vec4(0.0, 0.0, 0.0, 1.0), Vec4(0.3, 0.6, 0.8, 0.6))
|
||
|
],
|
||
|
[
|
||
|
(Vec4(0.0, 0.0, 0.0, 1.0), Vec4(0.8, 0.3, 0.6, 0.6)),
|
||
|
(Vec4(1.0, 0.5, 0.5, 1.0), Vec4(1.0, 1.0, 1.0, 1.0)),
|
||
|
(Vec4(0.0, 0.0, 0.0, 1.0), Vec4(0.8, 0.4, 1.0, 1.0)),
|
||
|
(Vec4(0.0, 0.0, 0.0, 1.0), Vec4(0.8, 0.3, 0.6, 0.6))
|
||
|
],
|
||
|
[
|
||
|
(Vec4(0.0, 0.0, 0.0, 1.0), Vec4(0.8, 0.3, 0.6, 0.6)),
|
||
|
(Vec4(1.0, 0.5, 0.5, 1.0), Vec4(1.0, 1.0, 1.0, 1.0)),
|
||
|
(Vec4(0.0, 0.0, 0.0, 1.0), Vec4(0.8, 0.4, 1.0, 1.0)),
|
||
|
(Vec4(0.0, 0.0, 0.0, 1.0), Vec4(0.8, 0.3, 0.6, 0.6))
|
||
|
],
|
||
|
[
|
||
|
(Vec4(0.0, 0.0, 0.0, 1.0), Vec4(0.3, 0.6, 0.8, 0.6)),
|
||
|
(Vec4(1.0, 0.5, 0.5, 1.0), Vec4(1.0, 1.0, 1.0, 1.0)),
|
||
|
(Vec4(0.0, 0.0, 0.0, 1.0), Vec4(0.4, 1.0, 1.0, 0.4)),
|
||
|
(Vec4(0.0, 0.0, 0.0, 1.0), Vec4(0.3, 0.8, 0.3, 0.6))
|
||
|
],
|
||
|
[
|
||
|
(Vec4(0.0, 0.0, 0.0, 1.0), Vec4(0.97, 0.43, 0.1, 0.6)),
|
||
|
(Vec4(1.0, 0.5, 0.5, 1.0), Vec4(1.0, 1.0, 1.0, 1.0)),
|
||
|
(Vec4(0.0, 0.0, 0.0, 1.0), Vec4(0.98, 0.6, 0.38, 0.6)),
|
||
|
(Vec4(0.0, 0.0, 0.0, 1.0), Vec4(0.97, 0.43, 0.1, 0.6))
|
||
|
]
|
||
|
]
|
||
|
|
||
|
|
||
|
def getWhisperFg(color_code, state):
|
||
|
return Vec4(_whisper_colors[color_code][state][0])
|
||
|
|
||
|
|
||
|
def getWhisperBg(color_code, state):
|
||
|
return Vec4(_whisper_colors[color_code][state][1])
|
||
|
|
||
|
|
||
|
_balloon_modulation_color = Vec4(1.0, 1.0, 1.0, 1.0)
|
||
|
|
||
|
|
||
|
def setBalloonModulationColor(balloon_modulation_color):
|
||
|
global _balloon_modulation_color
|
||
|
_balloon_modulation_color = balloon_modulation_color
|
||
|
|
||
|
|
||
|
def getBalloonModulationColor():
|
||
|
return _balloon_modulation_color
|
||
|
|
||
|
|
||
|
def getChatFg(color_code, state):
|
||
|
return [Vec4(0.0, 0.0, 0.0, 1.0),
|
||
|
Vec4(1.0, 0.5, 0.5, 1.0),
|
||
|
Vec4(0.0, 0.6, 0.6, 1.0),
|
||
|
Vec4(0.0, 0.0, 0.0, 1.0)][state]
|
||
|
|
||
|
|
||
|
def getChatBg(color_code, state):
|
||
|
return [Vec4(1.0, 1.0, 1.0, 1.0),
|
||
|
Vec4(1.0, 1.0, 1.0, 1.0),
|
||
|
Vec4(1.0, 1.0, 1.0, 1.0),
|
||
|
Vec4(1.0, 1.0, 1.0, 1.0)][state]
|
||
|
|
||
|
|
||
|
_margin_prop_seq = 0
|
||
|
_default_qt_color = Vec4(0.8, 0.8, 1, 1)
|
||
|
_balloon_text_origin = Point3(1.0, 0, 2.0)
|