void MakeMove() { playerNum = GetComponent <MoveOneTile>().playerNum; currentTileNumber = GetComponent <MoveOneTile>().currentTileNumber; // OnGamestateChanged(0); StartCoroutine(LerpObject(5)); }
void DisplayPointers(List <int> diceNumbers) { List <int> diceNums = diceNumbers.OfType <int>().ToList(); locationCurrentTile = PlayerTurnReactor.currentPlayer.GetComponent <MoveOneTile>().currentTileNumber.nextTile; for (int i = 0; i < tileToShow; i++) { // Debug.Log("loc: " + diceNumbers.ToString()); if (locationCurrentTile == null) { return; } if (diceNums.Contains(i + 1)) { instantiatedPoints[i].transform.SetParent(locationCurrentTile.gameObject.transform, false); instantiatedPoints[i].SetActive(true); } else { instantiatedPoints[i].SetActive(false); } locationCurrentTile = locationCurrentTile.nextTile; } }
public void AddUnits(int num) { TileInfoHolder tileinfo = gameObject.GetComponent <TileInfoHolder>(); for (int i = 0; i < num; i++) { tileinfo.villagers.Add(unitObject); tileinfo.villagers[i].transform.SetParent(gameObject.transform); Debug.Log("Added a unit to " + gameObject.name); } }
void CheckforCoin(int dummy) { Debug.Log("turn: " + PlayerTurnReactor.currentPlayer.GetComponent <MoveOneTile>().currentTileNumber.nextTile); TileInfoHolder incomingTile = PlayerTurnReactor.currentPlayer.GetComponent <MoveOneTile>().currentTileNumber; if (incomingTile.hasCoin) { playersCoin[PlayerTurnReactor.currentPlayerTurn] += incomingTile.coinAmount; OnPickedUpCoin(incomingTile.tileNum); currentPlayerCoin[PlayerTurnReactor.currentPlayerTurn].text = playersCoin[PlayerTurnReactor.currentPlayerTurn].ToString(); } }
void ReactToEndMove(int endType) { TileInfoHolder currentTileNumber = thisPlayerMove.currentTileNumber; if (endType == 0) { StartCoroutine(LerpToEnd(currentTileNumber.snakeTail.thisTilePos, currentTileNumber.snakeTail.thisTileMinAnchor, currentTileNumber.snakeTail.thisTileMaxAnchor)); } if (endType == 1) { StartCoroutine(LerpToEnd(currentTileNumber.ladderEnd.thisTilePos, currentTileNumber.ladderEnd.thisTileMinAnchor, currentTileNumber.ladderEnd.thisTileMaxAnchor)); } }
public void MoveUnits(GameObject fromTile) { TileMethods selectedTileMethods = fromTile.GetComponent <TileMethods>(); TileInfoHolder selectedTileInfo = fromTile.GetComponent <TileInfoHolder>(); if (selectedTileInfo.neighbours.Contains(gameObject)) { if (selectedTileMethods.DeleteUnits(1)) { AddUnits(1); } } }
private void Start() { if (GetComponent <PlayerMoveSync>() != null) { GetComponent <PlayerMoveSync>().OnDiceRolled += MakeMove; } Debug.Log("start: "); GetComponent <PlayerEndMoveAction>().OnEndMoveDone += EndPlayerMove; rectTransform = GetComponent <RectTransform>(); currentTileNumber = GameObject.Find("InitialTile").GetComponent <TileInfoHolder>(); moveSync = GetComponent <PlayerMoveSync>(); // DiceMechanism.OnDiceRolled += MakeMove; }
void MouseExitChangeColors() { Renderer rend = gameObject.GetComponent <Renderer>(); rend.material = originalColor; TileInfoHolder info = gameObject.GetComponent <TileInfoHolder>(); for (int i = 0; i < info.neighbours.Count; i++) { rend = info.neighbours[i].GetComponent <Renderer>(); TileGUIEffects color = info.neighbours[i].GetComponent <TileGUIEffects>(); rend.material = color.originalColor; } }
void MouseOverChangeColors() { Renderer rend = gameObject.GetComponent <Renderer>(); rend.material.color = Color.black; TileInfoHolder info = gameObject.GetComponent <TileInfoHolder>(); for (int i = 0; i < info.neighbours.Count; i++) { rend = info.neighbours[i].GetComponent <Renderer>(); rend.material = fieldTint; } rend.material = fieldTint; }
IEnumerator LerpObject(int moveTimes) { if (rectTransform == null) { rectTransform = GetComponent <RectTransform>(); } bool keepMoving = true; for (int i = 0; i < moveTimes; i++) { if (currentTileNumber.tileNum == endTileNum && keepMoving == true)//last tile { OnPlayerWon(playerNum); keepMoving = false; yield break; } if (keepMoving == true) { while (currentTime <= timeOfTravel) { currentTime += Time.deltaTime; normalizedValue = currentTime / timeOfTravel; // we normalize our time rectTransform.anchorMin = Vector2.Lerp(rectTransform.anchorMin, currentTileNumber.nextTile.thisTileMinAnchor, normalizedValue); rectTransform.anchorMax = Vector2.Lerp(rectTransform.anchorMax, currentTileNumber.nextTile.thisTileMaxAnchor, normalizedValue); rectTransform.anchoredPosition = Vector3.Lerp(rectTransform.anchoredPosition, currentTileNumber.nextTile.thisTilePos, normalizedValue); yield return(null); } rectTransform.anchoredPosition = currentTileNumber.nextTile.thisTilePos; currentTime = 0; currentTileNumber = currentTileNumber.nextTile; } } // if(playerNum>0) OnCameToTile(0); if (currentTileNumber.hasSafe) { // if (playerNum > 0) checkTileForSafe(); //else //CheckHouseForNonemptiness(); } else { CheckHouseForNonemptiness(); } }
private void Start() { DiceMechanism.OnDiceRolled += DiceRollHappened; LocalPlayerEventAnnounce.OtherPlayerMoveEnded += WaitingForDiceRoll; DiceSelector.OnDiceNumbers += DisplayPointers; if (PlayerTurnReactor.currentPlayer != null) { locationCurrentTile = PlayerTurnReactor.currentPlayer.GetComponent <MoveOneTile>().currentTileNumber.nextTile; } if (PlayerTurnReactor.currentPlayer != null && PlayerTurnReactor.currentPlayer.GetComponent <PlayerDiceHolding>() != null) { DisplayPointers(diceCollection.diceFullDesigns[PlayerTurnReactor.currentPlayer.GetComponent <PlayerDiceHolding>().currentDiceID].nums); } }
private void Awake() { string thisName = name.Split('e')[1]; // nextTile = transform.parent.GetChild(transform.GetSiblingIndex() + 1).GetComponent<TileInfoHolder>(); tileNum = System.Convert.ToInt32(thisName); tileTextNum.text = tileNum.ToString(); string nextName = "Tile" + (tileNum + 1).ToString(); string prevName = "Tile" + (tileNum - 1).ToString(); if (tileNum - 1 < 1) { prevName = "Tile1"; } prevTile = GameObject.Find(prevName).GetComponent <TileInfoHolder>(); if (GameObject.Find(nextName) == null) { Debug.Log("null: " + name + " " + nextName); } else { nextTile = GameObject.Find(nextName).GetComponent <TileInfoHolder>(); } //tileNum = transform.GetSiblingIndex() ;//start at 1 thisTilePos = GetComponent <RectTransform>().anchoredPosition;// + new Vector2(80, 0); thisTileMinAnchor = GetComponent <RectTransform>().anchorMin; thisTileMaxAnchor = GetComponent <RectTransform>().anchorMax; if (hasSafe == true) { ChestData data = transform.GetChild(0).GetComponent <SafePrefabData>().chestData; // safeType = data.safeType; safeID = data.chestID; } if (hasCoin == true) { coinAmount = transform.GetChild(0).GetComponent <PrefabCoinHolder>().CoinData.coinAmount; } SafePickup.OnSafePickupDone += OnSafePickedUp; SafePickup.OnSafeReplaced += UpdateDataForSafeReplace; CoinCollection.OnPickedUpCoin += DeleteCoin; SafePickup.OnRestoreSafe += OnSafeRestore; }
void CheckHouseForNonemptiness() { if (currentTileNumber.isSnakeHead) { OnEndMoveEvent(0); currentTileNumber = currentTileNumber.snakeTail; } else if (currentTileNumber.isLadderHead) { OnEndMoveEvent(1); currentTileNumber = currentTileNumber.ladderEnd; } else { EndPlayerMove(); } }
public bool DeleteUnits(int num) { TileInfoHolder tileinfo = gameObject.GetComponent <TileInfoHolder>(); int initialunits = tileinfo.villagers.Count; try { for (int i = 0; i < num; i++) { GameObject unit = tileinfo.villagers[tileinfo.villagers.Count - 1]; tileinfo.villagers.RemoveAt(tileinfo.villagers.Count - 1); Destroy(unit); Debug.Log("Removed a unit from " + gameObject.name); } } catch (ArgumentOutOfRangeException) { Debug.Log("Attemped to remove " + (num - initialunits).ToString() + " units more than existed on " + gameObject.name); return(false); } return(true); }
IEnumerator LerpObject(int moveTimes) { if (rectTransform == null) { rectTransform = GetComponent <RectTransform>(); } for (int i = 0; i < moveTimes; i++) { while (currentTime <= timeOfTravel) { currentTime += Time.deltaTime; normalizedValue = currentTime / timeOfTravel; // we normalize our time rectTransform.anchorMin = Vector2.Lerp(rectTransform.anchorMin, currentTileNumber.prevTile.thisTileMinAnchor, normalizedValue); rectTransform.anchorMax = Vector2.Lerp(rectTransform.anchorMax, currentTileNumber.prevTile.thisTileMaxAnchor, normalizedValue); rectTransform.anchoredPosition = Vector3.Lerp(rectTransform.anchoredPosition, currentTileNumber.prevTile.thisTilePos, normalizedValue); yield return(null); } rectTransform.anchoredPosition = currentTileNumber.prevTile.thisTilePos; currentTime = 0; currentTileNumber = currentTileNumber.prevTile; } // if(playerNum>0) GetComponent <MoveOneTile>().currentTileNumber = currentTileNumber; OnCameToTile(0); if (currentTileNumber.hasSafe) { // if (playerNum > 0) checkTileForSafe(); //else //CheckHouseForNonemptiness(); } else { CheckHouseForNonemptiness(); } }
void MouseOverChangeUI() { TileInfoHolder info = gameObject.GetComponent <TileInfoHolder>(); UITextManager.currentHoverUnits = string.Format("Villagers: {0}| Warriors: {1}", info.villagers.Count, info.warriors.Count); }