protected override void SingletonAwakened()
        {
            ActiveScene = TCScenesManager.GetActiveScene();
            if (ActiveScene == null)
            {
                Logger.Error("The scene '{Scene}' doesn't have a TCScene assigned to it!",
                             SceneManager.GetActiveScene().name);
                return;
            }

            tracersEffectsPool = new GameObjectPool(ActiveScene.traceEffectPrefab);
            bulletHolePool     = new GameObjectPool(ActiveScene.bulletHoleEffectPrefab);
            rocketsPool        = new NetworkProjectileObjectsPool(ActiveScene.rocketPrefab);
        }
        protected override void OnAdd()
        {
            nextTimeToFire         = 0f;
            currentProjectileCount = maxWeaponProjectileCount;
            isReloading            = false;

            if (isServer)
            {
                projectileObjectsPool = GameSceneManager.Instance.rocketsPool;
            }

            if (isLocalClient)
            {
                OnUIUpdate(new DefaultHudUpdateMessage(null, currentProjectileCount, isReloading));
            }

            weaponGraphics = weaponObjectInstance.GetComponent <WeaponGraphics>();
            if (weaponGraphics == null)
            {
                Logger.Error("Weapon model doesn't contain a weapon graphics!");
            }
        }
Beispiel #3
0
 internal void SetupPool(NetworkProjectileObjectsPool objectsPool)
 {
     NetworkProjectileObjectsPool = objectsPool;
 }