Bullet Dynamics v1.0.0
All Classes Namespaces Functions Variables Properties
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 1234]
 NBulletDynamics
 NCore
 CAudioManagerAudio Manager that uses ObjectPool<T> for AudioSources
 CBullet
Class that holds all of the relevant data of the Bullet.
Bullet should be added to the BulletEnvironment using a method BulletEnvironment.AddBullet(Bullet) so that the physics can be calculated by the handler.
Easiest way to create a bullet is to use a Weapon and call the method Weapon.Shoot which will call BulletEnvironment.AddBullet(BulletData, Transform)
 CBulletDataData that describes the physical behaviour of the bullet and holds the references of the bullet visuals
 CPhysicDataData that describes the physical behaviour of the bullet
 CBulletEnvironment
Environment for the Bullet Dynamics.
This component handles the bullet physics using FixedUpdate and contains the BulletEnvironmentData that affects the bullets in the scene
 CBulletEnvironmentDataEnvironment data used by the BulletEnvironment to control the Bullet's trajectory though the scene
 CBulletEnvironmentDebugVisualizerComponent that draws the debug visuals of the Bullets
 CBulletHandlerHandler for the Bullet physics. It uses BulletJob for calculating the trajectories
 CBulletHitInfoData that holds the information about the bullet's hit
 CBulletJobJob that calculates and moves the bullet according to the current velocity, hit information and penetration ability
 CBulletUtilityUtility class that provides the methods that can be used to calculate the Bullet'ss trajectory
 CBulletVisualsHandlerComponent that listens to BulletEnvironment events, instantiates a bullet visual if it is assigned, moves it across the scene and creates hit effect when the Bullet collides with the DynamicSurface
 CDynamicSurface
Component that marks the object as the surface that the Bullets can interact with.
If the object does not have this component, Bullet will not have any data for calculating penetration or ricochet so the bullet will stop at the collision point
 CDynamicSurfaceRigidbody<see cref=DynamicSurface"/> that applies the <see cref="BulletHitInfo.Force"/> to the <see cref="Rigidbody"/> component found on this gameobject, or the parent
 CObjectPoolObject pool system that allows any object to be pooled. Use methods Initialize(T) to set up the original object, GetObject to get the a new/available object from the pool, or ReturnObject(T) to return an object to the pool if it is no longer in use
 CPooledAudioSourceAudio source that will play the AudioClip using AudioManager's pool by calling AudioManager.PlayClip(AudioClip, Vector3, bool, bool)
 CRaycastDistanceComparerComparer for sorting the raycasts by the distance
 CSurfaceOnHitEffect
Component that will raise the event OnCompleted after Duration
 CSurfacePhysicMaterialMaterial of the surface
 CMaterialDataData that holds the information about the surface
 NDamage
 CBulletDamageHandlerComponent that subscribes to BulletEnvironment events and listens to Bullet.OnCollision event. It will apply the damage to the IDamageableByBullet found on the DynamicSurface that the Bullet collided with
 CBulletDamageConnectionConnects Core.BulletData with the damage it will cause
 CIDamageableByBulletInterface for the damageable objects
 NExample
 CBulletDynamicsExampleBulletTrailComponent that clears the bullet trail on enable and on disable
 CBulletDynamicsExampleDamageableTargetExample component that will respond to the damage using IDamageableByBullet. It will display the combined damage on the UI
 CBulletDynamicsExampleDestructableGlassExample component that will change the mesh renderer's color to the _hitColor when the DynamicSurface.OnCollision is raised
 CBulletDynamicsExamplePlayerControllerExample Controller that is used in the example scene to test the funcionalities
 CBulletDynamicsExampleTargetSurfaceOnCollisionExample component that will change the mesh renderer's color to the _hitColor when the DynamicSurface.OnCollision is raised
 NWeapons
 CWeapon
Component that allows the object to shoot the Bullets using Shoot method.
It supports fire rate setting which limits the Shoot method until the FireRate delay has been met
 CWeaponMagazine
Component that works with Weapon to set it's Weapon.IsShootingEnabled flag to false when the magazine is empty.
Support reloading with Reload method
 CWeaponZeroing
Component that allows the weapon to be zeroed to the specified distance.
Use the method SetZeroing(float) to rotate the _affectedTransform to the correct rotation