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); } } } }
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(); }