Beispiel #1
0
    private void Hit()
    {
        gameController.AddScore(1);
        Timer newEffect = effect.GetFromPool((int)eEffectType.AsteroidExp);

        newEffect.transform.position = transform.position;
        soundController.PlayEffectSound((int)eEffectSoundType.ExpAst);
        gameObject.SetActive(false);
    }
Beispiel #2
0
    private void OnDisable()
    {
        //effect
        Timer newEffect = effect.GetFromPool((int)eEffectType.PlayerExp);

        newEffect.transform.position = transform.position;
        //sound
        soundController.PlayEffectSound((int)eEffectSoundType.ExpPlayer);
        gameController.GameOver();
    }
Beispiel #3
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.gameObject.CompareTag("Enemy"))
     {
         gameObject.SetActive(false);
         //Add score
         //Add effect
         Timer effect = mEffectPool.GetFromPool((int)eEffectType.ExpPlayer);
         effect.transform.position = transform.position;
         //Add sound
     }
 }
Beispiel #4
0
    }                                                      //동일
    //public bool IsAlive()
    //{
    //    return mCurrentHP > 0;
    //}

    private void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.CompareTag("Bolt"))
        {
            //damage
            if (!mbInvincible)
            {
                mCurrentHP--;
                Debug.LogFormat("{0}/{1}", mCurrentHP, mMaxHP);
                if (mCurrentHP <= 0)
                {
                    mbInvincible = true;
                    StopCoroutine(mPhaseRoutine);
                    StartCoroutine(Die());
                }
            }
            Timer effect = mEffectPool.GetFromPool((int)eEffectType.ExpAst);
            effect.transform.position = other.ClosestPoint(transform.position);
            other.gameObject.SetActive(false);
        }
    }
 private void Hit(int damage)
 {
     CurrentHP -= damage;
     if (CurrentHP <= 0)
     {
         gameController.AddScore(1);
         Timer newEffect = effect.GetFromPool((int)eEffectType.EnemyExp);
         newEffect.transform.position = transform.position;
         soundController.PlayEffectSound((int)eEffectSoundType.ExpEnemy);
         gameObject.SetActive(false);
     }
 }
Beispiel #6
0
 public bool GetTouch()
 {
     for (int i = 0; i < Input.touchCount; i++)
     {
         Touch touch = Input.GetTouch(i);
         if (touch.phase == TouchPhase.Began)
         {
             Ray        ray = GenerateRay(touch.position);
             RaycastHit hit;
             if (Physics.Raycast(ray, out hit))
             {
                 if (hit.collider.gameObject == gameObject)
                 {
                     Timer effect = mEffectPool.GetFromPool(0);
                     effect.transform.position = hit.point;
                     return(true);
                 }
             }
         }
     }
     return(false);
 }
Beispiel #7
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.gameObject.CompareTag("Enemy") || other.gameObject.CompareTag("EnemyBolt"))
     {
         gameObject.SetActive(false);
         mGameController.PlayerDie();
         //Add score
         //Add effect
         Timer effect = mEffectPool.GetFromPool((int)eEffectType.ExpPlayer);
         effect.transform.position = transform.position;
         //Add sound
         mSoundController.PlayEffectSound((int)eSFXType.ExpPlayer);
     }
 }
Beispiel #8
0
 private void Hit(int damage)
 {
     if (mbInvincible)
     {
         return;
     }
     currentHP -= damage;
     Debug.Log(currentHP);
     if (currentHP <= 0)
     {
         gameController.AddScore(100);
         gameController.ClearBoss();
         Timer newEffect = effect.GetFromPool((int)eEffectType.EnemyExp);
         newEffect.transform.position = transform.position;
         soundController.PlayEffectSound((int)eEffectSoundType.ExpEnemy);
         gameObject.SetActive(false);
     }
 }
Beispiel #9
0
    //private void OnTriggerEnter(Collider other)
    //{
    //    if (other.gameObject.CompareTag("Bolt") ||
    //        other.gameObject.CompareTag("Player"))
    //    {
    //        gameObject.SetActive(false);
    //        //Add score
    //        //Add effect
    //        //Add sound
    //        other.gameObject.SetActive(false);
    //    }
    //}
    private void OnTriggerEnter(Collider other)
    {
        bool isBolt   = other.gameObject.CompareTag("Bolt");
        bool isPlayer = other.gameObject.CompareTag("Player");

        if (isBolt || isPlayer)
        {
            gameObject.SetActive(false);
            //Add score
            mGameController.AddScore(1);
            //add effect
            Timer effect = mEffectPool.GetFromPool((int)eEffectType.ExpAst);
            effect.transform.position = transform.position;
            //Add sound
            if (isBolt)
            {
                other.gameObject.SetActive(false);
            }
        }
    }
Beispiel #10
0
    public void Hit(float value)
    {
        mCurrentHP -= value;
        mUIController.ShowPlayerHP(mCurrentHP, mMaxHP);

        if (mCurrentHP <= 0)
        {
            if (mEffectpool == null)
            {
                mEffectpool = GameObject.FindGameObjectWithTag("EffectPool").
                              GetComponent <EffectPool>();
            }
            Timer effect = mEffectpool.GetFromPool((int)eEffecttype.Player);
            effect.transform.position = transform.position;

            mSoundController.PlayEffectSound((int)eSoundType.ExpPlayer);

            gameObject.SetActive(false);
            mGameControl.GameOver();
        }
    }
 public bool AddProgress(double value)
 {
     mCurrentHP += value;
     MainUIController.Instance.ShowProgress(mCurrentHP, mMaxHP);
     if (mCurrentHP >= mPhaseBoundary)
     {
         //next phase
         mCurrentPhase++;
         //GameController.Instance.NextImage();
         if (mCurrentPhase > 4)
         {
             //Clear
             //GameController.Instance.NextStage();
             GameController.Instance.Gold += mRewardBase *
                                             Math.Pow(mRewardWeight, GameController.Instance.StageNumber);
             return(true);
         }
         Timer effect = mEffectPool.GetFromPool((int)eEffectType.PhaseShift);
         effect.transform.position = mGem.transform.position;
         mGem.sprite    = mGemSprite[mStartIndex + mCurrentPhase];
         mPhaseBoundary = mMaxHP * 0.2f * (mCurrentPhase + 1);
     }
     return(false);
 }
Beispiel #12
0
    public void Hit(float value)
    {
        mCurrentHP -= value;
        mHPBar      = mBoltPool.EnemyHPBarPool.GetFromPool();
        mHPBar.transform.position = mHPBarPos.position;
        if (mCurrentHP <= 0)
        {
            if (mEffectpool == null)
            {
                mEffectpool = GameObject.FindGameObjectWithTag("EffectPool").
                              GetComponent <EffectPool>();
            }
            Timer effect = mEffectpool.GetFromPool((int)eEffecttype.Enmey);
            effect.transform.position = transform.position;

            mSoundController.PlayEffectSound((int)eSoundType.ExpEnem);

            mGameController.AddScore(10);

            mHPBar.gameObject.SetActive(false);
            mHPBar = null;
            gameObject.SetActive(false);
        }
    }
Beispiel #13
0
    private IEnumerator Hazards()
    {
        WaitForSeconds ThreeSeconds = new WaitForSeconds(3);
        WaitForSeconds pointTwo     = new WaitForSeconds(0.2f);

        while (true)
        {
            yield return(ThreeSeconds);

            int asteroidSpawnCount = 10, enemySpawnCount = 3;
            while (true)
            {
                if (asteroidSpawnCount > 0 && enemySpawnCount > 0)
                {
                    int randValue = Random.Range(0, 2);
                    if (randValue == 1)
                    {
                        SpawnAteroid();
                        asteroidSpawnCount--;
                        yield return(pointTwo);
                    }
                    else
                    {
                        SpawnEnemy();
                        enemySpawnCount--;
                        yield return(pointTwo);
                    }
                }
                else if (enemySpawnCount > 0)
                {
                    for (int i = 0; i < enemySpawnCount; i++)
                    {
                        SpawnEnemy();
                        yield return(pointTwo);
                    }
                    break;
                }
                else if (asteroidSpawnCount > 0)
                {
                    for (int i = 0; i < asteroidSpawnCount; i++)
                    {
                        SpawnAteroid();
                        yield return(pointTwo);
                    }
                    break;
                }
                else
                {
                    break;
                }
            }
            currentStageNumber++;

            for (int I = 0; I < 3; I++)
            {
                GameObject item = ItemP.GetFromPool((eItemType)Random.Range(0, 2));
                item.transform.position = new Vector3(Random.Range(-5f, 5f), 0, 16);
                item.gameObject.SetActive(true);
            }

            if (currentStageNumber % BossStageGap == 0)
            {
                //boss spawn
                yield return(ThreeSeconds);

                BossController boss = BossP.GetFromPool();
                boss.transform.position = new Vector3(0, 0, 19);
                boss.gameObject.SetActive(true);
                IsBossAlive = true;
                currentStageNumber++;
            }
            while (IsBossAlive)
            {
                //boss wait
                yield return(ThreeSeconds);
            }
        }
    }
Beispiel #14
0
    private void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            Ray        ray = GenerateRay(Input.mousePosition);
            RaycastHit hit;
            if (Physics.Raycast(ray, out hit))
            {
                if (GameController.Instance.Achieve_Click == 0)
                {
                    GameController.Instance.ClickAmount++;
                    if (GameController.Instance.ClickAmount >= 100000000)
                    {
                        QuestController.Instance.Achive_Click();
                    }
                }

                if (hit.collider.gameObject.CompareTag("Touch"))
                {
                    mTouchCount++;
                    GameController.Instance.Touch();
                    GameController.Instance.CheckTutorial();
                    if (mTouchCount >= mChangeCount)
                    {
                        StageController.Instance.ChangePlayerImage(mTouchImage);
                        if (mTouchImage == 0)
                        {
                            SoundController.Instance.FXSound(UnityEngine.Random.Range(0, 2));
                        }
                        mCurrentImage = mTouchImage;
                        mTouchImage++;
                        if (mTouchImage > 3)
                        {
                            mTouchImage = 0;
                        }
                        mTouchCount = 0;
                    }
                }
                if (hit.collider.gameObject.CompareTag("Craft"))
                {
                    CraftController.Instance.Touch();
                    SoundController.Instance.FXSound(UnityEngine.Random.Range(5, 7));
                }
                if (hit.collider.gameObject.CompareTag("Mole"))
                {
                    hit.collider.gameObject.GetComponent <Mole>().Moledaed();
                    SoundController.Instance.FXSound(UnityEngine.Random.Range(2, 5));
                }
                if (hit.collider.gameObject.CompareTag("Earth"))
                {
                    EarthController.Instance.Touch();
                    SoundController.Instance.FXSound(7);
                }
                if (hit.collider.gameObject.CompareTag("Dot"))
                {
                    Vector2 touchPos = new Vector2(hit.point.x, hit.point.y);
                    CustomImage.Instance.Draw(touchPos);
                }
            }
            Timer effect = mEffectPool.GetFromPool();
            effect.transform.position = hit.point + (Vector3.back * 3);
        }

        if (Input.GetMouseButton(0))
        {
            Ray        ray = GenerateRay(Input.mousePosition);
            RaycastHit hit;
            if (Physics.Raycast(ray, out hit))
            {
                if (hit.collider.gameObject.CompareTag("Dot"))
                {
                    Vector2 touchPos = new Vector2(hit.point.x, hit.point.y);
                    CustomImage.Instance.Drawing(touchPos);
                }
            }
        }
        Drawing();
        Vector3 pos;

        if (CheckTouch(out pos))
        {
            Timer effect = mEffectPool.GetFromPool();
            effect.transform.position = pos + (Vector3.back * 3);
        }
    }
Beispiel #15
0
 public GameObject GetEffect(eParticleEffect index)
 {
     return(EffectP.GetFromPool((int)index));
 }
Beispiel #16
0
    private void OnDisable()
    {
        Timer effect = mEffectPool.GetFromPool((int)eEffecttype.Bomb);

        effect.transform.position = transform.position;
    }
Beispiel #17
0
 public GameObject GetEffect(eEffectType input)
 {
     return(EffectP.GetFromPool(input));
 }