void Start() { //もぐらたたき処理 this.UpdateAsObservable().Where(_ => GameStatus.Instance.GetGameStart()).Subscribe(_ => { TouchInfo touchInfo = AppUtil.GetTouch(); if (touchInfo == TouchInfo.Began) { Ray ray = Camera.main.ScreenPointToRay(AppUtil.GetTouchPosition()); RaycastHit hit; if (Physics.Raycast(ray, out hit, rayDistance)) { if (hit.collider.gameObject.name.Contains("Mole")) { //SE再生 MoleSE.PlayOneShot(MoleSE.clip); //エフェクト生成 effectCon.CreateObj(hit.collider.gameObject.transform.position, Quaternion.identity); GameStatus.Instance.Score.Value++;//スコア加算 GameStatus.Instance.NowCount--; hit.collider.gameObject.GetComponent <NormalMole>().Hole.IsEmergenceMole.Value = false; hit.collider.gameObject.GetComponent <NormalMole>().Hole = null; hit.collider.gameObject.SetActive(false);//もぐら非表示 } } } }); }
public void Death() { gameObject.SetActive(false); ShotButton.interactable = false; SoundController.Instance.PlaySE(PlayerSE, 3); effectController.CreateObj(transform.position, Quaternion.identity); //ゲームオーバー画面表示 scoreController.GameOverObj.gameObject.SetActive(true); scoreController.GameOverObj.rectTransform.DOAnchorPosY(0, 1.0f); }
public void Create() { if (IsSwingWidth) { Vector3 point = new Vector3(Random.Range(MinX, MaxX), transform.position.y, transform.position.z); poolController.CreateObj(point, Quaternion.identity); } else { GameObject obj = poolController.GetPoolObj(transform.position, transform.rotation); obj.transform.SetParent(transform); } }
public override void OnTriggerEnter2D(Collider2D collision) { if (collision.tag == "Meteorite") { collision.gameObject.SetActive(false); gameObject.SetActive(false); PlayerStatus.Instance.Score.Value += 10; poolEffect.CreateObj(collision.transform.position, Quaternion.identity); } else if (collision.tag == "Enemy") { collision.gameObject.SetActive(false); gameObject.SetActive(false); PlayerStatus.Instance.Score.Value += 20; poolEffect.CreateObj(collision.transform.position, Quaternion.identity); } else if (collision.tag == "Boss") { gameObject.SetActive(false); PlayerStatus.Instance.Damage(collision.gameObject); PlayerStatus.Instance.Score.Value += 30; collision.GetComponent <BossEnemy>().BossLife.Value--; } }
void Update() { //移動処理 TouchInfo touchInfo = TouchUtil.GetTouch(); if (touchInfo == TouchInfo.Began && !PlayerStatus.Instance.IsDamage) { Move(); } //弾丸処理 if (poolController.IsCreate()) { poolController.CreateObj(poolController.AttachPoint.position, poolController.AttachPoint.rotation); SoundController.Instance.PlaySE(PlayerSE, 2); } //死亡処理 if (PlayerStatus.Instance.PlayerHp.Value <= 0.0f) { Death(); } }