40 lines
1.5 KiB
Python
40 lines
1.5 KiB
Python
# coding=utf-8
|
|
from ...BlueFoxTools.ModConfig import MOD_NAME
|
|
from ...BlueFoxTools.SpecialFunciton.BlueFoxSystem import BlueFoxClientSystem
|
|
from ...BlueFoxTools.SystemTools import SystemTools
|
|
from ...BlueFoxTools.ToolsConfig import *
|
|
from ...BlueFoxTools.EventFilter import BlueFoxFilterEnum as ef
|
|
|
|
|
|
class MainClient(BlueFoxClientSystem):
|
|
systemTools = SystemTools.GetTools('MainClient')
|
|
mcListener = systemTools.ListenForEvent()
|
|
blueFoxListener = systemTools.GetBlueFoxServerListener()
|
|
mainServer = systemTools.ListenForEvent(
|
|
namespace=MOD_NAME, systemName='MainServer'
|
|
)
|
|
blockUseListener = systemTools.FilterListener(eventName='ClientItemUseOnEvent')
|
|
|
|
def __init__(self, *args):
|
|
super(MainClient, self).__init__(*args)
|
|
self.systemTools.Binding(self)
|
|
self.usingCd = False
|
|
|
|
@blueFoxListener
|
|
def PlaySound(self, args):
|
|
posDim = args['posDim']
|
|
pitch = args['pitch']
|
|
if posDim[3] == clientCompFactory.CreateGame(LevelId).GetCurrentDimension():
|
|
clientCompFactory.CreateCustomAudio(LevelId).PlayCustomMusic(
|
|
args['soundName'], posDim[:3], pitch=pitch
|
|
)
|
|
|
|
@blockUseListener(ef.ClientEvent.NormalEvent.NotInCd('rtdd:ItemUseOnEvent', 0.2))
|
|
def ClientItemUseOnEventNotInCd02(self, args):
|
|
if args['itemName'] == 'rtdd:recipe_book':
|
|
clientApi.PushScreen(MOD_NAME, 'CookRecipe', {})
|
|
|
|
@blueFoxListener
|
|
def PlayAttackAnim(self, args):
|
|
clientCompFactory.CreatePlayer(LevelId).Swing()
|