示例#1
0
    private void Start()
    {
        // Я так и не смог придумать, как сделать это умнее.
        PlayerTankController player = _playerSpawner.Spawn(0).GetComponent <PlayerTankController>();

        _inputListener.Init(player);
    }
 // Use this for initialization
 void Start()
 {
     tankAim  = GetComponent <TankAimingComponent>();
     tankMove = GetComponent <TankMovementComponent>();
     player   = FindObjectOfType <PlayerTankController>();
     InvokeRepeating("RandomStuff", 0, timeBetweenRandom);
 }
 private void Start()
 {
     movementSpeed        = pcMoveSpeed;
     currentRotationTimer = rotationChangeTimer;
     moveInput            = Vector2.one;
     player = FindObjectOfType <PlayerTankController>();
 }
        private void UpdateCurrentShellInfo(PlayerTankController playerTank)
        {
            var currentShell = playerTank.CurrentShellType;

            shellName.text        = currentShell.ToString();
            shellAttackValue.text = playerTank.GunModule.Shells[(int)currentShell].GetComponent <Shell>().AttackValue.ToString() +
                                    " + " + playerTank.GunModule.AttackValue.ToString();
        }
示例#5
0
 void Start()
 {
     limit = Mathf.Abs(limit);
     if (limit > 90)
     {
         limit = 90;
     }
     offset             = new Vector3(offset.x, offset.y, -Mathf.Abs(zoomMax) / 2);
     target             = FindObjectOfType <PlayerTankController>();
     transform.position = target.transform.position + offset;
 }
    private void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("Player"))//only the player can get the powerup
        {
            playerScript = other.gameObject.GetComponent <PlayerTankController>();

            if (!coroutineStarted)
            {
                StartCoroutine(GetPowerUp(playerScript));
            }
        }
    }
示例#7
0
    private void UnloadLevel()
    {
        playerHpBar.Stop();

        enemyController.Stop();

        Destroy(playerController.gameObject);
        playerController = null;

        StopCoroutine(playUpdate);
        StopCoroutine(levelSpawner);
        currentLevel.Unload();
        currentLevel = null;

        PathFinder.DeleteInstance();
    }
        private void Start()
        {
            playerTankController                  = playerHangare.MakeTank(spawnPoints[0]) as PlayerTankController;
            playerTankController.SpawnPoint       = spawnPoints[0];
            playerTankController.EventDeadAction += CountingPlayerDeth;

            for (int i = 0; i < spawnPoints.Length; i++)
            {
                if (i > 0)
                {
                    var enemyAi = enemyHangare.SetTankNumber(i - 1).MakeTank(spawnPoints[i]) as AITank;
                    enemyAi.SpawnPoint       = spawnPoints[i];
                    enemyAi.EventDeadAction += CountingEnemyDeath;
                    aITanksControllers.Add(enemyAi);
                }
            }
        }
示例#9
0
    void Awake()
    {
        if (_singleInstance != null)
        {
            Object.Destroy(gameObject);
            return;
        }
        rigidBody = GetComponent <Rigidbody>();
        SetupAudioEmitters();
        DontDestroyOnLoad(gameObject);
        _singleInstance = this;

        SceneManager.sceneLoaded += (Scene scene, LoadSceneMode mode) =>
        {
            currentInteractable = null;
            SetupAudioEmitters();
        };
    }
示例#10
0
    public static void RegisterPlayer(PlayerTankController controller)
    {
        if (gameMode == null)
        {
            CreateGameMode();
            if (gameMode == null)
            {
                Debug.LogWarning("Gamemode static ref is not  valid");
                return;
            }
        }

        if (gameMode.controller != null)
        {
            Debug.LogWarning("The GameMode has a player ref, attempted to register a new controller");
            return;
        }

        gameMode.controller = controller;
    }
    private IEnumerator GetPowerUp(PlayerTankController playerScript)
    {
        coroutineStarted          = true;
        playerScript.glow.enabled = true;    //we glowwwww
        playerScript.isPoweredUp  = true;    //WE OFFICIALLY POWERED UP

        yield return(new WaitForSeconds(5)); //powerup lasts for 5 seconds and then blinks for 3??

        for (int i = 0; i < numOfBlinks; i++)
        {
            playerScript.glow.enabled = false;
            yield return(new WaitForSeconds(.2f));

            playerScript.glow.enabled = true;
            yield return(new WaitForSeconds(.2f));
        }

        playerScript.glow.enabled = false; //we not glow anymoreeeeee
        coroutineStarted          = false;
        playerScript.isPoweredUp  = false; //We not powered up anymore
    }
示例#12
0
    private void LoadNextLevel()
    {
        currentLevelIndex++;
        currentLevel = new Level(maps[currentLevelIndex])
        {
            victoryCallback = OnEnemiesDefeat,
            defeatCallback  = OnPlayerDefeat,
            enemyController = enemyController,
        };

        currentLevel.BuildMap();
        PositionCamera();
        PathFinder.CreateInstance(currentLevel.grid);

        var playerPosition = currentLevel.map.PlayerSpawnPoint();

        playerController = Instantiate(playerTankPrefab, playerPosition, Quaternion.identity);
        playerController.GetComponent <Breakable>().OnBreak += OnPlayerDefeat;

        enemyController.playerTransform = playerController.transform;

        // TODO: read these from map
        int[] enemyCounts = currentLevel.GetEnemyCounts();
        int   hunterCount = enemyCounts[(int)TankType.Hunter];
        int   pummelCount = enemyCounts[(int)TankType.Pummel];
        int   heavyCount  = enemyCounts[(int)TankType.Heavy];

        playerHpBar.SetPlayer(playerController.GetComponent <Breakable>());
        playerHpBar.SetBase(currentLevel.playerBaseBreakable);

        // Setup done, start systems
        enemyController.Begin(hunterCount, pummelCount, heavyCount);
        levelSpawner = StartCoroutine(currentLevel.Spawn());
        backGroundMusic.Play(backGroundMusic.Game);
        playUpdate = StartCoroutine(UpdatePlay());
    }
示例#13
0
 public void Init(PlayerTankController playerController)
 {
     _playerController = playerController;
 }
示例#14
0
 // Start is called before the first frame update
 void Start()
 {
     playerTankController    = GetComponent <PlayerTankController>();
     tankFireCDBarController = cdBar.GetComponent <TankFireCDBarController>();
     cdBar.SetActive(false);
 }
示例#15
0
 // Use this for initialization
 void Start()
 {
     cameraArm  = GetComponentInChildren <CameraArm>();
     playerTank = FindObjectOfType <PlayerTankController>();
 }
 private void UpdateHpBar(PlayerTankController playerTank)
 {
     hpBar.size  = playerTank.TankParams.CurrentHPValue();
     hpBar.value = 0;
 }
示例#17
0
 void Start()
 {
     animator = GetComponent<Animator> ();
     controller = GetComponent<PlayerTankController> ();
 }
示例#18
0
 // Use this for initialization
 void Awake()
 {
     this.tankController   = this.GetComponent <PlayerTankController>();
     this.turretController = this.GetComponent <PlayerTurretController>();
 }
示例#19
0
 // Use this for initialization
 void Start()
 {
     graphic = GetComponent <Image>();
     player  = FindObjectOfType <PlayerTankController>();
 }
示例#20
0
 private void Start()
 {
     player = FindObjectOfType <PlayerTankController>();
 }