def __init__(self, model, model_name, asset_type): self.model_name = model_name fn_p = Filename.expand_from('$MAIN_DIR/assets/{}/{}/{}.toml'.format( asset_type, model_name, model_name, )) fn = fn_p.to_os_specific() self.specs = {} file_exists = os.path.isfile(fn) if file_exists: with open(fn, 'r') as f: self.specs = toml.load(f) self.read_model(model, model_name, self.specs) if not file_exists: with open(fn, 'w') as f: toml.dump(self.specs, f)
import sys import pman.shim from random import choice from direct.showbase.ShowBase import ShowBase from panda3d.core import loadPrcFile, Filename from panda3d.core import WindowProperties from panda3d.core import NodePath, Camera, DirectionalLight from panda3d.core import CollisionTraverser from road import RoadMan from ship import Ship from hud import Hud loadPrcFile(Filename.expand_from('$MAIN_DIR/settings.prc')) class GameApp(ShowBase): def __init__(self): ShowBase.__init__(self) pman.shim.init(self) #props = WindowProperties() #props.setCursorHidden(True) #props.setMouseMode(WindowProperties.M_relative) #base.win.requestProperties(props) base.disableMouse() self.mouse = [0, 0] self.setFrameRateMeter(True) self.win.setClearColor((0, 0, 0, 1)) self.cTrav = CollisionTraverser() self.cTrav.setRespectPrevTransform(True)
import sys from enum import Enum from panda3d.core import load_prc_file from panda3d.core import Filename from panda3d.core import InputDevice from panda3d.core import ConfigVariableString from panda3d.core import KeyboardButton from panda3d.core import ButtonRegistry from direct.showbase.ShowBase import ShowBase from direct.showbase.DirectObject import DirectObject load_prc_file(Filename.expand_from('$MAIN_DIR/keybindings.prc')) class Methods(Enum): FLIGHTSTICK = InputDevice.DeviceClass.flight_stick GAMEPAD = InputDevice.DeviceClass.gamepad KEYBOARD = InputDevice.DeviceClass.keyboard priorities = {cls.value: priority for priority, cls in enumerate(Methods)} event_prefixes = { InputDevice.DeviceClass.keyboard: '', InputDevice.DeviceClass.gamepad: 'gamepad', InputDevice.DeviceClass.flight_stick: 'flight_stick', } UNBOUND = 'none'
def load_walk_map(self, path): path = Filename.expand_from('$MAIN_DIR/assets/' + path) if not self.walk_map.read(path): print("Failed to read {}".format(path))
import os import sys import pman.shim from direct.showbase.ShowBase import ShowBase from panda3d.core import load_prc_file, Filename from panda3d.core import NodePath from panda3d.core import OrthographicLens from debugmode import debugMove from inputs import Inputs from tiledpanda import importTiledMap, loadTSX load_prc_file( Filename.expand_from('$MAIN_DIR/settings.prc') ) class Creature(): def __init__(self): self.node = NodePath("creature") self.node.reparentTo(render) class Player(Creature): def __init__(self): Creature.__init__(self) self.sprite = loadTSX("data/tiled/creatures/human_normal.tsx") self.current_animation = self.sprite[0] self.node.attachNewNode(self.current_animation[0].node()) self.node.setPos(0,0,0.2)