void MakeMove()
 {
     playerNum         = GetComponent <MoveOneTile>().playerNum;
     currentTileNumber = GetComponent <MoveOneTile>().currentTileNumber;
     //  OnGamestateChanged(0);
     StartCoroutine(LerpObject(5));
 }
Esempio n. 2
0
    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;
        }
    }
Esempio n. 3
0
    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);
        }
    }
Esempio n. 4
0
    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));
        }
    }
Esempio n. 6
0
    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;
 }
Esempio n. 8
0
    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;
        }
    }
Esempio n. 9
0
    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;
    }
Esempio n. 10
0
    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();
        }
    }
Esempio n. 11
0
    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();
        }
    }
Esempio n. 14
0
    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();
        }
    }
Esempio n. 16
0
    void MouseOverChangeUI()
    {
        TileInfoHolder info = gameObject.GetComponent <TileInfoHolder>();

        UITextManager.currentHoverUnits = string.Format("Villagers: {0}| Warriors: {1}", info.villagers.Count, info.warriors.Count);
    }