Exemple #1
0
    public void AddCardAtIndex(CardAsset cardAsset, int UniqueID, int index)
    {
        GameObject card = Instantiate(ViewManager.Instance.cardOnBoardPrefab, slots.Children[index].transform.position, Quaternion.identity) as GameObject;

        CardOnBoardView cardView = card.GetComponent <CardOnBoardView>();

        cardView.cardAsset = cardAsset;
        cardView.displayCardOnBoardVisual();

        foreach (Transform transform in card.GetComponentsInChildren <Transform>())
        {
            transform.tag = owner.ToString() + "CardOnFrontRow";
        }

        card.transform.SetParent(slots.transform);

        cardsInRow.Insert(index, card);

        WhereIsCard whereIsCard = card.GetComponent <WhereIsCard>();

        whereIsCard.Slot        = index;
        whereIsCard.VisualState = VisualStates.LowBoardFrontRow;

        IDHolder id = card.AddComponent <IDHolder>();

        id.UniqueID = UniqueID;

        ShiftSlotsGameObjectAccordingToNumberOfCardsOnBoard();
        PlaceCardsOnNewSlots();

        Command.CommandExecutionComplete();
    }
Exemple #2
0
    public void GivePlayerACard(CardAsset cardAsset, int UniqueID)
    {
        GameObject card = CreateACardAtPosition(cardAsset, slots.Children[0].transform.localPosition);

        foreach (Transform transform in card.GetComponentsInChildren <Transform>())
        {
            transform.tag = owner.ToString() + "Card";
        }
        AddCard(card);

        WhereIsCard whereIsCard = card.GetComponent <WhereIsCard>();

        IDHolder id = card.AddComponent <IDHolder>();

        id.UniqueID = UniqueID;

        Sequence sequence = DOTween.Sequence();

        sequence.Append(card.transform.DOLocalMove(slots.Children[0].transform.localPosition, 0));
        if (TakeCardsOpenly)
        {
            sequence.Insert(0f, card.transform.DORotate(Vector3.zero, 0));
        }

        sequence.OnComplete(() => ChangeLastCardStatusToInHand(card, whereIsCard));
    }
Exemple #3
0
    // Core functionality
    void Awake()
    {
        spriteRenderer = GetComponent <SpriteRenderer>();
        lineRenderer   = GetComponentInChildren <LineRenderer>();
        lineRenderer.sortingLayerName = "AboveEverything";
        triangle   = transform.Find("Triangle");
        triangleSR = triangle.GetComponent <SpriteRenderer>();

        cardView        = GetComponentInParent <CardOnBoardView>();
        whereIsThisCard = GetComponentInParent <WhereIsCard>();
    }
Exemple #4
0
    void PlaceCardsOnNewSlots()
    {
        foreach (GameObject gameObject in cardsInHand)
        {
            gameObject.transform.DOLocalMoveX(slots.Children[cardsInHand.IndexOf(gameObject)].transform.localPosition.x, 0.3f);

            WhereIsCard whereIsCard = gameObject.GetComponent <WhereIsCard>();
            whereIsCard.Slot = cardsInHand.IndexOf(gameObject);
            whereIsCard.SetHandSortingOrder();
        }
    }
Exemple #5
0
    void ChangeLastCardStatusToInHand(GameObject card, WhereIsCard whereIsCard)
    {
        if (owner == AreaPosition.Bottom)
        {
            whereIsCard.VisualState = VisualStates.BottomPlayerHand;
        }
        else
        {
            whereIsCard.VisualState = VisualStates.TopPlayerHand;
        }

        whereIsCard.SetHandSortingOrder();
        Command.CommandExecutionComplete();
    }
Exemple #6
0
 void Awake()
 {
     whereIsCard = GetComponent <WhereIsCard>();
     card        = GetComponent <CardView>();
 }