Esempio n. 1
0
    void OnDragging(DragInfo dragInfo)
    {
        //もうなぞれない
        if (nowTraceTiles.Count == moveRange)
        {
            return;
        }

        //タイル上
        var tilePosition = TileBase.GetArrayFromRay(dragInfo.pos);

        if (tilePosition == null)
        {
            return;
        }
        //まだ未通過
        if (IntVect2D.IsEqual(tilePosition, nowTraceTiles.LastOrDefault()))
        {
            return;
        }
        //まだ未完成
        if (moveRange == nowTraceTiles.Count)
        {
            return;
        }

        //次のタイル
        if (IntVect2D.IsNeighbor(tilePosition, nowTraceTiles.LastOrDefault()) == false)
        {
            return;
        }

        nowTraceTiles.Add(tilePosition);
        BattleStage.Instance.ChangeColor(tilePosition, TileState.Skill);
    }
Esempio n. 2
0
    //なぞり開始
    void OnDraggingStart(DragInfo dragInfo)
    {
        isNowAttackable = false;
        //タイル上
        var tilePosition = TileBase.GetArrayFromRay(dragInfo.pos);

        if (tilePosition == null)
        {
            return;
        }

        //キャラクターの上
        if (IntVect2D.IsEqual(tilePosition, character.positionArray) == false)
        {
            return;
        }
        BattleStage.Instance.ResetAllTileColor();

        nowTraceTiles = new List <IntVect2D>();
        nowTraceTiles.Add(tilePosition);
        BattleStage.Instance.ChangeColor(tilePosition, TileState.Skill);

        IT_Gesture.onDraggingE    += OnDragging;
        IT_Gesture.onDraggingEndE += OnDraggingEnd;
        isNowCharge = true;
        ActionSelect.Instance.DisableMoveAttackButton();
    }
Esempio n. 3
0
    void OnDragging(DragInfo dragInfo)
    {
        //タイル上
        var targetPosition = TileBase.GetArrayFromRay(dragInfo.pos);

        if (targetPosition == null)
        {
            return;
        }
        //まだ未通過
        if (IntVect2D.IsEqual(targetPosition, nowTraceTiles.LastOrDefault()))
        {
            return;
        }
        //まだ未完成
        if (skillTiles.Count == nowTraceTiles.Count)
        {
            return;
        }

        //次のタイル
        if (IntVect2D.IsEqual(targetPosition, IntVect2D.Add(skillTiles[nowTraceTiles.Count], nowTraceTiles[0])) == false)
        {
            FailAciton();
            return;
        }

        nowTraceTiles.Add(targetPosition);
        BattleStage.Instance.ChangeColor(targetPosition, TileState.Skill);
    }
Esempio n. 4
0
    public static Character GetCharacterOnTile(Vector2 pos)
    {
        var targetPosition = TileBase.GetArrayFromRay(pos);

        //タイル以外をタップ
        if (targetPosition == null)
        {
            return(null);
        }
        //ターゲットの検索
        var target = GetCharacterOnTile(targetPosition);

        //ターゲットが存在しないマスをタップ
        if (target == null)
        {
            return(null);
        }
        return(target);
    }
Esempio n. 5
0
    //なぞり開始
    void OnDraggingStart(DragInfo dragInfo)
    {
        //タイル上
        var targetPosition = TileBase.GetArrayFromRay(dragInfo.pos);

        if (targetPosition == null)
        {
            return;
        }


        nowTraceTiles = new List <IntVect2D>();
        nowTraceTiles.Add(targetPosition);
        BattleStage.Instance.ChangeColor(targetPosition, TileState.Skill);

        IT_Gesture.onDraggingE    += OnDragging;
        IT_Gesture.onDraggingEndE += OnDraggingEnd;
        isNowCharge = true;
    }