public void Tick(float dTime)
    {
        for (int i = 0; i < cards.Count; i++)
        {
            MiniCard card = cards[i];
            card.Tick(dTime);
            if (gameMode.state.Cards[i].TimeLeft < 3f)
            {
                //card.SetFlashingColor(gameMode.state.Cards[i].TimeLeft);
            }
            if (!card.PosDirty || Mathf.Abs(card.targetDegree - card.nowDegree) <= 1e-6)
            {
                card.PosDirty = false;
                card.CheckIsHighlight();
                continue;
            }
            card.nowDegree          += (card.targetDegree - card.nowDegree) * dTime * CardMoveSpd;
            card.rt.anchoredPosition = new Vector3(Mathf.Sin(card.nowDegree * Mathf.Deg2Rad) * R, Mathf.Cos(card.nowDegree * Mathf.Deg2Rad) * R - R);
            card.rt.localEulerAngles = new Vector3(0, 0, -card.nowDegree);
        }

        for (int i = 0; i < TmpCards.Count; i++)
        {
            MiniCard card = TmpCards[i];
            if (!card.PosDirty || Mathf.Abs(card.targetDegree - card.nowDegree) <= 1e-6)
            {
                card.PosDirty = false;
                card.CheckIsHighlight();
                continue;
            }
            card.rt.anchoredPosition = (card.TargetPos - card.rt.anchoredPosition) * dTime * 10f;
        }
    }
Beispiel #2
0
 public void removeCard(MiniCard toRemove)
 {
     if (DraggingIdx == cards.IndexOf(toRemove))
     {
         DraggingIdx = -1;
     }
     cards.Remove(toRemove);
     Adjust();
 }
Beispiel #3
0
 public void PutToInitPos(MiniCard card)
 {
     if (CardMode == 0)
     {
         card.rt.anchoredPosition = new Vector3(Mathf.Sin(MaxDegree * 0.5f * Mathf.Deg2Rad) * R, Mathf.Cos(MaxDegree * 0.5f * Mathf.Deg2Rad) * R);
         card.rt.localEulerAngles = new Vector3(0, 0, -MaxDegree);
     }
     else
     {
         card.NowPos = new Vector3(Width, 0);
         card.rt.anchoredPosition = new Vector3(Width, 0);
     }
 }
Beispiel #4
0
    public bool UseCardGem(MiniCard toUse)
    {
        int cardIdx = cards.IndexOf(toUse);

        if (gameMode.TryUseCardGem(cardIdx))
        {
            return(true);
        }
        else
        {
            return(false);
        }
    }
Beispiel #5
0
    public bool AddCard(CardInZhibo cardInfo)
    {
        IResLoader loader = GameMain.GetInstance().GetModule <ResLoader>();

        GameObject cardGo = loader.Instantiate("Zhibo/Card");

        if (cardGo == null)
        {
            return(false);
        }
        MiniCard card = cardGo.GetComponent <MiniCard>();

        card.Init(cardInfo, this);
        card.transform.SetParent(transform, false);
        cards.Add(card);
        Adjust();
        return(true);
    }
    public bool AddTmpCard(CardInZhibo cardInfo)
    {
        IResLoader loader = GameMain.GetInstance().GetModule <ResLoader>();

        GameObject cardGo = loader.Instantiate("Zhibo/Card", FixedContainer);

        if (cardGo == null)
        {
            return(false);
        }
        MiniCard card = cardGo.GetComponent <MiniCard>();

        card.Init(cardInfo, this);
        card.rt.anchoredPosition = Vector3.zero;
        card.rt.localEulerAngles = Vector3.zero;
        TmpCards.Add(card);
        AdjustTmp();
        return(true);
    }
Beispiel #7
0
    public bool Fanmian(MiniCard card)
    {
        int cardIdx = cards.IndexOf(card);

        return(gameMode.Fanmian(cardIdx));
    }
Beispiel #8
0
 public override void Init(CardPoolMgr poolMgr, DraggingRoot draggingRoot)
 {
     base.Init(poolMgr, draggingRoot);
     _miniCard = GetComponent <MiniCard>();
 }
 public void PutToInitPos(MiniCard card)
 {
     card.rt.anchoredPosition = new Vector3(Mathf.Sin(MaxDegree * 0.5f * Mathf.Deg2Rad) * R, Mathf.Cos(MaxDegree * 0.5f * Mathf.Deg2Rad) * R);
     card.rt.localEulerAngles = new Vector3(0, 0, -MaxDegree);
 }