public void _OnObjectInteracted(PlayerRoot player) { var state = this.GetScene <GameRoot>().State; state.SvOverlordChanged(player.State.OwnerPeerId); GD.Print("New overlord!"); }
override public void Exit(PlayerRoot pr = null) { //ボタンを初期位置に戻す pr.StartCoroutine(pr.LerpMove(pr.btn, pr.btn.transform.localPosition, btnTempPos, 1)); pr.p_jb.HideSkillBtn(); }
override public void Enter(PlayerRoot pr = null) { //初期化 pr.s_script = null; pr.btn = null; isBtnShow = false; d_layerMask = LayerMask.GetMask(new string[] { "Player", "Command", "Yousei" }); }
private IEnumerator BreakOut(PlayerRoot player_root) { inFight = false; ChangeInputEnable(false); timer.Pause(); WinnerDisplay(iplayerBinders.Find(n => n.TargetPlayerRoot == player_root).PlayerNum); yield return(new WaitForSeconds(1)); CheckRoundEnd(); }
override public void Excute(PlayerRoot pr = null) { #region マウス操作 if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit = new RaycastHit(); if (Physics.Raycast(ray, out hit, Mathf.Infinity, d_layerMask)) { switch (hit.collider.gameObject.layer) { case 8: //Player if (hit.collider.gameObject.GetComponent <JobBase>()._type == JobType.Leader) { if (hit.collider.gameObject.GetComponent <JobBase>().controller == ReadyMode.Instance) { if (!isBtnShow) { //ボタンはまだ生成していない pr.p_jb = hit.collider.gameObject.GetComponent <JobBase>(); if (pr.p_jb.CanTakeAction()) { pr.p_jb.ShowSkillBtn(); isBtnShow = true; } } // すでに生成したら else { pr.p_jb.HideSkillBtn(); pr.p_jb = hit.collider.gameObject.GetComponent <JobBase>(); pr.p_jb.ShowSkillBtn(); } } } break; case 14: //Yousei if (hit.collider.gameObject.GetComponent <SkillScript>().s_name == "癒しの精霊") { TutorialRoot.Instance.msg = "緑色の精霊をノエルにドラッグ!」"; pr.p_jb = hit.collider.gameObject.GetComponentInParent <JobBase>(); pr.btn = hit.collider.gameObject; pr.s_script = pr.btn.GetComponent <SkillScript>(); pr.ChangeMode(t_targetMode.Instance); } break; } } } if (Input.GetMouseButtonDown(1)) { pr.p_jb.HideSkillBtn(); } #endregion }
/// <summary> /// スキルを使う /// </summary> /// <param name="pr">PlayerRoot.</param> /// <param name="target">Target.</param> /// <param name="btn">Skill Button.</param> /// <param name="effectTime">Effect time.</param> private void SkillUse(PlayerRoot pr, GameObject target, GameObject btn, float effectTime = 0) { GameObject.FindGameObjectWithTag("PartyRoot").GetComponent <PartyRoot>().attackList.Add(pr.p_jb.gameObject); if (btn.GetComponentInParent <JobBase>()._type == JobType.Leader) { btn.GetComponentInParent <JobBase>().HideKirenBtn(); } pr.p_jb.ChangeMode(SkillMode.Instance); pr.p_jb._target = target; pr.p_jb.skillUsing = pr.s_script; pr.ChangeMode(BattelMode.Instance); }
override public void Excute(PlayerRoot pr = null) { ScenarioManager sm = ScenarioManager.Instance; //すべて表示したら if (sm.m_textControl.IsCompleteDisplayText) { //まだ次の行があったら if (sm.m_currentLine < sm.m_scenarios.Count) { //次の行を読む if (!sm.m_isCallPreload) { sm.m_isCallPreload = true; } if (Input.GetMouseButtonDown(0)) { sm.RequestNextLine(); } } else { //終わり sm.isScenario = false; } } else { //すべて表示していなかったら if (Input.GetMouseButtonDown(0)) { sm.m_textControl.ForceCompleteDisplaytext(); } } if (Input.GetMouseButtonDown(0) && !sm.isScenario) { GameObject.FindGameObjectWithTag("Text").GetComponent <Text>().text = ""; GameObject.FindGameObjectWithTag("Name").GetComponent <Text>().text = ""; sm.ItweenMoveTo(sm.hukidasi, new Vector3(0, -600, 0), 0.5f, "easeInOutBack"); if (SceneManager.GetActiveScene().name == "NormalScene") { pr.StartCoroutine(FadeManager.Instance.CloseTalkUI(0.5f, WalkMode.Instance)); } else { pr.StartCoroutine(FadeManager.Instance.CloseTalkUI(0.5f, BattelMode.Instance)); } } }
override public void Exit(PlayerRoot pr = null) { try { if (pr.p_jb._target != null) { if (pr.p_jb._target.layer == LayerMask.NameToLayer("Enemy")) { pr.DestroyObj(pr.p_jb._target); } } } catch (NullReferenceException) { } }
override public void Excute(PlayerRoot pr = null) { #region マウス操作 if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit = new RaycastHit(); if (Physics.Raycast(ray, out hit, Mathf.Infinity, d_layerMask)) { switch (hit.collider.gameObject.layer) { case 8: //Player if (hit.collider.gameObject.GetComponent <JobBase>()._type == JobType.Attacker) { if (hit.collider.gameObject.GetComponent <JobBase>().controller == ReadyMode.Instance) { if (!isBtnShow) { //ボタンはまだ生成していない pr.p_jb = hit.collider.gameObject.GetComponent <JobBase>(); if (pr.p_jb.CanTakeAction()) { TutorialRoot.Instance.msg = "スラッシュを魔物までドラッグ!」"; pr.p_jb.ShowSkillBtn(); isBtnShow = true; } } } } break; case 10: //Command if (isBtnShow) { // ボタンを選択したら // 選択したボタンを保管 Debug.Log(hit.collider.gameObject.GetComponent <SkillScript>().s_name); if (hit.collider.gameObject.GetComponent <SkillScript>().s_name == "スラッシュ") { pr.btn = hit.collider.gameObject; pr.s_script = pr.btn.GetComponent <SkillScript>(); pr.ChangeMode(t_targetMode.Instance); } } break; } } } #endregion }
override public void Exit(PlayerRoot pr = null) { if (pr.previous_controller == KirenControl.Instance) { TutorialRoot.Instance.msg = "「そのままノエルの魔法で魔物に攻撃だ!」"; } else { TutorialRoot.Instance.msg = ""; } PlayerRoot.Instance.DestroyObj(yajirusi); //ボタンを初期位置に戻す pr.StartCoroutine(pr.LerpMove(pr.btn, pr.btn.transform.localPosition, btnTempPos, 1)); pr.p_jb.HideSkillBtn(); }
override public void Enter(PlayerRoot pr = null) { //初期化 pr.s_script = null; pr.btn = null; isBtnShow = false; d_layerMask = LayerMask.GetMask(new string[] { "Player", "Command", "Yousei" }); TutorialRoot.Instance.msg = "「次は緑色の精霊精霊をクリックする。"; yajirusi = PlayerRoot.Instance.CreateObject(Resources.Load <GameObject>("Prefabs/UI/Tutorial/yajirusi")); foreach (var player in PlayerRoot.Instance.partyList) { if (player.GetComponent <JobBase>()._type == JobType.Leader) { yajirusi.transform.SetParent(player.transform); } } yajirusi.transform.localPosition = new Vector3(0, 0, 0); }
/// <summary> /// Ge tEnemy Perfab list(バグってる、直す必要がある) /// </summary> /// <param name="ed">Enemy Date</param> public void GetEnemyPerfabs(string ed) { PlayerRoot pr = this.GetComponent <PlayerRoot>(); SetCollect sc = JsonUtility.FromJson <SetCollect>(ed); float p = 0; foreach (var set in sc.sets) { p += set.probability; } float setNum = Random.Range(0, p); p = 0; foreach (var set in sc.sets) { p += set.probability; if (setNum <= p) { foreach (var name in set.enemy_set) { switch (name) { case "A": EnemyPrefabList.Add(pr.e_prefabList[1]); break; case "D": EnemyPrefabList.Add(pr.e_prefabList[2]); break; case "M": EnemyPrefabList.Add(pr.e_prefabList[3]); break; case "S": EnemyPrefabList.Add(pr.e_prefabList[0]); break; } } } } }
override public void Enter(PlayerRoot pr = null) { //初期化 switch (pr.s_script.s_targetype) { case TargetType.PLAYER: u_layerMask = LayerMask.GetMask(new string[] { "Player", "Ground" }); break; case TargetType.ENEMY: u_layerMask = LayerMask.GetMask(new string[] { "Enemy", "Ground" }); break; case TargetType.BOTH: u_layerMask = LayerMask.GetMask(new string[] { "Player", "Enemy", "Ground" }); break; } layerMask = LayerMask.GetMask(new string[] { "Ground", "Player", "Enemy" }); d_layerMask = LayerMask.GetMask(new string[] { "Command", "Yousei" }); // ボタンの初期位置を保管する btnTempPos = pr.btn.transform.localPosition; }
void OnControllerColliderHit(ControllerColliderHit other) { if (this.battelStatus == BattelStatus.NOT_IN_BATTEL) { GameObject other_go = other.gameObject; // モンスターを接触したら if (other_go.layer == LayerMask.NameToLayer("Enemy")) { PlayerRoot pr = PlayerRoot.Instance; pr.ChangeMode(T_Wait.Instance); pr.p_jb._target = other_go; if (other_go.GetComponentInParent <EnemyPoint>().battelEnemyList.Count > 0) { pr.battelEnemyList = other_go.GetComponentInParent <EnemyPoint>().battelEnemyList; } FadeManager.Instance.LoadLevel("BattelScene", 2, BattelStart.Instance); pr.transform.position = this.transform.position; pr.transform.rotation = this.transform.rotation; other_go.transform.GetComponentInParent <EnemyPoint>().isEnemyDead = true; Destroy(other_go); } } }
override public void Enter(PlayerRoot pr = null) { }
virtual public void Exit(PlayerRoot pr = null) { }
virtual public void Excute(PlayerRoot pr = null) { }
override public void Enter(PlayerRoot pr = null) { yajirusi = PlayerRoot.Instance.CreateObject(Resources.Load <GameObject>("Prefabs/UI/Tutorial/yajirusi")); if (pr.previous_controller == YumaControl.Instance) { TutorialRoot.Instance.msg = "スラッシュを魔物までドラッグ!」"; yajirusi.transform.SetParent(PlayerRoot.Instance.enemyList[1].transform); yajirusi.transform.localPosition = new Vector3(0, 0, 0); } if (pr.previous_controller == KiraControl.Instance) { TutorialRoot.Instance.msg = "シールドをユウマにドラッグ!」"; foreach (var player in PlayerRoot.Instance.partyList) { if (player.GetComponent <JobBase>()._type == JobType.Attacker) { yajirusi.transform.SetParent(player.transform); } } yajirusi.transform.localPosition = new Vector3(0, 0, 0); } if (pr.previous_controller == KirenControl.Instance) { TutorialRoot.Instance.msg = "精霊をノエルまでドラッグ!」"; foreach (var player in PlayerRoot.Instance.partyList) { if (player.GetComponent <JobBase>()._type == JobType.Magician) { yajirusi.transform.SetParent(player.transform); } } yajirusi.transform.localPosition = new Vector3(0, 0, 0); } if (pr.previous_controller == Kiren2Control.Instance) { TutorialRoot.Instance.msg = "次は緑色の精霊をノエルにドラッグ!」"; foreach (var player in PlayerRoot.Instance.partyList) { if (player.GetComponent <JobBase>()._type == JobType.Magician) { yajirusi.transform.SetParent(player.transform); } } yajirusi.transform.localPosition = new Vector3(0, 0, 0); } //初期化 switch (pr.s_script.s_targetype) { case TargetType.PLAYER: u_layerMask = LayerMask.GetMask(new string[] { "Player", "Ground" }); break; case TargetType.ENEMY: u_layerMask = LayerMask.GetMask(new string[] { "Enemy", "Ground" }); break; case TargetType.BOTH: u_layerMask = LayerMask.GetMask(new string[] { "Player", "Enemy", "Ground" }); break; } layerMask = LayerMask.GetMask(new string[] { "Ground", "Player", "Enemy" }); d_layerMask = LayerMask.GetMask(new string[] { "Command", "Yousei" }); // ボタンの初期位置を保管する btnTempPos = pr.btn.transform.localPosition; }
override public void Enter(PlayerRoot pr = null) { pr.partyList = new List <GameObject>(); pr.enemyList = new List <GameObject>(); //pr.battelEnemyList = new List<GameObject>(); }
override public void Excute(PlayerRoot pr = null) { // ボタンがなければ if (pr.btn == null) { pr.ChangeMode(BattelMode.Instance); } #region マウス操作 if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit = new RaycastHit(); if (Physics.Raycast(ray, out hit, Mathf.Infinity, d_layerMask)) { switch (hit.collider.gameObject.layer) { case 8: //Player pr.p_jb.HideSkillBtn(); pr.p_jb = hit.collider.gameObject.GetComponent <JobBase>(); pr.p_jb.ShowSkillBtn(); pr.ChangeMode(BattelMode.Instance); break; case 10: //Command // 選択したボタンを保管 pr.btn = hit.collider.gameObject; pr.s_script = pr.btn.GetComponent <SkillScript>(); btnTempPos = pr.btn.transform.localPosition; break; case 14: //Yousei // 選択したボタンを保管 pr.p_jb.HideSkillBtn(); pr.p_jb = hit.collider.gameObject.GetComponentInParent <JobBase>(); pr.btn = hit.collider.gameObject; pr.s_script = pr.btn.GetComponent <SkillScript>(); btnTempPos = pr.btn.transform.localPosition; break; } } } if (Input.GetMouseButton(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit = new RaycastHit(); if (Physics.Raycast(ray, out hit, Mathf.Infinity, layerMask)) { Debug.Log(hit.collider.gameObject.name); if (pr.btn != null) { // ボタンを動かす Vector3 pos = hit.point; if (hit.collider.gameObject.layer == LayerMask.NameToLayer("Ground")) { pos.y += 0.2f; } pr.btn.transform.position = pos; } } } if (Input.GetMouseButtonUp(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit = new RaycastHit(); if (Physics.Raycast(ray, out hit, Mathf.Infinity, u_layerMask)) { if (pr.btn != null) { if (pr.s_script.s_targetNum != TargetNum.SELF) { //レイヤーが同じなら if (hit.collider.gameObject.layer != LayerMask.NameToLayer("Ground")) { SkillUse(pr, hit.collider.gameObject, pr.btn, pr.s_script.s_effectTime); } else//ボタンを初期位置に戻す { pr.StartCoroutine(pr.LerpMove(pr.btn, pr.btn.transform.localPosition, btnTempPos, 1)); } } // SELFなら、即発動 else { SkillUse(pr, pr.p_jb.gameObject, pr.btn, pr.s_script.s_effectTime); } } } else//ボタンを初期位置に戻す { pr.StartCoroutine(pr.LerpMove(pr.btn, pr.btn.transform.localPosition, btnTempPos, 1)); } } if (Input.GetMouseButtonDown(1)) { pr.ChangeMode(BattelMode.Instance); } #endregion pr.CheckEndBattel(); pr.CheckGameOver(); }
override public void Excute(PlayerRoot pr = null) { // ボタンがなければ if (pr.btn == null) { pr.ChangeMode(BattelMode.Instance); } #region マウス操作 if (Input.GetMouseButton(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit = new RaycastHit(); if (Physics.Raycast(ray, out hit, Mathf.Infinity, layerMask)) { if (pr.btn != null) { // ボタンを動かす Vector3 pos = hit.point; if (hit.collider.gameObject.layer == LayerMask.NameToLayer("Ground")) { pos.y += 0.2f; } pr.btn.transform.position = pos; } } } if (Input.GetMouseButtonUp(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit = new RaycastHit(); if (Physics.Raycast(ray, out hit, Mathf.Infinity, u_layerMask)) { if (pr.btn != null) { if (pr.s_script.s_targetNum != TargetNum.SELF) { //レイヤーが同じなら if (hit.collider.gameObject.layer != LayerMask.NameToLayer("Ground")) { if (pr.previous_controller == KiraControl.Instance && hit.collider.gameObject.GetComponent <JobBase>()._type == JobType.Attacker) { SkillUse(pr, hit.collider.gameObject, pr.btn, pr.s_script.s_effectTime); } if (pr.previous_controller == KirenControl.Instance && hit.collider.gameObject.GetComponent <JobBase>()._type == JobType.Magician) { SkillUse(pr, hit.collider.gameObject, pr.btn, pr.s_script.s_effectTime); } if (pr.previous_controller == YumaControl.Instance) { SkillUse(pr, hit.collider.gameObject, pr.btn, pr.s_script.s_effectTime); } if (pr.previous_controller == Kiren2Control.Instance && hit.collider.gameObject.GetComponent <StatusControl>()._type == JobType.Magician) { SkillUse(pr, hit.collider.gameObject, pr.btn, pr.s_script.s_effectTime); } } else { //ボタンを初期位置に戻す pr.StartCoroutine(pr.LerpMove(pr.btn, pr.btn.transform.localPosition, btnTempPos, 1)); } } // SELFなら、即発動 else { SkillUse(pr, pr.p_jb.gameObject, pr.btn, pr.s_script.s_effectTime); } } } else//ボタンを初期位置に戻す { pr.StartCoroutine(pr.LerpMove(pr.btn, pr.btn.transform.localPosition, btnTempPos, 1)); } } #endregion pr.CheckEndBattel(); pr.CheckGameOver(); }
override public void Exit(PlayerRoot pr = null) { }
override public void Exit(PlayerRoot pr = null) { PlayerRoot.Instance.DestroyObj(yajirusi); }
// Use this for initialization void Start() { root = transform.parent.GetComponent<PlayerRoot>(); }
override public void Excute(PlayerRoot pr = null) { #region マウス操作 if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit = new RaycastHit(); if (Physics.Raycast(ray, out hit, Mathf.Infinity, d_layerMask)) { switch (hit.collider.gameObject.layer) { case 8: //Player if (hit.collider.gameObject.GetComponent <JobBase>().controller == ReadyMode.Instance) { if (!isBtnShow) { //ボタンはまだ生成していない pr.p_jb = hit.collider.gameObject.GetComponent <JobBase>(); if (pr.p_jb.CanTakeAction()) { pr.p_jb.ShowSkillBtn(); isBtnShow = true; } } // すでに生成したら else { pr.p_jb.HideSkillBtn(); pr.p_jb = hit.collider.gameObject.GetComponent <JobBase>(); pr.p_jb.ShowSkillBtn(); } } break; case 10: //Command if (isBtnShow) { // ボタンを選択したら // 選択したボタンを保管 pr.btn = hit.collider.gameObject; pr.s_script = pr.btn.GetComponent <SkillScript>(); pr.ChangeMode(_targetMode.Instance); } break; case 14: //Yousei // 選択したボタンを保管 pr.p_jb.HideSkillBtn(); pr.p_jb = hit.collider.gameObject.GetComponentInParent <JobBase>(); pr.btn = hit.collider.gameObject; pr.s_script = pr.btn.GetComponent <SkillScript>(); pr.ChangeMode(_targetMode.Instance); break; } } } if (Input.GetMouseButtonDown(1)) { pr.p_jb.HideSkillBtn(); } #endregion pr.CheckEndBattel(); pr.CheckGameOver(); }
override public void Excute(PlayerRoot pr = null) { if (!GameObject.Find("Player")) { player = pr.CreateObject("Player", pr.fieldChara); cameraSupport = GameObject.FindGameObjectWithTag("Camera"); cameraSupport.transform.SetParent(player.transform); cameraSupport.transform.localPosition = NormalPos; cameraSupport.transform.localEulerAngles = NormalRot; c_defaultRot = Camera.main.transform.localRotation; s_defaultRot = cameraSupport.transform.localRotation; p_animator = pr.p_jb.gameObject.GetComponentInChildren <Animator>(); } if (!FadeManager.Instance.isFading) { #region キャラクターのコントロール //移動用vector3 Vector3 move_vector = Vector3.zero; //移動中かどうか bool isMoved = false; if (Input.GetKey(KeyCode.A)) { //左 pr.p_jb.transform.Rotate (Vector3.down * ROTATE_SPEED * Time.deltaTime, Space.Self); } if (Input.GetKey(KeyCode.D)) { //右 pr.p_jb.transform.Rotate (Vector3.up * ROTATE_SPEED * Time.deltaTime, Space.Self); } if (Input.GetKey(KeyCode.W)) { //上 move_vector += pr.p_jb.transform.forward * Time.deltaTime; isMoved = true; } if (Input.GetKey(KeyCode.S)) { //下 move_vector -= pr.p_jb.transform.forward * Time.deltaTime; isMoved = true; } //移動vector3を正規化して,移動方向を求める //pr.p_jb.transform.Translate(move_vector, Space.Self); move_vector = Vector3.Normalize(move_vector); move_vector.y -= 1; pr.p_jb.GetComponent <CharacterController>().Move(move_vector * MOVE_SPEED * Time.deltaTime); //移動したら move_vector.y += 1; if (move_vector.magnitude > 0.01f) { //Playerの向きを移動方向に変える ReturnDefault(); } else { isMoved = false; } p_animator.SetBool("isMoved", isMoved); #endregion } #region カメラのコントロール if (Input.GetKey(KeyCode.UpArrow)) { Camera.main.transform.Rotate(Vector3.right * CAMERA_ROTATE_SPEED * Time.deltaTime); } if (Input.GetKey(KeyCode.DownArrow)) { Camera.main.transform.Rotate(Vector3.left * CAMERA_ROTATE_SPEED * Time.deltaTime); } if (Input.GetKey(KeyCode.LeftArrow)) { cameraSupport.transform.Rotate (Vector3.up * CAMERA_ROTATE_SPEED * Time.deltaTime, Space.Self); } if (Input.GetKey(KeyCode.RightArrow)) { cameraSupport.transform.Rotate (Vector3.down * CAMERA_ROTATE_SPEED * Time.deltaTime, Space.Self); } //マウス操作 if (Input.GetMouseButtonDown(1)) { touchPoint = Input.mousePosition; } if (Input.GetMouseButton(1)) { Vector3 tempPoint = Input.mousePosition - touchPoint; cameraSupport.transform.Rotate (new Vector3(0, -tempPoint.x, 0) * CAMERA_ROTATE_SPEED * Time.deltaTime, Space.Self); Camera.main.transform.Rotate(new Vector3(tempPoint.y, 0, 0) * CAMERA_ROTATE_SPEED * Time.deltaTime); touchPoint = Input.mousePosition; } #endregion #region 操作 if (Input.GetKeyDown(KeyCode.Space)) { if (pr.p_jb._target != null) { pr.StartCoroutine(FadeManager.Instance.ReadyTalkUI(0.5f, TalkMode.Instance)); ScenarioManager.Instance.UpdateLines(pr.p_jb._target.GetComponent <ScenarioScript>()); } } if (Input.GetKeyDown(KeyCode.Escape)) { Debug.Log("Esc"); } #endregion }
override public void Excute(PlayerRoot pr = null) { }
override public void Enter(PlayerRoot pr = null) { // 初期化する pr.endBattel = false; pr.ChangeMode(BattelMode.Instance); }
virtual public void Enter(PlayerRoot pr = null) { }
override public void Exit(PlayerRoot pr = null) { pr.transform.position = player.transform.position; }