public void _OnObjectInteracted(PlayerRoot player)
        {
            var state = this.GetScene <GameRoot>().State;

            state.SvOverlordChanged(player.State.OwnerPeerId);
            GD.Print("New overlord!");
        }
Beispiel #2
0
 override public void Exit(PlayerRoot pr = null)
 {
     //ボタンを初期位置に戻す
     pr.StartCoroutine(pr.LerpMove(pr.btn,
                                   pr.btn.transform.localPosition, btnTempPos, 1));
     pr.p_jb.HideSkillBtn();
 }
Beispiel #3
0
 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" });
 }
Beispiel #4
0
        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();
        }
Beispiel #5
0
    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
    }
Beispiel #6
0
 /// <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);
 }
Beispiel #7
0
    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));
            }
        }
    }
Beispiel #8
0
 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) {
     }
 }
Beispiel #9
0
    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
    }
Beispiel #10
0
 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();
 }
Beispiel #11
0
 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);
 }
Beispiel #12
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;
                    }
                }
            }
        }
    }
Beispiel #13
0
    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;
    }
Beispiel #14
0
 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);
         }
     }
 }
Beispiel #15
0
 override public void Enter(PlayerRoot pr = null)
 {
 }
Beispiel #16
0
 virtual public void Exit(PlayerRoot pr = null)
 {
 }
Beispiel #17
0
 virtual public void Excute(PlayerRoot pr = null)
 {
 }
Beispiel #18
0
    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;
    }
Beispiel #19
0
 override public void Enter(PlayerRoot pr = null)
 {
     pr.partyList = new List <GameObject>();
     pr.enemyList = new List <GameObject>();
     //pr.battelEnemyList = new List<GameObject>();
 }
Beispiel #20
0
    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();
    }
Beispiel #21
0
 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();
 }
Beispiel #22
0
 override public void Exit(PlayerRoot pr = null)
 {
 }
Beispiel #23
0
 override public void Exit(PlayerRoot pr = null)
 {
     PlayerRoot.Instance.DestroyObj(yajirusi);
 }
Beispiel #24
0
 // Use this for initialization
 void Start() {
     root = transform.parent.GetComponent<PlayerRoot>();
 }
Beispiel #25
0
    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();
    }
Beispiel #26
0
    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
    }
Beispiel #27
0
 override public void Excute(PlayerRoot pr = null)
 {
 }
Beispiel #28
0
 override public void Enter(PlayerRoot pr = null)
 {
     // 初期化する
     pr.endBattel = false;
     pr.ChangeMode(BattelMode.Instance);
 }
Beispiel #29
0
 virtual public void Enter(PlayerRoot pr = null)
 {
 }
Beispiel #30
0
 override public void Exit(PlayerRoot pr = null)
 {
     pr.transform.position = player.transform.position;
 }