예제 #1
0
 /// <summary>
 /// 获取设备状态
 /// </summary>
 /// <param name="cardPos">卡片位置</param>
 /// <param name="boxNum">回收箱卡数量</param>
 /// <returns></returns>
 public static Status GetStatus(ref CardPos cardPos, ref BoxCardNum boxNum)
 {
     if (!IsUse)
     {
         return(Status.CARD_SUCC);
     }
     try
     {
         int    iCardPos, iBoxNum;
         Status ret = (Status)Card_GetStatus(out iCardPos, out iBoxNum);
         if (ret != Status.CARD_SUCC)
         {
             AppLog.Write("[CardIssuer][GetStatus]" + ret.ToString(), AppLog.LogMessageType.Warn);
         }
         else
         {
             cardPos = (CardPos)iCardPos;
             boxNum  = (BoxCardNum)iBoxNum;
         }
         return(ret);
     }
     catch (System.Exception e)
     {
         AppLog.Write("[CardIssuer][GetStatus]Error!\n" + e.ToString(), AppLog.LogMessageType.Error);
         return(Status.CARD_FAIL);
     }
 }
예제 #2
0
    void EnterHand(CardData card, CardPos from = CardPos.Deck)
    {
        handCards.Add(card);
        cardViewControl.OpenCard(card);

        //cardViewControl.HandCardPosUpdate();
    }
예제 #3
0
 public void SetInfo(CardData _card, CardPos _form, CardPos _to)
 {
     card     = _card;
     burstNum = 0;
     from     = _form;
     to       = _to;
 }
예제 #4
0
 public void SetInfo(CardData _card)
 {
     card     = _card;
     burstNum = 0;
     from     = CardPos.Null;
     to       = CardPos.Null;
 }
예제 #5
0
 public void SetInfo(CardData _card, int _burstNum)
 {
     card     = _card;
     burstNum = _burstNum;
     from     = CardPos.Null;
     to       = CardPos.Null;
 }
예제 #6
0
    public void CmdPush()
    {
        //カード操作todo.....例)ポジション、正反面、など...
        CardPosition = new Vector3Int(1, 1, 1);


        //カードをクリエイト、クライアントを同期処理
        GameObject Card = Instantiate(CardPrefab, CardPosition, CardRotion.rotation);

        NetworkServer.Spawn(CardPos, CardPos.GetComponent <NetworkIdentity>().assetId);

        //クライアントのエフェクト表す
        CardEffect();
    }
예제 #7
0
    public void CardMove(CardData card, CardPos to, int condition = 0)
    {
        CardPos from = GetCardPosition(card);

        if (from == to)
        {
            return;
        }
        RemoveOriPos(card);

        if (to == CardPos.Hand)
        {
            EnterHand(card);
        }
        else if (to == CardPos.Deck)
        {
            deck.Add(card);
            if (condition == 0)
            {
                Shuffle();
            }
        }
        else if (to == CardPos.Cemetery)
        {
            cemetery.Add(card);
        }
        else if (to == CardPos.Banish)
        {
            banish.Add(card);
        }


        CardInfo cif = TriggerManager.instance.GetTriggerInfo <CardInfo>();

        cif.SetInfo(card, from, to);
        cif.GoTrigger(TriggerType.CardMove);
        if (from == CardPos.Deck && to == CardPos.Hand)
        {
            cif.GoTrigger(TriggerType.Draw);
        }
    }
        void moveCard(CardViewModel card, CardPos pos)
        {
            switch (pos)
            {
            case CardPos.Hand:
                card.transform.SetParent(cardSpawnRoot);
                break;

            case CardPos.Servant:
                card.transform.SetParent(servantRoot);
                card.transform.localPosition = Vector3.zero;
                break;

            case CardPos.Throw:
                card.transform.SetParent(throwRoot);
                break;

            default:
                return;
            }
        }
예제 #9
0
        public object CheckStatus()
        {
            BoxCardNum num = BoxCardNum.Null;
            CardPos    pos = CardPos.CardOnErrorPos;
            Status     ret = GetStatus(ref pos, ref num);

            if (ret == Status.CARD_SUCC)
            {
                if (num == BoxCardNum.Null)
                {
                    ret = Status.Null;
                }
                else if (num == BoxCardNum.CardFew)
                {
                    ret = Status.CardFew;
                }
                else if (num == BoxCardNum.CardEnough)
                {
                    ret = Status.CardEnough;
                }
            }
            return(ret);
        }
예제 #10
0
 /// <summary>
 /// 读取此道信息
 /// </summary>
 /// <param name="track1"></param>
 /// <param name="track2"></param>
 /// <param name="track3"></param>
 /// <returns></returns>
 public static Status ReadCardTrack(ref string track1, ref string track2, ref string track3)
 {
     if (!IsUse)
     {
         return(Status.CARD_SUCC);
     }
     try
     {
         CardPos    cardPos = CardPos.CardOnErrorPos;
         BoxCardNum boxNum  = BoxCardNum.Null;
         Status     ret     = (Status)GetStatus(ref cardPos, ref boxNum);
         if (ret == Status.CARD_SUCC && cardPos == CardPos.CardOnTrackReadPos)
         {
             byte[] bTrack1 = new byte[128];
             byte[] bTrack2 = new byte[128];
             byte[] bTrack3 = new byte[128];
             ret = (Status)Card_ReadAll(bTrack1, bTrack2, bTrack3);
             if (ret == Status.CARD_SUCC)
             {
                 track1 = Encoding.Default.GetString(bTrack1).Trim();
                 track2 = Encoding.Default.GetString(bTrack2).Trim();
                 track3 = Encoding.Default.GetString(bTrack3).Trim();
             }
         }
         else
         {
             ret = Status.CARD_FAIL;
         }
         return(ret);
     }
     catch (System.Exception e)
     {
         AppLog.Write("[CardIssuer][ReadCardTrack]Error!", AppLog.LogMessageType.Error, e);
         return(Status.CARD_FAIL);
     }
 }
예제 #11
0
    CardPos RemoveOriPos(CardData card)
    {
        CardPos pos = GetCardPosition(card);

        if (pos == CardPos.Hand)
        {
            ExitHand(card);
        }
        else if (pos == CardPos.Deck)
        {
            deck.Remove(card);
        }
        else if (pos == CardPos.Cemetery)
        {
            cemetery.Remove(card);
        }
        else if (pos == CardPos.Banish)
        {
            banish.Remove(card);
        }


        return(pos);
    }
예제 #12
0
 public MoveCard(CardData _card, CardPos _to)
 {
     card = _card;
     to   = _to;
 }