Ejemplo n.º 1
0
    IEnumerator InitializePool()
    {
        if (!isObjectPooled)
        {
            UIGameController.Instance.ShowNotificationMessage(LanguageManager.Instance.GetMessage("LOA0012"));
            yield return(new WaitForSeconds(0.1f));

            foodPool = FoodObjectPooling.Instance;

            fishPool = FishObjectPooling.Instance;

            predatorPool = PredatorObjectPooling.Instance;

            isObjectPooled = true;
        }
        yield return(null);

        GameController.Instance.StartListeningForSocketUpdates();
    }
Ejemplo n.º 2
0
    IEnumerator DeathAnimation(FishController removeFish, FishObjectPooling fishPool)
    {
        Vector3 deathScale = fishHead.transform.lossyScale;
        float   increment  = 0.04f;

        for (int i = 0; i < count / 2; i++)
        {
            gameObject.transform.localScale += new Vector3(increment, increment);
            yield return(new WaitForSeconds(delay / 2));
        }
        float decrement = 0.18f;

        for (int i = 0; i < count; i++)
        {
            gameObject.transform.localScale -= new Vector3(decrement, decrement);
            yield return(new WaitForSeconds(delay));
        }

        gameObject.transform.localScale = new Vector3(0, 0);

        //Player dead Animation
        GameObject deadEffect = (GameObject)Resources.Load("prefab/Death Prefab", typeof(GameObject));
        GameObject death      = Instantiate(deadEffect) as GameObject;
        //calc scale
        Vector3 newScale = new Vector3(death.transform.localScale.x * deathScale.x, death.transform.localScale.y * deathScale.y);

        death.transform.localScale = newScale;
        death.transform.position   = fishHead.transform.position;

        yield return(new WaitForSeconds(2f));

        Destroy(death);
        gameObject.transform.localScale = new Vector3(1, 1, 1);

        fishPool.ReturnGameObject(removeFish.localData.fishSkin, removeFish.gameObject);
    }
Ejemplo n.º 3
0
 public void StartDeathAnimation(FishController removeFish, FishObjectPooling fishPool)
 {
     SoundUtility.Instance.PlaySFX(SFXData.SfxDie);
     StartCoroutine(DeathAnimation(removeFish, fishPool));
 }