Ejemplo n.º 1
0
    public static int GetMaximumRank(Pawn.PawnType type)
    {
        switch (type)
        {
        case Pawn.PawnType.STAR:
            return(4);

        default:
            return(3);
        }
    }
Ejemplo n.º 2
0
    GameObject GetGutiType(Pawn.PawnType pawnType, int rank)
    {
        switch (pawnType)
        {
        case Pawn.PawnType.CROSS:
            if (rank > 1)
            {
                return(remotePawns[3]);
            }
            else
            {
                return(remotePawns[0]);
            }

        case Pawn.PawnType.PLUS:
            if (rank > 1)
            {
                return(remotePawns[4]);
            }
            else
            {
                return(remotePawns[1]);
            }

        case Pawn.PawnType.STAR:
            if (rank > 1)
            {
                return(remotePawns[5]);
            }
            else
            {
                return(remotePawns[2]);
            }

        default:
            return(remotePawns[0]);
        }
    }
Ejemplo n.º 3
0
    public bool checkOwnerShip(Pawn.PawnType pawnType)
    {
        bool retVal = false;

        if (Settings.instance.playerType == Settings.PlayerType.Cat)
        {
            switch (owner)
            {
            case Owner.Cats:
                if (pawnType == Pawn.PawnType.Ally)
                {
                    retVal = true;
                }
                break;

            case Owner.Llamas:
                if (pawnType == Pawn.PawnType.Enemy)
                {
                    retVal = true;
                }
                break;

            case Owner.Neurtral:
                if (pawnType == Pawn.PawnType.Ally)
                {
                    owner = Owner.Cats;
                }
                if (pawnType == Pawn.PawnType.Enemy)
                {
                    owner = Owner.Llamas;
                }
                UpdateOwnerColor();
                retVal = true;
                break;
            }
        }
        else
        {
            switch (owner)
            {
            case Owner.Llamas:
                if (pawnType == Pawn.PawnType.Ally)
                {
                    retVal = true;
                }
                break;

            case Owner.Cats:
                if (pawnType == Pawn.PawnType.Enemy)
                {
                    retVal = true;
                }
                break;

            case Owner.Neurtral:
                if (pawnType == Pawn.PawnType.Ally)
                {
                    owner = Owner.Llamas;
                }
                if (pawnType == Pawn.PawnType.Enemy)
                {
                    owner = Owner.Cats;
                }
                UpdateOwnerColor();
                retVal = true;
                break;
            }
        }
        return(retVal);
    }
Ejemplo n.º 4
0
    void CreatePawnsOpponent(List <GridData> gridDatas)
    {
        //star tower = remotepawns[5];
        //star       = remotePawns[2];
        for (int i = 0; i < gridDatas.Count; i++)
        {
            Square        square     = GetSquare(gridDatas[i].SquareID);
            Pawn.PawnType pawnType   = (Pawn.PawnType)System.Enum.Parse(typeof(Pawn.PawnType), gridDatas[i].PawnType);
            int           rankNumber = System.Convert.ToInt16(gridDatas[i].PawnRank);
            GameObject    guti       = GetGutiType(pawnType, rankNumber);
            Transform     obj        = Instantiate(guti).transform;
            obj.GetComponent <Pawn>().PawnId = i + 1;
            obj.name            = "Pawn_" + obj.GetComponent <Pawn>().PawnId.ToString();
            obj.position        = square.transform.position;
            square.occupiedPawn = obj.GetComponent <Pawn>();
            obj.GetComponent <Pawn>().occupiedSquare = square;
            obj.SetParent(players[1].allPawns);
        }
        //// PLACE STAR TOWER & STAR PAWN
        //int index = pawnPlaced.positions[0];
        //for (int i = 0; i < Constants.noOfSquarePerRow; i++)
        //{

        //    if (i == index)
        //        CreatePawn(players[1].firstThreeRowSquare[i].SquareId, players[1].allPawns, remotePawns[5]);
        //    else
        //        CreatePawn(players[1].firstThreeRowSquare[i].SquareId, players[1].allPawns, remotePawns[2]);
        //}

        //// PLACE PLUS AND CROSS TOWER & NORMAL PAWN
        //for (int j = 1; j <= 2; j++)
        //{
        //    int towerIndex = 0;
        //    int pawnIndex = 0;
        //    if (j == 2)
        //    {
        //        towerIndex = 4;
        //        pawnIndex = 0;
        //    }
        //    else
        //    {
        //        towerIndex = 3;
        //        pawnIndex = 1;
        //    }
        //    index = pawnPlaced.positions[j];//Random.Range(j * Constants.noOfSquarePerRow, (j + 1) * Constants.noOfSquarePerRow);
        //    CreatePawn(players[1].firstThreeRowSquare[index].SquareId, players[1].allPawns, remotePawns[towerIndex]);

        //    int startIndex = j * Constants.noOfSquarePerRow;
        //    int endIndex = (j + 1) * Constants.noOfSquarePerRow;

        //    for (int i = index + 1; i < endIndex; i++)
        //    {
        //        CreatePawn(players[1].firstThreeRowSquare[i].SquareId, players[1].allPawns, remotePawns[pawnIndex]);
        //        if (pawnIndex == 0)
        //            pawnIndex = 1;
        //        else
        //            pawnIndex = 0;
        //    }
        //    for (int i = startIndex; i < index; i++)
        //    {
        //        CreatePawn(players[1].firstThreeRowSquare[i].SquareId, players[1].allPawns, remotePawns[pawnIndex]);
        //        if (pawnIndex == 0)
        //            pawnIndex = 1;
        //        else
        //            pawnIndex = 0;
        //    }
        //}
    }