public void ProcessClick(GameObject hitObject)
 {
     if (hitObject.tag == "Tile")
     {
         if (ObjectSelector.SelectedObject)
         {
             Hero hero = ObjectSelector.SelectedObject.GetComponentInParent <Hero>();
             if (hero)
             {
                 int x = (int)hitObject.transform.position.x;
                 int y = (int)hitObject.transform.position.z;
                 if (gameBoard[x, y] == null)
                 {
                     if (hero.CanMoveTo(x, y))
                     {
                         if (useNetwork)
                         {
                             networkManager.SendMoveRequest(hero.Index, x, y);
                         }
                         gameBoard[hero.x, hero.y] = null;
                         hero.Move(x, y);
                         gameBoard[x, y] = hero;
                     }
                 }
             }
         }
     }
     else
     {
         Hero hero = hitObject.GetComponentInParent <Hero>();
         if (hero)
         {
             if (choosingInteraction)
             {
                 Hero selectedHero = ObjectSelector.SelectedObject?.GetComponentInParent <Hero>();
                 if (selectedHero)
                 {
                     if (AreNeighbors(hero, selectedHero) && hero.Owner != selectedHero.Owner)
                     {
                         if (useNetwork)
                         {
                             networkManager.SendInteractRequest(selectedHero.Index, hero.Index);
                         }
                         selectedHero.Interact(hero);
                         choosingInteraction = false;
                     }
                 }
             }
             else if (hero.gameObject == ObjectSelector.SelectedObject)
             {
                 ObjectSelector.SetSelectedObject(null);
             }
             else if (hero.Owner.IsMouseControlled && hero.Owner == Players[currentPlayer - 1])
             {
                 ObjectSelector.SetSelectedObject(hitObject);
             }
         }
     }
 }
 public void ProcessClick(GameObject hitObject)
 {
     if (hitObject.tag == "Tile")
     {
         if (ObjectSelector.SelectedObject)
         {
             Tile tile = ObjectSelector.SelectedObject.GetComponentInParent <Tile>();
             if (tile)
             {
                 int x = (int)hitObject.transform.position.x;
                 int y = (int)hitObject.transform.position.z;
                 if (gameBoard[x, y] == null)
                 {
                     if (tile.CanMoveTo(x, y))
                     {
                         if (useNetwork)
                         {
                             networkManager.SendMoveRequest(tile.Index, x, y);
                         }
                         gameBoard[tile.x, tile.y] = null;
                         tile.Move(x, y);
                         gameBoard[x, y] = tile;
                     }
                 }
             }
         }
     }
     else
     {
         Tile tile = hitObject.GetComponentInParent <Tile>();
         if (tile)
         {
             if (choosingInteraction)
             {
                 Tile selectedTile = ObjectSelector.SelectedObject?.GetComponentInParent <Tile>();
                 if (selectedTile)
                 {
                     if (AreNeighbors(tile, selectedTile) && tile.Owner != selectedTile.Owner)
                     {
                         if (useNetwork)
                         {
                             networkManager.SendInteractRequest(selectedTile.Index, tile.Index);
                         }
                         selectedTile.Interact(tile);
                         choosingInteraction = false;
                     }
                 }
             }
             else if (tile.gameObject == ObjectSelector.SelectedObject)
             {
                 ObjectSelector.SetSelectedObject(null);
             }
             else if (tile.Owner.IsMouseControlled && tile.Owner == Players[currentPlayer - 1])
             {
                 ObjectSelector.SetSelectedObject(hitObject);
             }
         }
     }
 }
Exemple #3
0
    void Update()
    {
        if (!ObjectMenuTextInput.active)
        {
            if (Input.GetKeyDown(KeyCode.L))
            {
                StartCoroutine(CreateLine());
            }
            if (Input.GetKeyDown(KeyCode.Delete))
            {
                StartCoroutine(DeleteObject());
            }
            if (Input.GetKeyDown(KeyCode.I))
            {
                StartCoroutine(CreateNode());
            }

            /*if (Input.GetKeyDown(KeyCode.O))
             * {
             *  if (Instruction.activeSelf)
             *      Instruction.SetActive(false);
             *  else Instruction.SetActive(true);
             * }*/
        }
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            if (ObjectSelector.GetSelectedObject() != null)
            {
                ObjectSelector.SetSelectedObject(null);
            }
            else
            {
                if (!menuOpen)
                {
                    OpenMenu();
                }
                else
                {
                    CloseMenu();
                }
            }
        }

        if (ObjectSelector.GetSelectedObject() != null)
        {
            OpenObjectMenu();
        }
        else
        {
            CloseObjectMenu();
        }
    }
 public void ReselectNode()
 {
     ObjectSelector.SetSelectedObject(daddy); // save another node as selected
     ObjectSelector.JustSelected();
 }
 public void EndTurn()
 {
     ObjectSelector.SetSelectedObject(null);
     canInteract   = false;
     currentPlayer = 3 - currentPlayer;
 }
 public void ReselectLine(GameObject line)
 {
     ObjectSelector.SetSelectedObject(line); // save another line as selected
     ObjectSelector.JustSelected();
 }