Beispiel #1
0
    /// <summary>
    /// attend avant de tirer pour soit atteindre la cible (best) ou attendre x seconde pour rajouter du random
    /// </summary>
    /// <param name="isBest">Si le tir sera réussis</param>
    /// <returns></returns>
    private IEnumerator WaitShot(bool isBest)
    {
        bool  shoot  = false;
        float offset = 0.0f;

        powerBar = GameObject.Find("powerBar").GetComponent <powerBarScript>();

        if (isBest)
        {
            // attend pour que le tir soit parfait en fonction de la power bar
            while (!shoot)
            {
                offset = powerBar.GetAmount(); //valeur de la powerbar
                if (offset > 0.4 && offset < 0.6)
                {
                    shoot = true;
                }
                else
                {
                    yield return(null);
                }
            }
        }
        else
        {
            // attend un nombre de seconde avant de tirer pour randomizer plus
            float rdm = Random.Range(1, 3);
            yield return(new WaitForSeconds(rdm));
        }
        this.GetComponents <AudioSource>()[0].Play();
        GetComponent <Launcher>().isShooting = true;
    }
Beispiel #2
0
    //private GameObject outBoundaries;
    //private bool checkAABB = false;
    //private bool outsideAABB = false;
    //private bool targetAABB = false;

    void Start()
    {
        physicScript = gameObject.GetComponent <BallisticPhysics>();
        //outBoundaries = GameObject.Find("AABB");
        //checkAABB = false;
        powerBar    = GameObject.Find("powerBar").GetComponent <powerBarScript>();
        gameManager = GameObject.FindGameObjectWithTag("Game manager");
        Invoke("DestroyProjectile", lifeTime);
        projectile            = gameObject.GetComponent <Rigidbody>();
        projectile.useGravity = false;
        if (gameManager.GetComponent <GameManager>().teamTurn == gameManager.GetComponent <GameManager>().playerTag)
        {
            target = gameManager.GetComponent <GameManager>().enemiesAlive[gameManager.GetComponent <GameManager>().selectedPlayerTarget];
        }
        else if (gameManager.GetComponent <GameManager>().teamTurn == gameManager.GetComponent <GameManager>().enemiesTag)
        {
            target = gameManager.GetComponent <GameManager>().playerAvatarsAlive[gameManager.GetComponent <GameManager>().selectedEnemyTarget];
        }
        Launch();
    }
Beispiel #3
0
 private void Start()
 {
     powerBar   = GameObject.Find("powerBar").GetComponent <powerBarScript>();
     isShooting = false;
     isProj     = false;
 }
Beispiel #4
0
    void Start()
    {
        players          = GameObject.FindGameObjectsWithTag(playerTag);
        enemies          = GameObject.FindGameObjectsWithTag(enemiesTag);
        mainCamera       = GameObject.FindGameObjectWithTag("MainCamera");
        audioSources     = mainCamera.GetComponents <AudioSource>();
        winClip          = (AudioClip)Resources.Load("Audio/win");
        finalClip        = (AudioClip)Resources.Load("Audio/final");
        whipSound        = (AudioClip)Resources.Load("Audio/whip");
        clapSound        = (AudioClip)Resources.Load("Audio/clap");
        deathPlayerSound = (AudioClip)Resources.Load("Audio/Shotgun_Blast-Jim_Rogers-1914772763");

        enemyLifes         = GameObject.FindGameObjectWithTag("enemyLifes");
        playerAvatarLifes  = GameObject.FindGameObjectWithTag("playerAvatarLifes");
        positionEnemyLife  = enemyLifes.transform.GetChild(0).position;
        positionPlayerLife = playerAvatarLifes.transform.GetChild(0).position;
        offsetLife         = life.transform.localScale.x * 4;

        foreach (GameObject player in players)
        {
            playerAvatarsAlive.Add(player);
            //image
            instaLife = Instantiate(playerImage, positionPlayerLife, new Quaternion()) as GameObject;
            instaLife.transform.SetParent(playerAvatarLifes.transform);
            //XMark
            instaLife = Instantiate(life, positionPlayerLife, new Quaternion()) as GameObject;
            instaLife.transform.SetParent(playerAvatarLifes.transform);
            positionPlayerLife += new Vector3(offsetLife, 0, 0);
        }
        playerAvatarLifes.GetComponent <playersLivesScript>().enabled = true;
        foreach (GameObject enemy in enemies)
        {
            enemiesAlive.Add(enemy);
            //image
            instaLife = Instantiate(enemyImage, positionEnemyLife, new Quaternion()) as GameObject;
            instaLife.transform.SetParent(enemyLifes.transform);
            //XMark
            instaLife = Instantiate(life, positionEnemyLife, new Quaternion()) as GameObject;
            instaLife.transform.SetParent(enemyLifes.transform);
            positionEnemyLife -= new Vector3(offsetLife, 0, 0);
        }
        enemyLifes.GetComponent <enemiesLivesScript>().enabled = true;

        powerBar   = GameObject.Find("powerBar").GetComponent <powerBarScript>();
        redSprite  = GameObject.Find("powerBarRed");
        blueSprite = GameObject.Find("powerBarBlue");
        victory    = GameObject.Find("victoryText");
        victory2   = GameObject.Find("victoryText2");


        //commencer la partie
        redSprite.SetActive(false);
        blueSprite.SetActive(true);
        victory.SetActive(false);
        victory2.SetActive(false);
        teamTurn             = playerTag;
        selectedPlayerAvatar = 0;
        selectedEnemyAvatar  = 0;
        selectedPlayerTarget = 0;
        selectedEnemyTarget  = 0;
        playerAvatarsAlive[selectedPlayerAvatar].GetComponent <controlPlayer>().enabled = true;
        enemiesAlive[selectedEnemyAvatar].GetComponent <IAEnemyScript>().enabled        = true;
        StartCoroutine(playerAvatarsAlive[selectedPlayerAvatar].GetComponent <Launcher>().launch());
    }