コード例 #1
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetButtonDown("Fire1"))
        {
            //rayの生成
            Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit = new RaycastHit();

            //rayと衝突していなかったら以降の処理をしない
            if (Physics.Raycast(ray, out hit) && isFirst)
            {
                Vector3 vec = new Vector3(hit.point.x, hit.point.y, hit.point.z);

                //パンプキングからパンプ菌を発射
                throwBom.ThrowingBall(vec, BomType.normal);

                bomb    = throwBom.GetBomObj();
                isFirst = false;
            }
        }
        if (bomb == null && isFirst == false)
        {
            camShake.DoShake(0.5f, 0.5f);
            isFirst = true;
        }
    }
コード例 #2
0
 void OnGUI()
 {
     if (GUILayout.Button("Click", GUILayout.Width(100), GUILayout.Height(100)))
     {
         Debug.Log("<color=green>[log]</color>---" + ToolsUseful.GetStackInfo());
         _shake.DoShake();
     }
 }
コード例 #3
0
    void OnDestroyCell()
    {
        ParticlesManager.instance.Play(poolExplosionCell, explosionCellPrefab, transform.position, transform.rotation);
        SoundManager.instance.Play(poolExplosionSound, explosionCellSound.audioClip, transform.position, explosionCellSound.volume);

        //do camera shake
        camShake.DoShake();
    }
コード例 #4
0
 public void Shake(string camName)
 {
     if (dic.ContainsKey(camName))
     {
         CameraShake cameraShake = dic[camName];
         cameraShake.DoShake();
         cameraShake.DoPull();
     }
 }
コード例 #5
0
ファイル: MinionCreate.cs プロジェクト: shooon3/TGS2018
    /// <summary>
    /// パンプ菌を作る
    /// </summary>
    /// <param name="parentObj"></param>
    void MinionsCreate(GameObject parentObj, int createPumpkin, bool isBossAttack, GameObject bossObj)
    {
        Vector3 position = parentObj.transform.position;
        Vector2 size     = new Vector2(4.0f, 4.0f);

        //揺らす
        camShake.DoShake(0.25f, 0.5f);

        AudioManager.Instance.PlaySE("Bomb");
        //攻撃してくるパンプキンを生成
        if (isBossAttack)
        {
            attackPumpkin = Instantiate(bossPumpkin, position, Quaternion.identity, parentObj.transform);

            parentObj.transform.parent = bossObj.transform;
        }
        else
        {
            attackPumpkin = Instantiate(pumpkinPre, position, Quaternion.identity, parentObj.transform);
        }

        StatusSet(createPumpkin);

        Vector3 effectOffset = new Vector3(position.x, position.y + 4.0f, position.z);

        //エフェクト生成
        Instantiate(createEffect, effectOffset, Quaternion.identity, parentObj.transform);

        Vector3 vec = Vector3.zero;

        float x = 0, y = 0, z = 0;

        //見た目だけのパンプキンを生成
        for (int i = 1; i < createPumpkin; i++)
        {
            if (isBossAttack)
            {
                x = Random.Range(position.x - size.x / 2, position.x + size.x / 2);
                y = Random.Range(position.y - size.y / 2, position.y + size.y / 2);


                vec = new Vector3(x, y, position.z);

                Instantiate(bossDisp, vec, Quaternion.identity, parentObj.transform);
            }
            else
            {
                x = Random.Range(position.x - size.x / 2, position.x + size.x / 2);
                z = Random.Range(position.z - size.y / 2, position.z + size.y / 2);

                vec = new Vector3(x, -9.5f, z);

                Instantiate(displayPumpkinPre, vec, Quaternion.identity, parentObj.transform);
            }
        }
        //FlickInitialize();
    }
コード例 #6
0
 public void Hit()
 {
     if (!_isInvincible)
     {
         Handheld.Vibrate();
         SoundManager.instance.Play(SoundManager.clip.PlayerHit);
         StartCoroutine(cameraShake.DoShake(0.1f, 0.3f));
         StartCoroutine(InvincibilityBlink(maxInvincibilityTime));
         _playerScript.DecreaseLife(1);
     }
 }
コード例 #7
0
ファイル: FallObj.cs プロジェクト: shooon3/TGS2018
 // Update is called once per frame
 void Update()
 {
     if (isFirst == true)
     {
         if (gameObject.activeSelf == true)
         {
             shake.DoShake(2.0f, 1.0f);
             isFirst = false;
         }
     }
 }
コード例 #8
0
    private void OnAttackProgress()
    {
        float moveCoeff = 0f;

        if (_timeSinceLastAttack > _handMoveDownTime)
        {
            moveCoeff = 1f - ((_timeSinceLastAttack - _handMoveDownTime) / _handReturnRotationTime);
        }
        else
        {
            moveCoeff = _timeSinceLastAttack / _handMoveTime;
        }

        Mathf.Clamp01(moveCoeff);
        moveCoeff = _handMoveCurve.Evaluate(moveCoeff);

        Vector3 rotation = new Vector3(0f, 0f, _targetHandZAngle * moveCoeff);

        if (_lastAttackIsRightHand)
        {
            _rightHand.transform.rotation = new Quaternion();
            _rightHand.transform.Rotate(rotation);
        }
        else
        {
            _leftHand.transform.rotation = new Quaternion();
            _leftHand.transform.Rotate(rotation);
        }

        if (_timeSinceLastAttack >= _handMoveDownTime)
        {
            if (!_handLanded)
            {
                // Произошел удар лапой
                _cameraShake.DoShake();
                float rand = UnityEngine.Random.Range(0f, 1f);
                if (rand < _lootboxChance)
                {
                    _lootboxSpawner.Spawn();
                }
                _handLanded = true;
            }
        }

        if (_timeSinceLastAttack >= _handMoveDownTime + _handReturnRotationTime)
        {
            _rightHand.transform.position = _rightHandStartingPos;
            _leftHand.transform.position  = _leftHandStartingPos;
        }
    }
コード例 #9
0
ファイル: FlakMissile.cs プロジェクト: eVirgil/Molten-Harvest
    void OnDestroy()
    {
        GameObject explosion = Instantiate(Exploding);

        explosion.transform.position = transform.position;
        explosion.transform.rotation = transform.rotation;

        CanCheckForEnemies     = true;
        collisionPeriodElapsed = 0.0f;

        CameraShake shake = Camera.main.gameObject.GetComponent <CameraShake>();

        if (shake != null)
        {
            shake.DoShake();
        }

        if (CanCheckForEnemies)
        {
            GameObject[] objArr = GameObject.FindGameObjectsWithTag("Enemy");
            //collisionPeriodElapsed += Time.deltaTime;
            //if (collisionPeriodElapsed < TotalCollisionPeriod) {
            for (int i = 0; i < objArr.Length; i++)
            {
                if (Vector3.Distance(objArr[i].transform.position, transform.position) < BlastRadius)
                {
                    EnemyCollisionManager collisionManager = objArr[i].GetComponent <EnemyCollisionManager>();
                    if (collisionManager != null)
                    {
                        collisionManager.DestroyEnemy();
                    }
                }
            }
            //}

            objArr = GameObject.FindGameObjectsWithTag("Drone");
            for (int i = 0; i < objArr.Length; i++)
            {
                if (Vector3.Distance(objArr[i].transform.position, transform.position) < BlastRadius)
                {
                    DroneAI droneAI = objArr[i].GetComponent <DroneAI>();
                    if (droneAI != null)
                    {
                        droneAI.Damage();
                    }
                }
            }
        }
    }
コード例 #10
0
ファイル: Player.cs プロジェクト: benjeee/ZoneLord
 public void RpcTakeDamage(float damage)
 {
     camShake.DoShake(.2f);
     if (isDead)
     {
         return;
     }
     currHealth -= damage;
     if (isLocalPlayer)
     {
         _uiManager.UpdateHealthBar(currHealth);
     }
     if (currHealth <= 0)
     {
         Die();
     }
 }
コード例 #11
0
ファイル: BaseBossEnemy.cs プロジェクト: shooon3/TGS2018
    /// <summary>
    /// 出現時に画面を揺らす
    /// </summary>
    protected void StartShake(float time = 0)
    {
        //一番最初のみ演出
        if (isFirst)
        {
            isFirst = false;

            // ボス出現時にカメラを揺らす
            shakeCam.DoShake(2.0f, 1.0f);

            // 音
            AudioManager.Instance.PlaySE("BossPOP");

            // 出現アニメーションが終わるまで待機
            StartCoroutine(WaitAnimEnd("pop", time));
        }
    }
コード例 #12
0
    // Update is called once per frame
    void Update()
    {
        if (holeInf.AllInfection())
        {
            if (isFirst)
            {
                cam.DoShake(1.0f, 0.5f);
                isFirst = false;
            }

            if (boss != null)
            {
                Destroy(boss);
            }
            foreach (Transform t in transform)
            {
                Destroy(t.gameObject);
            }
        }
    }
コード例 #13
0
ファイル: BossPumpKing.cs プロジェクト: shooon3/TGS2018
    protected override void DoUpdate()
    {
        // HPが0であれば処理しない
        if (HP <= 0)
        {
            return;
        }

        // HPバーの表示
        hpBar.fillAmount = (float)HP / (float)status.hp;

        if (IsDamage())
        {
            // ダメージを受けた際にカメラを揺らし、画面を赤くする
            imageAnim.SetBool("IsDamage", true);
            shakeCam.DoShake(0.5f, 0.5f);
        }
        else
        {
            imageAnim.SetBool("IsDamage", false);
        }
    }
コード例 #14
0
 public void PlayCameraShake(float duration, float x, float y)
 {
     camShakeEffect.DoShake(duration, x, y);
 }
コード例 #15
0
 void OnTriggerEnter(Collider col)
 {
     camShake.DoShake(1.5f, 0.5f);
     AudioManager.Instance.FadeOutBGM(0.5f);
 }
コード例 #16
0
 public static void Shake()
 {
     instance.DoShake();
 }