Panda3D Tech Demo Spec 0.1 - P3D-Space-Tech-Demo/Panda3DSciFiTechDemo GitHub Wiki

Description of Core Functionality

Python Files

1. common.py

  • Initialisation Routine
    • Imports
    • Instantiation of ShowBase()
    • Scene, Invert, and Metal Shaders
    • Scene Filtering with CommonFilters()
    • Other Initialisation Information
    • getOption() and setOption()
    • loadParticles(), start_particles(), and load_particle_config()
    • create_skybox()
    • Event class
    • ResumableTask class (PythonTask)

2. fp_ctrl.py

  • Initialisation Routine
  • setKey()
  • reset_key_map()
  • fp_init()
  • do_jump()
  • fp_cleanup()
  • enable_fp_camera()
  • disable_fp_camera()
  • pause_fp_camera()
  • resume_fp_camera()
  • update_cam()
  • physics_update()
  • make_collision()
  • collider_data()
  • KeyBindings

3. Game.py

  • Initialisation Routine
  • buildOptionsMenu()
  • Game class
    • makeButton()
    • init()
    • readOptions()
    • updateSlider()
    • updateCheck()
    • updateMenu()
    • parseOptionVal()
    • getOptionValueString()
    • writeOptions()
    • setOptionData()
    • setOptionWidgets()
    • setOptionValue()
    • setOptionValueFromSlider()
    • setOptionValueFromMenu()
    • addOptionSlider()
    • addOptionCheck()
    • addOptionRadioSet()
    • addOptionMenu()
    • addOptionHeading()
    • updateOptionsCanvasSize()
    • setMusicVolume()
    • setSoundVolume()
    • setResolution()
    • updateTitleForWindowSize()
    • toggleFrameRateMeter()
    • windowUpdated()
    • openMenu()
    • openOptions()
    • openPauseMenu()
    • returnToGame()
    • startGame()
    • startSection()
    • sectionSpecificMenuDone()
    • startSectionInternal()
    • selectSection()
    • restartCurrentSection()
    • gameOver()
    • closeOptionsMenu()
    • closeCurrentMenu()
    • cleanupCurrentSection()
    • destroy()
    • quit()

4. holo.py

  • apply_hologram()
  • make_wire()
  • holo_cleanup()

5. Ships.py

  • Ships Data

6. ShipSpec.py

  • ShipSpec class

7. section1.py

  • Initialisation
  • add_section_task()
  • remove_section_tasks()
  • pause_section_tasks()
  • resume_section_tasks()
  • pause_section_intervals()
  • resume_section_intervals()
  • make_simple_spotlight()
  • Custom Multi-Array Vertex Format
  • create_beam()
  • create_beam_connector()
  • IdleWorkers class
    • pop() classmethod
    • add() classmethod
    • clear() classmethod
  • Worker class
    • init()
    • destroy()
    • reset_energy_beams()
    • shoot_energy_beams()
    • move_to_elevator()
    • continue_job()
    • do_job()
      • deactivation_task()
      • generate_part()
      • activate_generator()
      • deactivate_generator()
    • get_nearest_elevator()
    • set_part
  • WorkerBot class
    • init()
    • move()
      • job_func()
  • WorkerDrone class
    • init()
    • destroy()
    • wobble()
    • stop_wobble()
    • move()
      • job_func()
    • exit_compartment()
    • fly_up()
  • Job class
    • init()
    • bool()
    • len()
    • create_mirror()
    • done()
    • next_job_index()
    • notify_part_done()
    • get_next_part()
  • Part class
    • init()
    • destroy()
    • solidify()
    • reset_size()
    • move_to_ship()
  • Elevator class
    • init()
    • raise_platform()
    • lower_platform()
    • open_iris()
    • close_iris()
    • await_bot()
    • raise_bot()
      • open_iris()
      • raise_if_none_waiting()
    • lower_bot()
    • add_request()
    • handle_next_request()
    • handle_requests() classmethod
  • DroneCompartment class
    • init()
    • destroy()
    • open_iris()
    • close_iris()
    • release_drone()
      • request()
    • add_request()
    • handle_next_request()
  • Hangar class
    • init()
      • remove_door_open_intervals()
      • remove_door_close_intervals()
      • hide_corridor()
      • close_entrance_doors()
      • open_entrance_doors()
    • create_support_structure()
    • create_corridor()
    • add_containers()
    • destroy()
    • pulsate_emitters()
    • lower_panel()
    • slide_panel()
    • raise_elevator_platform()
    • deactivate_forcefield()
    • lower_elevator_platform()
    • raise_panel()
    • raise_stairs()
  • Section1 class
    • init()
      • enable_orbital_cam()
      • cam_switch()
    • start_jobs()
    • parse_job_schedule()
    • move_camera()
    • setup_elevator_camera()
    • add_primitive()
    • add_mirror_job()
    • check_job()
    • check_workers_done()
    • pauseGame()
    • resumeGame()
    • destroy_holo_ship()
    • destroy()
  • initialise()
  • KeyBindings

8. Section2 .py Library

  • CommonValues.py
  • EndPortal.py
    • create_sphere()
    • SphericalPortalSystem class
      • init()
      • update_portal_cam()
      • destroy()
  • Enemy.py
    • Enemy class
      • init()
      • setupExplosion()
      • setFlinchPool()
      • resetFlinchCounter()
      • alterHealth()
      • flinch()
      • update()
      • runLogic()
      • attackPerformed()
      • onDeath()
      • destroy()
    • FighterEnemy class
      • init()
      • runLogic()
      • destroy()
  • EnemyShips.py
    • BasicEnemyBlaster class
      • init()
    • BasicEnemy class
      • init()
      • setupExplosion()
      • update()
      • runLogic()
      • destroy()
  • Explosion.py
    • Explosion class
      • init()
      • calcFullDuration()
      • activate()
      • update()
      • isAlive()
      • destroy()
  • GameObject.py
    • GameObject class
      • init()
      • physicalImpact()
      • update()
      • alterHealth()
      • turnTowards()
      • updateTurn()
      • getAngleWithVec()
      • destroy()
    • ArmedObject class
      • init()
      • weaponFired()
      • weaponReset()
      • weaponFired()
      • addWeapon()
      • startFiringSet()
      • ceaseFiringSet()
      • update()
      • attackPerformed()
      • destroy()
    • ShieldedObject class
      • init()
      • alterHealth()
      • update()
      • destroy()
    • Blast class
      • init()
      • update()
      • destroy()
  • Level.py
    • Level class
      • init()
      • interpretGeometry()
      • setPlayerSpawnPoint()
      • setExit()
      • buildSpawners()
      • activateSpawner()
      • activateSpawnerInternal()
      • activateSpawnerGroup()
      • buildTriggers()
      • triggerActivated()
      • addBlast()
      • update()
      • destroy()
  • mission.py
    • activateSpawner()
  • Player.py
    • Player class
      • init()
      • applyUIShader()
      • toggleThirdPerson()
      • setThirdPerson()
      • forceCameraPosition()
      • updateDeathCutscene()
      • updateCamera()
      • update()
      • weaponReset()
      • attackPerformed()
      • postTraversalUpdate()
      • alterHealth()
      • alterEnergy()
      • alterMissileCount()
      • updateHealthUI()
      • updateEnergyUI()
      • updateMissileUI()
      • updateSpeedometer()
      • updateRadar()
      • addUpdatingEffect()
      • destroy()
  • PlayerWeapons.py
    • BlasterProjectile class
      • init()
      • impact()
    • BlasterWeapon class
      • init()
      • fire()
      • triggerPressed()
      • triggerReleased()
      • update()
      • destroy()
    • Rocket class
      • init()
      • update()
      • impact()
    • RocketWeapon class
      • init()
      • fire()
      • triggerPressed()
  • Section2.py
    • Section2 class
      • init()
      • toggleThirdPerson()
      • startGame()
      • resumeGame()
      • pauseGame()
      • activated()
      • updateKeyMap()
      • update()
      • projectileImpact()
      • gameObjectPhysicalImpact()
      • triggerActivated()
      • exitTriggered()
      • cleanupLevel()
      • destroy()
    • initialise()
    • addOptions()
  • Spawner.py
    • Spawner class
      • init()
      • destroy()
  • SpecificEnemies.py
  • Trigger.py
    • Trigger class
      • init()
      • destroy()
  • UpdatingEffect.py
    • UpdatingEffect class
      • init()
      • start()
      • finish()
      • update()
      • destroy()
  • Weapon.py
    • Weapon class
      • init()
      • setAvailable()
      • activate()
      • deactivate()
      • triggerPressed()
      • triggerReleased()
      • update()
      • fire()
      • destroy()
    • ProjectileWeapon class
      • init()
      • deactivate()
      • update()
      • fire()
    • Projectile class
      • init()
      • makeRealProjectileFromTemplate() staticmethod
      • generateCollisionObject()
      • fly()
      • update()
      • impact()
      • destroy()
    • SeekingProjectile class
      • init()
      • update()
      • destroy()

9. Section3.py

  • Initialisation
  • /reference Folder

10. Section4 TBD