Exemplo n.º 1
0
 //エンドレスモード時のターン表示
 public static void DisplayTurn()
 {
     turnComponent.text        = TurnAndPhase.CheckEndlessTurn() + "ターン";
     turnComponent.enabled     = true;
     turnBackComponent.enabled = true;
     homeComponent.enabled     = true;
 }
Exemplo n.º 2
0
 void OnMouseExit()
 {
     Status.PlayerStatus(false);
     if (!TurnAndPhase.OnField() && TurnAndPhase.OnPlayer())
     {
         Floor.ResetPanel();
     }
 }
Exemplo n.º 3
0
 //マウスオーバ
 void OnMouseEnter()
 {
     Music.PlaySE(Music.Clip.Dun);
     Status.PlayerStatus(true);
     if (!TurnAndPhase.OnField() && TurnAndPhase.OnPlayer())
     {
         Floor.ShowSelecting(Unit.playerPosition, Unit.SumParameter(-1, Unit.StatusName.DIS));
     }
 }
Exemplo n.º 4
0
 //UI用マウス操作
 //*他のとこでも流用できるかもかも
 public void OnPointerEnter(PointerEventData eventData)
 {
     if (!TurnAndPhase.OnAction())
     {
         Music.PlaySE(Music.Clip.Over);
         ChangeColor(0);
         Status.CommandStatus(true, type, variety);
     }
 }
Exemplo n.º 5
0
    //テキストの表示
    public static void ShowLog(int num)
    {
        textComponent.text = logText[num];
        timer = 0;
        VisibleObject(true);

        //文字表示だけは更新しておく
        turnComponent.text = TurnAndPhase.CheckEndlessTurn() + "ターン";
    }
Exemplo n.º 6
0
 //マウスオーバ
 void OnMouseEnter()
 {
     Music.PlaySE(Music.Clip.Dun);
     Status.EnemyStatus(true, enemyID);
     if (!TurnAndPhase.OnField() && TurnAndPhase.OnPlayer())
     {
         Floor.ShowSelecting(Unit.GetEnemyGamePosition(enemyID), Unit.enemyParameterList[enemyID][(int)Unit.StatusName.DIS]);
     }
 }
Exemplo n.º 7
0
 //バフをかける
 public void BuffPlayer()
 {
     action = (int)Action.Buff;
     TurnAndPhase.StartAction();
     Log.ShowLog(4);
     Status.PowerUpPlayer();
     animator.SetTrigger("BuffTrigger");
     swingFlag = true;
     timer     = 0;
 }
Exemplo n.º 8
0
    // Update is called once per frame
    void Update()
    {
        Vector2 vec = Input.mousePosition;

        //ホイール押下中のみカメラ移動
        if (Input.GetMouseButton((int)Click.Wheel))
        {
            transPosition = vec - position;
            GameCamera.TrackMouse();
        }
        if (Input.GetMouseButtonUp((int)Click.Wheel))
        {
            GameCamera.TrackStop();
        }

        //右クリック
        if (Input.GetMouseButtonDown((int)Click.Right))
        {
            if (!CheckMouseOutMenu())
            {
                //メニュー上ならコマンドをソート
                Menu.SortMenu();
            }
            else
            {
                if (TurnAndPhase.OnField())
                {
                    if (GameCamera.DoTrackPlayer())
                    {
                        //コマンド中ならキャンセル
                        TurnAndPhase.CancelAction();
                    }
                    else
                    {
                        GameCamera.TrackPlayer();
                    }
                }
                else
                {
                    //それ以外ならカメラをプレイヤーに返す
                    GameCamera.TrackPlayer();
                }
            }
        }

        float scroll = Input.GetAxis("Mouse ScrollWheel");

        if (CheckMouseOutMenu())
        {
            GameCamera.FrontBehind(scroll);
        }


        position = vec;
    }
Exemplo n.º 9
0
    //敵のターン開始
    public void FightEnemy()
    {
        //死んでるか
        if (dead)
        {
            Unit.TurnEnemy(false);
            return;
        }
        //移動の必要性
        if (enemyVerstion == 4 && bossMove == 0)
        {
            int other = 0;
            for (int i = 0; i < 5; i++)
            {
                if (Unit.DeadEnemy(i))
                {
                    other++;
                }
            }
            if (other > 3)
            {
                bossMove++;
                FightEnemy();
                return;
            }
            if (Unit.playerPosition.x > 5 && Unit.playerPosition.x < 9 &&
                Unit.playerPosition.y > 0 && Unit.playerPosition.y < 7)
            {
                AttackEnemy();
                return;
            }
            bossMove++;
        }
        float dis = enemyVerstion == 4 ? 2f : 1f;

        if (Vector2.Distance(Unit.GetEnemyGamePosition(enemyID), Unit.playerPosition) > dis)
        {
            TurnAndPhase.SetEnemyCommand(TurnAndPhase.Type.Move);
            Floor.ShowSelecting(Unit.GetEnemyGamePosition(enemyID), Unit.enemyParameterList[enemyID][(int)Unit.StatusName.DIS]);
            root.Clear();
            Floor.NearPlayer(ref root);
            Unit.ChangePosition(enemyID, root[0]);
            moveCounter = 0;
            rootCounter = root.Count;
            FollowRoot(root[rootCounter - 1]);
            action = (int)Action.Move;
            animator.SetBool("EnemyMove", true);
            Music.PlaySELoop(Music.Clip.Walk);
        }
        else
        {
            AttackEnemy();
        }
    }
Exemplo n.º 10
0
 public void OnPointerClick(PointerEventData eventData)
 {
     if (eventData.button != PointerEventData.InputButton.Left)
     {
         return;
     }
     if (!TurnAndPhase.OnAction())
     {
         SendMessage("ActionCommand");
     }
 }
Exemplo n.º 11
0
 //移動開始
 public void MovePlayer(List <Vector2> list)
 {
     root        = list;
     moveCounter = 0;
     rootCounter = root.Count;
     action      = (int)Action.Move;
     TurnAndPhase.StartAction();
     FollowRoot(list[rootCounter - 1]);
     animator.SetBool("PlayerMove", true);
     Music.PlaySELoop(Music.Clip.Dash);
 }
Exemplo n.º 12
0
    void OnMouseDown()
    {
        if (TurnAndPhase.OnAction())
        {
            return;
        }
        if (!Mouse.CheckMouseOutMenu())
        {
            return;
        }
        if (mode)
        {
            switch (TurnAndPhase.type)
            {
            case (int)TurnAndPhase.Type.Move:
                if (Unit.playerPosition == grid)
                {
                    break;
                }
                Unit.playerPosition = grid;
                GameCamera.TrackPlayer();
                player.SendMessage("MovePlayer", root);
                break;

            case (int)TurnAndPhase.Type.Attack:
                if (Unit.GetEnemyNum(grid) == -1)
                {
                    break;
                }
                player.SendMessage("AttackPlayer", grid);
                break;

            case (int)TurnAndPhase.Type.Buff:
                player.SendMessage("BuffPlayer");
                break;

            case (int)TurnAndPhase.Type.Debuff:
                if (Unit.GetEnemyNum(grid) == -1)
                {
                    break;
                }
                player.SendMessage("DebuffPlayer", grid);
                break;

            case (int)TurnAndPhase.Type.Extra:
                Unit.playerPosition = grid;
                GameCamera.TrackDig();
                CutIn.StartCut(player);
                //player.SendMessage("ExtraPlayer");
                break;
            }
        }
    }
Exemplo n.º 13
0
 //デバフをかける
 public void DebuffPlayer(Vector2 vecGame)
 {
     action = (int)Action.Debuff;
     TurnAndPhase.StartAction();
     Log.ShowLog(5);
     FollowRoot(vecGame);
     Unit.ChangeDirectionEnemy(vecGame);
     enemyVec = vecGame;
     animator.SetTrigger("DebuffTrigger");
     swingFlag = true;
     timer     = 0;
 }
Exemplo n.º 14
0
    // Use this for initialization
    void Start()
    {
        ReadWrite.SceneReader(KEY);
        Log.InitGameID(KEY);
        Unit.Init(KEY);

        SummonCursor();
        SummonFloor();

        TurnAndPhase.InitVariable();
        GameCamera.SetCamera();
        Music.Init(0);

        timer     = 0;
        firstAnim = false;
        lastAnim  = false;
    }
Exemplo n.º 15
0
    //エネミー追加
    private static void AddEnemy(int ver, int x, int y, bool dig)
    {
        int     id  = enemyParameterList.Count;
        Vector2 vec = new Vector2(x, y);

        int[] param = ReadWrite.GetEnemyParameter(ver);
        //enemyParameterList.Add(ReadWrite.GetEnemyParameter(ver));
        if (gameKey == 5 - 1)
        {
            int turn = TurnAndPhase.CheckEndlessTurn() + 1;
            if (turn % 10 == 0)
            {
                param[(int)StatusName.HP]   += 50 * (turn / 10 - 1);
                param[(int)StatusName.ATK]  += 5 * (turn / 10 - 1);
                param[(int)StatusName.DEF]  += 10 * (turn / 10 - 1);
                param[(int)StatusName.CDEX] += Mathf.Min(95, 2 * (turn / 10 - 1));
                param[(int)StatusName.CPOW] += 10 * (turn / 10 - 1);

                /*
                 * enemyParameterList[id][(int)StatusName.HP] += 50 * (turn / 10 - 1);
                 * enemyParameterList[id][(int)StatusName.ATK] += 5 * (turn / 10 - 1);
                 * enemyParameterList[id][(int)StatusName.DEF] += 10 * (turn / 10 - 1);
                 * enemyParameterList[id][(int)StatusName.CDEX] += Mathf.Min(95, 2 * (turn / 10 - 1));
                 * enemyParameterList[id][(int)StatusName.CPOW] += 10 * (turn / 10 - 1);
                 */
            }
            else if (turn % 3 == 0)
            {
                param[(int)StatusName.HP]   += 10 * (turn / 3 - 1);
                param[(int)StatusName.ATK]  += 2 * (turn / 3 - 1);
                param[(int)StatusName.DEF]  += 2 * (turn / 5 - 1);
                param[(int)StatusName.CPOW] += 5 * (turn / 10 - 1);

                /*
                 * enemyParameterList[id][(int)StatusName.HP] += 10 * (turn / 3 - 1);
                 * enemyParameterList[id][(int)StatusName.ATK] += 2 * (turn / 3 - 1);
                 * enemyParameterList[id][(int)StatusName.DEF] += 2 * (turn / 5 - 1);
                 * enemyParameterList[id][(int)StatusName.CPOW] += 5 * (turn / 10 - 1);
                 */
            }
        }
        enemyParameterList.Add(param);
        enemyStatusList.Add(MakeStatus(enemyParameterList[id]));
        enemyPositionList.Add(vec);
        SummonEnemy(id, ver, vec, dig);
    }
Exemplo n.º 16
0
    //識別ごとの行動
    public void ActionCommand()
    {
        int[] eff;
        TurnAndPhase.SetCommand(commandNum, type, variety);
        switch (type)
        {
        case (int)TurnAndPhase.Type.TurnEnd:
            TurnAndPhase.EndAction();
            break;

        case (int)TurnAndPhase.Type.Attack:
            eff = ReadWrite.CallCommandEffect(type, variety);
            Floor.ShowSelecting(Unit.playerPosition, eff[1]);
            break;

        case (int)TurnAndPhase.Type.Move:
            eff = ReadWrite.CallCommandEffect(type, variety);
            Floor.ShowSelecting(Unit.playerPosition, Unit.SumParameter(-1, Unit.StatusName.DIS) + eff[0]);
            break;

        case (int)TurnAndPhase.Type.Buff:
            Floor.ShowSelecting(Unit.playerPosition, 0);
            GameCamera.TrackPlayer();
            break;

        case (int)TurnAndPhase.Type.Debuff:
            eff = ReadWrite.CallCommandEffect(type, variety);
            Floor.ShowSelecting(Unit.playerPosition, eff[2]);
            break;

        case (int)TurnAndPhase.Type.Extra:
            eff = ReadWrite.CallCommandEffect(type, variety);
            switch (eff[0])
            {
            case 0:
                Floor.ShowSelecting(Unit.playerPosition, 0);
                GameCamera.TrackPlayer();
                break;

            case 1:
                Floor.ShowTeleport();
                break;
            }
            break;
        }
    }
Exemplo n.º 17
0
    //エクストラ行動
    public void ExtraPlayer()
    {
        int[] eff = ReadWrite.CallCommandEffect(TurnAndPhase.type, TurnAndPhase.variety);
        switch (eff[0])
        {
        case 0:
            action = (int)Action.Buff;
            Log.ShowLog(4);
            Status.PowerUpPlayer();
            animator.SetTrigger("BuffTrigger");
            break;

        case 1:
            action = (int)Action.Dig;
            break;
        }
        TurnAndPhase.StartAction();
        swingFlag = true;
        timer     = 0;
    }
Exemplo n.º 18
0
 //エネミー行動順制御
 public static void TurnEnemy(bool first)
 {
     if (DeadPlayer())
     {
         Log.EndDeclaration(0);
         return;
     }
     if (first)
     {
         actionEnemyNum = 0;
         newEnemy       = false;
     }
     else
     {
         actionEnemyNum++;
         if (actionEnemyNum >= GetPositionListLength())
         {
             if (newEnemy)
             {
                 TurnAndPhase.EndEnemy();
                 return;
             }
             newEnemy = AddEndlessEnemy();
             if (newEnemy)
             {
                 enemyList[actionEnemyNum].GetComponent <Enemy>().AppearEnemy();
             }
             else
             {
                 TurnAndPhase.EndEnemy();
             }
             return;
         }
     }
     Status.VisibleDamage(false);
     enemyList[actionEnemyNum].GetComponent <Enemy>().FightEnemy();
 }
Exemplo n.º 19
0
    //攻撃開始
    public void AttackEnemy()
    {
        //攻撃範囲内にいるか
        float dis = enemyVerstion == 4 ? 2f : 1f;

        if (Vector2.Distance(Unit.GetEnemyGamePosition(enemyID), Unit.playerPosition) <= dis)
        {
            TurnAndPhase.SetEnemyCommand(TurnAndPhase.Type.None);
            if (enemyVerstion == 4)
            {
                Floor.ShowBossEnemyATK(Unit.GetEnemyGamePosition(enemyID), (int)dis);
            }
            else
            {
                Floor.ShowSelecting(Unit.GetEnemyGamePosition(enemyID), (int)dis);
            }
            action = (int)Action.Attack;
            Log.ShowLog(3);
            timer = 0;
            FollowRoot(Unit.playerPosition);
            Unit.ChangeDirectionPlayer(enemyID);
            animator.SetTrigger("AttackTrigger");
            swingFlag = true;
        }
        else
        {
            if (enemyVerstion == 4 && doubleAttack == 0)
            {
                doubleAttack++;
                FightEnemy();
                return;
            }
            doubleAttack--;
            Unit.TurnEnemy(false);
        }
    }
Exemplo n.º 20
0
    //エンドレスエネミー
    private static bool AddEndlessEnemy()
    {
        if (gameKey != 5 - 1)
        {
            return(false);
        }
        int turn = TurnAndPhase.CheckEndlessTurn() + 1;

        if (turn != 0 && (turn % 3 == 0 || turn % 10 == 0))
        {
            //出現位置上下左右パターン
            for (int i = 0; i < 4; i++)
            {
                endlessCounter++;
                if (endlessCounter > 3)
                {
                    endlessCounter = 0;
                }
                if (CheckEndlessPosition())
                {
                    int version;
                    if (turn % 10 == 0)
                    {
                        version = 4;
                    }
                    else
                    {
                        version = Random.Range(0, 3);
                    }
                    AddEnemy(version, (int)endlessPosition[endlessCounter].x, (int)endlessPosition[endlessCounter].y, true);
                    return(true);
                }
            }
        }
        return(false);
    }
Exemplo n.º 21
0
 //コマンド終了時の処理
 private void FinishCommand()
 {
     action = (int)Action.None;
     TurnAndPhase.EndAction();
     Floor.ResetPanel();
 }