Tanks Multiplayer  1.4
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 12]
 CAudioManagerHandles playback of background music, 2D and 3D one-shot clips during the game. Makes use of the PoolManager for activating 3D AudioSources at desired world positions.
 CBotSpawnerResponsible for spawning AI bots when in offline mode, otherwise gets disabled.
 CBulletProjectile script for player shots with collision/hit logic.
 CCollectibleBase class for all derived Collectibles (health, shields, etc.) consumed or carried around. Extend this to create highly customized Collectible with specific functionality.
 CCollectibleStateCustom class used for storing Collectible states across the network in a SyncListStruct.
 CCollectibleTeamCustom Collectible implementation for scene owned (unassigned) or team owned items. E.g. allowing for 'Rambo' pickups, Capture the Flag items etc.
 CCollectibleZoneComponent that acts as an area to trigger collection of CollectibleTeam items. E.g. necessary for team bases in Capture The Flag mode. Needs a Collider to trigger.
 CDontDestroyManagerScript that makes child objects non-destroyable on scene changes. Only keeps one instance (the same) across the whole game.
 CEncryptorEncrypts strings passed in by using a set obfuscation key as well as the unique identifier of the running device. Used for storing in-app purchases.
 CFollowTargetCamera script for following the player or a different target transform. Extended with ability to hide certain layers (e.g. UI) while in "follow mode".
 CGameManagerManages game workflow and provides high-level access to networked logic during a game. It manages functions such as team fill, scores and ending a game, but also video ad results.
 CIAPProductDescribes an in-app purchase product that can be bought by using Unity IAP. Contains several UI elements and logic for selecting/deselecting.
 CIAPProductRestoreSimple script to handle restoring purchases on iOS. Restoring purchases is a requirement by Apple and your app will be rejected if you do not provide it.
 CJoinMessageThe client message constructed for the add player request to the server. You can extend this class to send more data at the point of joining a match.
 CNetworkDiscoveryCustomCustom implementation of the Unity Networking NetworkDiscovery class. This script auto-joins matches found in the local area network on discovery.
 CNetworkManagerCustomCustom implementation of the Unity Networking NetworkManager class. This script is responsible for connecting to the Matchmaker, spawning players and handling disconnects.
 CNetworkMigrationManagerCustomCustom implementation of the Unity Networking NetworkMigrationManager class. This script is responsible for handling host disconnects and ensuring that a client takes over the connection.
 CObjectSpawnerManages network-synced spawning of prefabs, in this case collectibles and powerups. With the respawn time synced on all clients it supports host migration too.
 CParticleColorModifies the starting color of a particle system to the color passed in. This is used on the player death particles to match the player's team color.
 CPlayerNetworked player class implementing movement control and shooting. Contains both server and client logic in an authoritative approach.
 CPlayerBotImplementation of AI bots by overriding methods of the Player class.
 CPoolChild class interacting and managed by the PoolManager. Handles all internal spawning/despawning of active/inactive instances.
 CPoolManagerThis class provides networked object pooling functionality and stores all Pool references. Spawning and despawning is handled by calling the corresponding methods, but there are also methods for creating Pools at runtime or destroying all gameobjects in a Pool completely.
 CPoolParticleWhen attached to an gameobject containing ParticleSystems, handles automatic despawn after the maximum particle duration.
 CPoolTimeObjectStores properties used on timed deactivation of instances.
 CPowerupBulletCustom powerup implementation for changing the player's bullet.
 CPowerupHealthCustom powerup implementation for adding player health points.
 CPowerupShieldCustom powerup implementation for adding player shield points.
 CPrefsKeysList of all keys saved on the user's device, be it for settings or selections.
 CSyncListCollectibleCustom class derived from SyncListStruct for our buffered list of CollectibleState values.
 CTeamDefines properties of a team.
 CUIBillboardOrientates the gameobject this script is attached to to always face the camera.
 CUIGameUI script for all elements, team events and user interactions in the game scene.
 CUIJoystickJoystick component for controlling player movement and actions using Unity UI events. There can be multiple joysticks on the screen at the same time, implementing different callbacks.
 CUIMainUI script for all elements, settings and user interactions in the menu scene.
 CUIRestartButtonThis script is attached to a runtime-generated gameobject in the game scene, taken over to the intro scene to directly request starting a new multiplayer game.
 CUnityAdsManagerManager handling the full workflow of showing video ads, reacting to completed/failed video views and resulting events. Implements a custom, percentage based chance for showing ads. Using Unity Ads.
 CUnityAnalyticsManagerManager fo tracking user actions in-game and sending them to further processing or visualization of events triggered by players, using Unity Analytics.
 CUnityIAPManagerManager handling the full in-app purchase workflow, granting purchases and catching errors using Unity IAP.