コード例 #1
0
ファイル: CS_GameManager.cs プロジェクト: Moyf/48-Arknights
    public void DragPlayer()
    {
        // dont do anything if its setting direction
        if (myDirectionObject.activeSelf == true)
        {
            return;
        }

        // do raycast
        RaycastHit t_hit;
        Ray        t_ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        if (Physics.Raycast(t_ray, out t_hit))
        {
            CS_Tile t_tile = t_hit.collider.gameObject.GetComponentInParent <CS_Tile> ();
            if (t_tile != null)
            {
                if (t_tile.GetType() == myCurrentPlayer.GetTileType())
                {
                    Vector3 t_position = t_tile.transform.position;
                    t_position.y = t_hit.point.y;
                    myCurrentPlayer.transform.position = t_position;
                    return;
                }
            }

            myCurrentPlayer.transform.position = t_hit.point;
        }
    }
コード例 #2
0
ファイル: CS_GameManager.cs プロジェクト: Moyf/48-Arknights
    public void EndDragPlayer()
    {
        // dont do anything if its setting direction
        if (myDirectionObject.activeSelf == true)
        {
            return;
        }

        // hide highlight
        myCurrentPlayer.HideHighlight();

        // do raycast
        RaycastHit t_hit;
        Ray        t_ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        if (Physics.Raycast(t_ray, out t_hit))
        {
            CS_Tile t_tile = t_hit.collider.gameObject.GetComponentInParent <CS_Tile> ();
            if (t_tile != null)
            {
                if (t_tile.GetType() == myCurrentPlayer.GetTileType())
                {
                    // show direction object
                    myDirectionObject.transform.position = myCurrentPlayer.transform.position;
                    myDirectionObject.SetActive(true);
                    return;
                }
            }
        }

        // reset current player
        myCurrentPlayer.gameObject.SetActive(false);
        myCurrentPlayer = null;
    }
コード例 #3
0
ファイル: CS_GameManager.cs プロジェクト: Moyf/48-Arknights
 public void OnClickTile(CS_Tile g_tile)
 {
     if (myCurrentPlayer != null)
     {
         myCurrentPlayer.transform.position = g_tile.transform.position;
         myCurrentPlayer.gameObject.SetActive(true);
         g_tile.Occupy(myCurrentPlayer);
     }
 }