Exemplo n.º 1
0
    public void SelectSpaceFunctionality(BoardSpaceStruct space, ICard card)
    {
        bool deselected = false;

        if (SelectedSpace != null)
        {
            SelectedSpace.setOutlineColor(0);

            //Deselect selected space
            if (SelectedSpace.x == space.x && space.y == SelectedSpace.y)
            {
                SelectedSpace = null;
                deselected    = true;
                onSpaceDeselect(space, manager.gameModel);
            }
        }

        if (!deselected)
        {
            SelectedSpace = space;
            space.setOutlineColor(1);
            if (SelectedCard != null)
            {
                SelectedCard.setOutlineColor(0);
                SelectedCard = null;
            }
            onSpaceSelect(SelectedSpace, manager.gameModel);
        }
    }
Exemplo n.º 2
0
    public void SelectHandFunctionality(HandCardStruct cardspace)
    {
        bool deselected = false;

        cardspace.setOutlineColor(1);

        if (SelectedCard != null)
        {
            SelectedCard.setOutlineColor(0);

            if (SelectedCard.pos == cardspace.pos)
            {
                SelectedCard = null;
                deselected   = true;
            }
        }

        if (!deselected)
        {
            SelectedCard = cardspace;
            cardspace.setOutlineColor(1);
            if (SelectedSpace != null)
            {
                SelectedSpace.setOutlineColor(0);
                SelectedSpace = null;
                FindObjectOfType <buttonManager>().Deselect();
            }
        }
    }
Exemplo n.º 3
0
 // Use this for initialization
 void Awake()
 {
     manager       = FindObjectOfType <ModelManager>();
     SelectedSpace = null;
     SelectedCard  = null;
     movemade      = null;
     swapflag      = false;
 }
Exemplo n.º 4
0
    // Update is called once per frame
    void Update()
    {
        //Deselect/Cancel all actions
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            CancelActions();
        }

        else if (Input.GetMouseButtonDown(0))
        {
            RaycastHit hit;
            Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            if (Physics.Raycast(ray, out hit))
            {
                if (hit.transform.tag == "BoardSpace")
                {
                    var space = hit.transform.GetComponent <BoardSpaceStruct>();
                    var card  = space.getCard();
                    //Swap functionality
                    if (swapflag && SelectedSpace != null)
                    {
                        SwapFunctionality(space, card);
                    }
                    //Select/Deselect Space
                    else if (card != null)
                    {
                        SelectSpaceFunctionality(space, card);
                    }

                    //Play Card on space
                    else if (SelectedCard != null)
                    {
                        manager.gameModel.PlayCard(0, space.x, space.y, SelectedCard.card);
                        SelectedCard.setOutlineColor(0);
                        movemade     = new GameMove(space.x, space.y, SelectedCard.card);
                        SelectedCard = null;
                        manager.updateBoard();
                        manager.switchState();
                    }
                }
                //Select/Deselect card in hand
                else if (hit.transform.tag == "Hand")
                {
                    var cardspace = hit.transform.GetComponent <HandCardStruct>();
                    SelectHandFunctionality(cardspace);
                }
            }
        }
    }
Exemplo n.º 5
0
 public void CancelActions()
 {
     swapflag = false;
     if (SelectedSpace != null)
     {
         SelectedSpace.setOutlineColor(0);
     }
     if (SelectedCard != null)
     {
         SelectedCard.setOutlineColor(0);
     }
     SelectedSpace = null;
     SelectedCard  = null;
     FindObjectOfType <buttonManager>().Deselect();
 }