// Use this for initialization void Start() { this.player = GameObject.FindGameObjectWithTag("Player"); playerStay = false; this.toNextStage = false; //canvas.gameObject.SetActive(false); GetComponent <LongPressDetector>(); GetComponent <LongPressDetector>().OnLongPressTrigger += (e) => { Debug.Log("stay " + playerStay); //this.canvas.gameObject.SetActive(false); this.toNextStage = true; if (playerStay == true) { //現在のステージ番号を保存 string currentScene = SceneManager.GetActiveScene().name; int currentStageNumber = StageNumber.GetStageNumber(currentScene); StageDataPrefs.SaveStageNumber(++currentStageNumber); //チェックポイントのデータの削除 StageDataPrefs.DeleteCheckPoint(); SceneChanger.Instance().Change(nextSceneName, new FadeData(1, 1, Color.black)); } }; player.GetComponent <Status>().onDamage.Subscribe((e) => { //ここにダメージ受けた時の処理 GetComponent <LongPressDetector>().Cancel(); //ActivateCanvas(false); }); }
/// <summary> /// 吸生 /// </summary> /// <returns></returns> private IEnumerator PierceAndHeakCoroutine() { state = PlayerState.Pierce; var audioNames = new AudioName[] { AudioName.kaede_hun_kyusei_10, AudioName.kaede_kurae_kyusei_11 }; AudioManager.Instance.PlayPlayerSE(audioNames[Random.Range(0, audioNames.Length)].String()); EnemyAI nearEnemy = MostNearEnemy(); var isBoss = nearEnemy.GetComponent <BossMarker>() != null; playerAnimation.StopWalkAnimation(); //敵のほうを向くまで待機 yield return(StartCoroutine(RotateToTarget(nearEnemy.waistPosition, 5.0f))); status.Heal(pierceHealHP); //吸生終了まで待機 playerAnimation.StartKyuuseiAnimation(); yield return(new WaitForSeconds(2.0f)); playerAnimation.StopKyuuseiAnimation(); FarEnemy(nearEnemy); nearEnemy.UsedHeal(); state = PlayerState.Idle; if (isBoss) { SceneChanger.Instance().Change(nextSceneName, new FadeData(1, 1, Color.black)); } }
// Update is called once per frame void Update() { if (!Input.GetButton(InputMap.Type.AButton.GetInputName()) || triggered) { return; } var selected = menu.selected; var fadeData = new FadeData(1f, 1f, Color.black); this.triggered = true; if (selected == 0) { //最後のチェックポイントから StageManager.Resume(fadeData); } else if (selected == 1) { //タイトルに戻る SceneChanger.Instance().Change(SceneName.Title, fadeData); } else if (selected == 2) { //ゲーム終了 Application.Quit(); } }
// PlayableTrack再生時実行 public override void OnBehaviourPlay(Playable playable, FrameData info) { if (Application.isPlaying) { SceneChanger.Instance().Change(nextScene, sceneFade); } }
public static void Resume(FadeData fadeData) { StageManager.resum = true; int currentStageNumber = StageDataPrefs.GetStageNumber(); string stage = StageNumber.GetStageName(currentStageNumber); SceneChanger.Instance().Change(SceneNameManager.GetKeyByValue(stage), fadeData); }
public IEnumerator OnExecute() { SceneChanger.Instance().Change(sceneName, fade); while (true) { yield return(null); } }
// Update is called once per frame void Update() { foreach (var key in sceneChangerKeys) { if (Input.GetKeyDown(key)) { SceneChanger.Instance().Change(next); } } }
public override IEnumerator Action() { var wait = new WaitForSeconds(1f); if (!isSetuna && !SceneChanger.Instance().isChanging) { AudioManager.Instance.PlayEnemySE(AudioName.oni_oaa_preAttack_03.String()); yield return(wait); } yield return(enemyAttack.Attack()); }
// Update is called once per frame void Update() { if (change) { return; } if (Input.GetButton(type.GetInputName())) { this.change = true; SceneChanger.Instance().Change(sceneName, new FadeData(1f, 1f, Color.black)); } }
private void Update() { if (isPause) { return; } if (Input.GetButtonDown(InputMap.GetInputName(InputMap.Type.StartButton)) && !Fade.Instance().isFading&& !SceneChanger.Instance().isChanging) { Pause(); } }
private IEnumerator MovieUpdate() { foreach (var part in parts) { if (part == null) { continue; } yield return(part.MovieUpdate()); } yield return(new WaitForSeconds(1f)); SceneChanger.Instance().Change(scene, fadedata); }
// Update is called once per frame void Update() { if (kirinuke.isRunning || rengeki.turnNow || rengeki.actionNow || rengeki.moveNow) { return; } if (SceneChanger.Instance().isChanging) { return; } if (inputDisableElapsed < inputDisableSeconds) { inputDisableElapsed += Time.deltaTime; return; } if (pauseManager.isPause) { return; } //スタミナ回復(ガード中は回復しない) if (!Input.GetButton(InputMap.Type.LButton.GetInputName())) { staminaTimeElapsed += Slow.Instance.PlayerDeltaTime(); if (staminaTimeElapsed >= staminaHealTime) { status.RecoveryStamina(); staminaTimeElapsed = 0; } } //Debug.Log(status.GetStamina()); DashOrAvoid(); //if (pressButton > 20) pressButton = 0; // Debug.Log(pressButton); if (!action.IsAvoid()) { Guard(); Move(); Attack(); PierceAndHeal(); } //Avoid(); }
/// <summary> /// 攻撃を受けた時の処理 /// </summary> /// <param name="damageSource"></param> public void OnHit(DamageSource damageSource) { if (SceneChanger.Instance().isChanging) { return; } /* * //回避中に攻撃が当たってしまうのでとりあえずコメントアウト * if (!damageSource.canCounter) * { * //Debug.Log("player damaged"); * Damage(damageSource); * AudioManager.Instance.PlayPlayerSE(AudioName.kaede_ku_guard_05.String()); * return; * } * //*/ if (state == PlayerState.Defence) { //防御中 if (damageSource.attackCharacter is Thunder) { Debug.Log("player damaged"); Damage(damageSource); } else { AudioManager.Instance.PlayPlayerSE(AudioName.kaede_ku_guard_05.String()); status.DecreaseStamina(damageSource.damage); //ノックバックされる BeKnockedBack(damageSource); } } else if (state == PlayerState.Avoid) { } else if (state == PlayerState.Counter) { DoCounter(damageSource); } else { Debug.Log("player damaged"); Damage(damageSource); } }
private IEnumerator LateChangeScene() { this.changeScene++; var listUI = controlInfoPanel.GetComponent <ListUI>(); if (listUI.selected == 0) { //戻る controlInfoPanel.SetActive(false); SetEnabledButtons(true); //遅延させないとすぐに戻ってしまう yield return(new WaitForSecondsRealtime(1f)); this.visibleControlInfo = false; } else if (listUI.selected == 1) { //タイトルへ Time.timeScale = 1; SceneChanger.Instance().Change(SceneName.Title, new FadeData(1, 1, Color.black)); } this.changeScene--; }
private IEnumerator LimitUpdate(float limitTime) { yield return(new WaitForSeconds(limitTime)); SceneChanger.Instance().Change(next); }
private IEnumerator ChangeScene() { yield return(new WaitForSeconds(addWait)); SceneChanger.Instance().Change(scene, fadeData); }
/// <summary> /// タイトルへ戻る /// </summary> public void ToTitle() { //シーンの切り替えにコルーチンを利用しているためtimescaleを戻す Time.timeScale = 1.0f; SceneChanger.Instance().Change(SceneName.Title, changeTitleFade); }
// Use this for initialization void Start() { #if UNITY_EDITOR GameObject.Instantiate(terminalPrefab); TerminalRegistry.instance.Register("hello", (args) => { Debug.Log("hello"); }); TerminalRegistry.instance.Register("echo", (args) => { Debug.Log(args[0]); }); TerminalRegistry.instance.Register("enemy-damage", (args) => { Debug.Log("enemy-damage"); if (args.Length == 0 || args[0] == "near") { var player = GameObject.FindGameObjectWithTag(TagName.Player.String()); var enemy = Utilities.SearchMostNearEnemyInTheRange(player.transform.position, 100.0f, false); if (enemy != null) { var status = enemy.GetComponent <Status>(); status.__SetHP(1); } } else if (args[0] == "all") { foreach (var enemy in GameObject.FindGameObjectsWithTag(TagName.Enemy.String())) { var status = enemy.GetComponent <Status>(); status.__SetHP(1); } } }); TerminalRegistry.instance.Register("enemy-heal", (args) => { Debug.Log("enemy-heal"); if (args.Length == 0 || args[0] == "near") { var player = GameObject.FindGameObjectWithTag(TagName.Player.String()); var enemy = Utilities.SearchMostNearEnemyInTheRange(player.transform.position, 100.0f, false); if (enemy != null) { var status = enemy.GetComponent <Status>(); status.__SetHP(status.__GetMaxHP()); } } else if (args[0] == "all") { foreach (var enemy in GameObject.FindGameObjectsWithTag(TagName.Enemy.String())) { var status = enemy.GetComponent <Status>(); status.__SetHP(status.__GetMaxHP()); } } }); TerminalRegistry.instance.Register("player-heal", (args) => { var player = GameObject.FindGameObjectWithTag(TagName.Player.String()); var status = player.GetComponent <PlayerStatus>(); status.__SetHP(status.__GetMaxHP()); status.__SetStamina(status.__GetMaxStamina()); }); TerminalRegistry.instance.Register("warp", (args) => { var cp = Utilities.FindAny( "StageChangeArea01", "StageChangeArea02", "StageChangeArea03" ); if (cp != null) { var player = GameObject.FindGameObjectWithTag(TagName.Player.String()); player.transform.position = cp.transform.position; } }); TerminalRegistry.instance.Register("movie-boss", (args) => { SceneChanger.Instance().Change(SceneName.LastBossMovie, new FadeData(1, 1, Color.black)); }); #endif }