예제 #1
0
    private void Start()
    {
        game     = GetComponent <Player>().game;
        canShoot = true;

        game.AddMouseEvent(InputEventType.Continious, 0, shoot);
        game.AddSimpleInputEvent(InputEventType.OnBegin, KeyCode.R, reload);

        //Bullet Factory
        Bullet.Factory = () =>
        { return(Instantiate(
                     bulletPrefab,
                     Vector3.zero,
                     Quaternion.identity,
                     game.BulletParent.transform)); };

        //Bullet Pool
        game.PlayerBulletPool = new Pool <GameObject>(
            50,
            Bullet.Factory,
            Bullet.InitializeBullet,
            Bullet.DeactivateBullet,
            true);

        //Método de reemplazo para Destroy()
        Bullet.OnDeactivate = game.PlayerBulletPool.ReturnObjectToPool;
        game.UpdateBullets(bulletCount, maxBullets);
    }
예제 #2
0
 private void Awake()
 {
     game = new GameModelManager();
     game.BulletParent = GameObject.Find("Bullets");
     game.InitializeEnemyBulletPool(60, EnemyBulletPrefab, EnemyBullet.InitializeBullet, EnemyBullet.DeactivateBullet, true);
     _vignetteEffectMax = myProfile.vignette.settings.intensity;
     rb               = GetComponent <Rigidbody>();
     Cursor.visible   = false;
     Cursor.lockState = CursorLockMode.Locked;
 }
예제 #3
0
    //Tiempo de juego.
    //Recuento de oleadas.
    //Lista de Spawners.(?).
    //Lista de enemigos. (?).
    //public static List<Player> Player; //PlayerSerializable.

    public GameModelManager()
    {
        if (instance == null)
        {
            instance = this;
        }
        _gameView   = UnityEngine.Object.FindObjectOfType <GameManagerView>();
        _controller = UnityEngine.Object.FindObjectOfType <GameController>();
        _scenes     = UnityEngine.Object.FindObjectOfType <SceneManagement>();
        UpdatePoints();
        BulletParent = UnityEngine.GameObject.Find("Bullets");
    }