void indexCheck(CardObject a, CardObject b, List<GameObject> list)
 {
     if (a.index == b.index) {
         a.discoveredCard = true;
         b.discoveredCard = true;
     }
     else {
         b.isDown = true;
         a.isDown = true;
     }
     list.RemoveAt (1);
     list.RemoveAt (0);
 }
Beispiel #2
0
    public void excute(Dictionary <String, String> command)
    {
        Debug.Log("executecommond:");
        Debug.Log(de.DictionaryToStr(command));
        if (nowcard != null)
        {
            Debug.Log("nowcard:");
            Debug.Log(nowcard.id);
            Debug.Log(nowcard.card);
        }
        //GameObject.Find("Canvas").transform.Find("Instruction").GetComponent<Text>().text = de.DictionaryToStr(command);
        de.decodeinstruction(command);
        switch (de.type)
        {
        case "initcard":
            GameObject.Find("Canvas").transform.Find("readyButton").gameObject.SetActive(false);
            for (int i = 1; i <= 4; i++)
            {
                int   pl  = (i + 4 - de.room_id) % 4;
                int[] plc = new int[9];
                Array.Copy(de.cards, i * 9 - 9, plc, 0, 9);
                givecard(plc, pl);
            }
            setcardstatement();
            canvas = GameObject.Find("Canvas");
            canvas.transform.Find("chooseMentorPanel").gameObject.SetActive(true);
            timei = canvas.transform.Find("TimerImage").GetComponent <Image>();
            timei.gameObject.SetActive(true);
            timei.gameObject.transform.Find("TimerText").GetComponent <Timer>().setStatment(2);
            break;

        case "askcard":    //服务器让你给他传要打的牌
            if (de.content.Equals(de.roomidstr))
            {
                setdapai();
                canvas = GameObject.Find("Canvas");
                timei  = canvas.transform.Find("TimerImage").GetComponent <Image>();
                timei.gameObject.SetActive(true);
                timei.gameObject.transform.Find("TimerText").GetComponent <Timer>().setStatment(1);
                if (nowcard != null && nowcard.card.transform.localPosition == players[0].getpos)
                {
                    nowcard.card.GetComponent <cardactivity>().setcan(true);
                }
            }


            break;

        case "college":
            int coll1 = de.cards[0] + 26;
            int coll2 = de.cards[1] + 26;
            canvas = GameObject.Find("Canvas");
            canvas.transform.Find("disappearCollege1").gameObject.SetActive(true);
            canvas.transform.Find("disappearCollege2").gameObject.SetActive(true);
            canvas.transform.Find("disappearCollege1").GetComponent <Image>().sprite = cardImage[coll1];
            canvas.transform.Find("disappearCollege2").GetComponent <Image>().sprite = cardImage[coll2];

            break;

        case "card":    //服务器给你传谁拿了什么牌
            if (de.cards.Length == 2)
            {
                string cbtn = "courseButton";
                for (int i = 0; i < 4; i++)
                {
                    if (de.cardheapnum == i)
                    {
                        int   num       = i + 1;
                        int[] scorecard = { de.pairlist[i * 2], de.pairlist[i * 2 + 1] };
                        getscorecard(scorecard, de.player);
                        string findstr = cbtn + num;
                        canvas = GameObject.Find("Canvas");
                        Button butn = canvas.transform.Find("chooseCoursePanel").transform.Find(findstr).GetComponent <Button>();
                        butn.transform.Find("Text").gameObject.SetActive(true);
                    }
                }
                showcard(de.player);
            }
            else if (de.cards.Length == 1)
            {
                getcard(de.cards[0], de.player);
            }
            break;

        case "specialope":
            canvas = GameObject.Find("Canvas");
            cpgh   = canvas.transform.Find("cpgh").gameObject;
            cpgh.SetActive(true);
            chibut = cpgh.transform.Find("chiButton").GetComponent <Button>();
            Button peng   = cpgh.transform.Find("pengButton4").GetComponent <Button>();
            Button gang   = cpgh.transform.Find("gangButton5").GetComponent <Button>();
            Button hu     = cpgh.transform.Find("huButton6").GetComponent <Button>();
            Button cancel = cpgh.transform.Find("cancelButton0").GetComponent <Button>();
            chibut.gameObject.SetActive(de.butt[0] | de.butt[1] | de.butt[2] | de.butt[3] | de.butt[4] | de.butt[5]);
            chibut.interactable = (de.butt[0] | de.butt[1] | de.butt[2]);
            decidebtnImage(chibut, 0);
            peng.gameObject.SetActive(de.butt[0] | de.butt[1] | de.butt[2] | de.butt[3] | de.butt[4] | de.butt[5]);
            peng.interactable = de.butt[3];
            decidebtnImage(peng, 2);
            gang.gameObject.SetActive(de.butt[0] | de.butt[1] | de.butt[2] | de.butt[3] | de.butt[4] | de.butt[5]);
            gang.interactable = de.butt[4];
            decidebtnImage(gang, 4);
            hu.gameObject.SetActive(de.butt[0] | de.butt[1] | de.butt[2] | de.butt[3] | de.butt[4] | de.butt[5]);
            hu.interactable = de.butt[5];
            decidebtnImage(hu, 6);
            cancel.gameObject.SetActive(de.butt[0] | de.butt[1] | de.butt[2] | de.butt[3] | de.butt[4] | de.butt[5]);
            if (!(de.butt[0] | de.butt[1] | de.butt[2] | de.butt[3] | de.butt[4] | de.butt[5]))
            {
                System.Threading.Thread.Sleep(500);
                GameObject.Find("Network").GetComponent <NetworkManeger>().sendMsg(new Dictionary <string, string>()
                {
                    { "type", "opereply" },
                    { "socket_id", PlayerPrefs.GetString("socket_id") },
                    { "room", PlayerPrefs.GetString("room") },
                    { "room_id", PlayerPrefs.GetString("room_id") },
                    { "content", "0" }
                });
            }
            else
            {
                timei = canvas.transform.Find("TimerImage").GetComponent <Image>();
                timei.gameObject.SetActive(true);
                timei.gameObject.transform.Find("TimerText").GetComponent <Timer>().setStatment(4);
            }

            break;

        case "play":
            if (de.player == 0)
            {
                anim = GameObject.Find("Hand1").GetComponent <Animator>();
                anim.SetTrigger(name: "takeTrigger");
                Debug.Log("anim Play!");
                dropcard(de.cards[0], de.player);
                nowcard.card.SetActive(false);
                CardObject p = nowcard;
                StartCoroutine(delayPlayCard(p));
                break;
            }
            dropcard(de.cards[0], de.player);

            break;

        case "cpg":
            int cpl = de.player;
            int lpl = de.lastplayer;
            outcard(de.cards, cpl, lpl, de.kind);

            break;

        case "roominfo":
            ESWN(de.room_id);
            print("roominfo come!");
            foreach (var VARIABLE in de.names)
            {
                print(VARIABLE);
            }
            name1 = GameObject.Find("Player");
            name2 = GameObject.Find("nextPlayer");
            name3 = GameObject.Find("oppositePlayer");
            name4 = GameObject.Find("lastPlayer");
            print(de.names);
            name1.transform.Find("Text").GetComponent <Text>().text = de.names[0];
            name2.transform.Find("Text").GetComponent <Text>().text = de.names[1];
            name3.transform.Find("Text").GetComponent <Text>().text = de.names[2];
            name4.transform.Find("Text").GetComponent <Text>().text = de.names[3];

            name1.transform.Find("ready").GetComponent <Image>().gameObject.SetActive(de.readystatement[0]);
            name2.transform.Find("ready").GetComponent <Image>().gameObject.SetActive(de.readystatement[1]);
            name3.transform.Find("ready").GetComponent <Image>().gameObject.SetActive(de.readystatement[2]);
            name4.transform.Find("ready").GetComponent <Image>().gameObject.SetActive(de.readystatement[3]);

            roomText = GameObject.Find("roomNumberText");
            roomText.GetComponent <Text>().text = de.room;

            break;

        case "end":
            canvas = GameObject.Find("Canvas");
            canvas.transform.Find("winPanel").gameObject.SetActive(true);
            Image  wp       = canvas.transform.Find("winPanel").GetComponent <Image>();
            string endname  = "UserImage";
            string endscore = "scoreImage";
            for (int i = 1; i <= 4; i++)
            {
                print(endname + i);
                Image imge = wp.transform.Find(endname + i).GetComponent <Image>();
                imge.transform.Find("Text").GetComponent <Text>().text = de.playernames[i - 1];
                imge = wp.transform.Find(endscore + i).GetComponent <Image>();
                imge.transform.Find("Text").GetComponent <Text>().text = de.finalscore[i - 1];
            }

            break;

        case "hu":
            canvas = GameObject.Find("Canvas");
            Image hpl = canvas.transform.Find("huPanel").GetComponent <Image>();
            hpl.gameObject.SetActive(true);
            Image img = hpl.transform.Find("leftImage").GetComponent <Image>();
            img.transform.Find("nameText").GetComponent <Text>().text  = de.playernames[0];
            img.transform.Find("scoreText").GetComponent <Text>().text = de.gerenscore;
            string[] cardtype = de.content.Split(' ');
            img = hpl.transform.Find("baseImage").GetComponent <Image>();
            string ppp = "Image";
            for (int i = 0; i < de.cards.Length; i++)
            {
                img.transform.Find(ppp + (i + 1)).GetComponent <Image>().sprite = cardImage[de.cards[i] / 4];
            }
            ppp = "";
            string right = "";
            for (int i = 0; i < cardtype.Length; i++)
            {
                if (i < 5)
                {
                    ppp += cardtype[i];
                    ppp += "\n";
                }
                else
                {
                    right += cardtype[i];
                    right += "\n";
                }
            }
            hpl.transform.Find("huText").GetComponent <Text>().text  = ppp;
            hpl.transform.Find("huText2").GetComponent <Text>().text = right;


            break;

        case "id":

            break;

        case "mook":
            int mookpl = int.Parse(de.mookplayer);
            mookpl = (mookpl + 4 - de.room_id) % 4 + 1;
            string mookname = "play" + mookpl + "MookImage";
            Debug.Log(mookname);
            Image whotalk = GameObject.Find("Canvas").transform.Find("mook").transform.Find(mookname).GetComponent <Image>();
            whotalk.gameObject.SetActive(true);
            whotalk.transform.Find("Text").GetComponent <Text>().text = marenSentences[de.mooktype - 1];
            StartCoroutine(delayImageDisappear(whotalk));
            switch (de.mooktype)
            {
            case 1:
                GameObject.Find("mookAudio1").GetComponent <AudioSource>().Play();

                break;

            case 2:
                GameObject.Find("mookAudio2").GetComponent <AudioSource>().Play();

                break;

            case 3:
                GameObject.Find("mookAudio3").GetComponent <AudioSource>().Play();
                break;

            case 4:
                GameObject.Find("mookAudio4").GetComponent <AudioSource>().Play();
                break;

            case 5:
                GameObject.Find("mookAudio5").GetComponent <AudioSource>().Play();
                break;

            default:
                Debug.Log("No such Mook!");
                break;
            }
            break;

        case "pair":
            de.whichispicked = new bool[4];
            canvas           = GameObject.Find("Canvas");
            canvas.transform.Find("chooseCoursePanel").gameObject.SetActive(true);
            GameObject.Find("chooseCoursePanel").transform.Find("remindText").gameObject.SetActive(false);
            GameObject.Find("chooseCoursePanel").transform.Find("Slider").gameObject.SetActive(true);
            GameObject.Find("chooseCoursePanel").transform.Find("scoreButton").gameObject.SetActive(true);
            chosepanel = GameObject.Find("chooseCoursePanel");
            GameObject.Find("scoreButton").GetComponent <Button>().interactable = true;
            Button btn = GameObject.Find("courseButton1").GetComponent <Button>();
            btn.interactable = false;
            btn.transform.Find("Image1").GetComponent <Image>().sprite = cardImage[de.cards[0] / 4];
            btn.transform.Find("Image2").GetComponent <Image>().sprite = cardImage[de.cards[1] / 4];
            btn.transform.Find("Text").gameObject.SetActive(false);

            btn.GetComponent <couserController>().setTwoCard(de.cards[0], de.cards[1]);

            btn = GameObject.Find("courseButton2").GetComponent <Button>();
            btn.interactable = false;
            btn.transform.Find("Image1").GetComponent <Image>().sprite = cardImage[de.cards[2] / 4];
            btn.transform.Find("Image2").GetComponent <Image>().sprite = cardImage[de.cards[3] / 4];
            btn.transform.Find("Text").gameObject.SetActive(false);
            btn.GetComponent <couserController>().setTwoCard(de.cards[2], de.cards[3]);

            btn = GameObject.Find("courseButton3").GetComponent <Button>();
            btn.interactable = false;
            btn.transform.Find("Image1").GetComponent <Image>().sprite = cardImage[de.cards[4] / 4];
            btn.transform.Find("Image2").GetComponent <Image>().sprite = cardImage[de.cards[5] / 4];
            btn.transform.Find("Text").gameObject.SetActive(false);
            btn.GetComponent <couserController>().setTwoCard(de.cards[4], de.cards[5]);

            btn = GameObject.Find("courseButton4").GetComponent <Button>();
            btn.interactable = false;
            btn.transform.Find("Image1").GetComponent <Image>().sprite = cardImage[de.cards[6] / 4];
            btn.transform.Find("Image2").GetComponent <Image>().sprite = cardImage[de.cards[7] / 4];
            btn.transform.Find("Text").gameObject.SetActive(false);
            btn.GetComponent <couserController>().setTwoCard(de.cards[6], de.cards[7]);

            timei = canvas.transform.Find("TimerImage").GetComponent <Image>();
            timei.gameObject.SetActive(true);
            timei.gameObject.transform.Find("TimerText").GetComponent <Timer>().setStatment(3);
            break;

        case "askchoice":
            if (de.content.Equals(de.roomidstr))
            {
                string cbtn = "courseButton";
                GameObject.Find("chooseCoursePanel").transform.Find("remindText").gameObject.SetActive(true);
                for (int i = 0; i < 4; i++)
                {
                    if (!de.whichispicked[i])
                    {
                        int    mun     = i + 1;
                        string findstr = cbtn + mun;
                        Button button  = GameObject.Find(findstr).GetComponent <Button>();
                        button.interactable = true;
                    }
                }
                canvas = GameObject.Find("Canvas");
                timei  = canvas.transform.Find("TimerImage").GetComponent <Image>();
                timei.gameObject.SetActive(true);
                timei.gameObject.transform.Find("TimerText").GetComponent <Timer>().setStatment(5);
            }


            break;

        default:
            Debug.Log("what the f**k command!?");
            break;
        }
    }
Beispiel #3
0
 public void SelectCard(CardObject CO)
 {
     Card = CO;
 }
 public override void ActivateEffect(PlayerManager user, CardObject source)
 {
     user.ApplyBuff(buffToApply);
 }
Beispiel #5
0
    // privated init loading
    void init_char_card_load()
    {
        card_setting       = ConfigContainer.LoadCardVersion(ConfigPath.StreamingAsset);
        this.CardAssetPack = new Dictionary <string, CardSetPack>();

        // this.DuelCardSet = new CardSet();
        this.DuelCardObj = new CardObject();
        // this.HostCardSet = new CardSet();
        this.HostCardObj = new CardObject();

        this.CardOption      = new List <GameObject>();
        this.SkillObjectDict = new Dictionary <string, List <SkillObject> >();
        this.CardObjectDic   = new Dictionary <string, CardObject>();

        foreach (var t in card_setting.Available)
        {
            AssetBundle ptmp = AssetBundle.LoadFromFile(
                Path.Combine(ConfigPath.Asset_path, "CC" + (t.ToString()).PadLeft(2, '0') + ".ab")
                );

            // AvailableCCAsset.Add(ptmp);
            TextAsset ta  = ptmp.LoadAsset("card_set.json") as TextAsset;
            TextAsset ska = ptmp.LoadAsset("skill.json") as TextAsset;

            CardObject Dataset = JsonConvert.DeserializeObject <CardObject>(ta.text);
            this.CardObjectDic.Add($"cc_{t.ToString()}", Dataset);

            List <SkillObject> tmp_sk = JsonConvert.DeserializeObject <List <SkillObject> >(ska.text);

            // CardSet
            // AvailableCard.AddRange(Dataset.card_set);

            foreach (var cs in Dataset.card_set)
            {
                GameObject gotmp     = (GameObject)Instantiate(CCardPrefab, ChangeDeckContent.transform);
                var        card_face = gotmp.GetComponent <CCardCtl>();
                card_face.CC_id = Dataset.id;
                card_face.level = cs.level;

                Texture2D tas = ptmp.LoadAsset(cs.chara_image.name.Replace(".png", "")) as Texture2D;
                cs.chara_image_t2 = tas;

                this.CardAssetPack.Add(
                    $"cc_{Dataset.id}_{cs.id}",
                    cs
                    );

                StartCoroutine(card_face.InitCCImg2(Dataset, cs));
                StartCoroutine(card_face.InitCCLvFrame());
                StartCoroutine(card_face.InitEquSetting(0, 0));
                Button gotmp_btn = gotmp.AddComponent <Button>();
                gotmp_btn.onClick.AddListener(() => ChangePanel_OnCardClick(Dataset, cs));
                this.CardOption.Add(gotmp);
                List <SkillObject> skj = new List <SkillObject>();
                foreach (var y in tmp_sk)
                {
                    if (cs.skill_pointer.Contains(y.id) && !skj.Contains(y))
                    {
                        skj.Add(y);
                    }
                }
                this.SkillObjectDict.Add(t.ToString() + "R" + cs.id.ToString(), skj);
            }
            // this.CardAB.Add(ptmp);
            ptmp.Unload(false);
        }
    }
Beispiel #6
0
        private void Update()
        {
            Debug.Log("当前状态:" + _gameStatus);
            switch (_gameStatus)
            {
            case GameStatus.GameNoStart:
                MenuButtons.gameObject.SetActive(true);
                GameButtons.gameObject.SetActive(false);
                break;

            case GameStatus.GameStart:
                //延迟执行
                InvokeRepeating("WaitForCardReady", 2, 1);
                break;

            case GameStatus.GameCall:
                PlayBt.isEnabled = false;
                TipsBt.isEnabled = false;
                PassBt.isEnabled = false;
                CheckLoadLord();
                break;

            case GameStatus.GameGiveLandLordCard:
                _textController.HideAllTexts();
                foreach (Player player in Players)
                {
                    if (player.IsLord)
                    {
                        Debug.Log(player.Position + "是地主");
                        _diZhuPlayer = player;
                    }
                }
                foreach (CardObject co in DiPaiList)
                {
                    co.ReverseCard();
                    CardObject instantiate = InstantiateCard(co.Card, table.transform, true);
                    _diZhuPlayer.AddCard(instantiate);
                }
                _diZhuPlayer.SortCard(true);
                _gameStatus          = GameStatus.Gaming;
                currentPlayer        = _diZhuPlayer;
                currentPlayer.IsTurn = true;
                break;

            case GameStatus.Gaming:
                Debug.Log("游戏开了");
                Debug.Log("该" + currentPlayer.Position + "出了");
                GameButtons.gameObject.SetActive(true);
                MenuButtons.gameObject.SetActive(false);
                CallLandLordBt.gameObject.SetActive(false);
                PassLandLordBt.gameObject.SetActive(false);

                if (currentPlayer.IsTurn && currentPlayer.Position == Player.PlayerPosition.Self)
                {
                    TipsBt.isEnabled = true;
                    PassBt.isEnabled = true;
                    PlayBt.isEnabled = true;
                }

                var playerId = Players.FindIndex(p => p.Position == currentPlayer.Position);
                int preId1;
                if (playerId - 1 < 0)
                {
                    preId1 = 2;
                }
                else
                {
                    preId1 = playerId - 1;
                }
                int preId2;
                if (preId1 - 1 < 0)
                {
                    preId2 = 2;
                }
                else
                {
                    preId2 = preId1 - 1;
                }
                Player preplayer1 = Players[preId1];
                Player preplayer2 = Players[preId2];

//                    //第一次出牌
//                    if (currentPlayer.ChuPaiCishu == 0 && preplayer1.ChuPaiCishu == 0 && preplayer2.ChuPaiCishu == 0) {
//                        TipsBt.isEnabled = false;
//                        PassBt.isEnabled = false;
//                        PlayBt.isEnabled = true;
//                    }
//                    //其他人都不要, 自己重出
//                    if (currentPlayer.ChuPaiCishu > 0 && preplayer1.ChuPaiCishu == -1 && preplayer2.ChuPaiCishu == -1) {
//                        TipsBt.isEnabled = true;
//                        PassBt.isEnabled = false;
//                        PlayBt.isEnabled = true;
//                    }
                if (currentPlayer.PlayedStatus == Player.PlayerStatus.Passed &&
                    preplayer1.PlayedStatus == Player.PlayerStatus.Passed &&
                    preplayer2.PlayedStatus == Player.PlayerStatus.Passed)
                {
                    TipsBt.isEnabled = false;
                    PassBt.isEnabled = false;
                    PlayBt.isEnabled = true;
                }
                if (currentPlayer.PlayedStatus == Player.PlayerStatus.Played &&
                    preplayer1.PlayedStatus == Player.PlayerStatus.Passed &&
                    preplayer2.PlayedStatus == Player.PlayerStatus.Passed)
                {
                    TipsBt.isEnabled = true;
                    PassBt.isEnabled = false;
                    PlayBt.isEnabled = true;
                }

                if (!currentPlayer.IsTurn)
                {
                    Player.PlayerPosition playerPosition = currentPlayer.Position + 1;
                    int next = (int)playerPosition % Players.Count;
                    currentPlayer = Players[next];
                }
                else
                {
                    if (_currentTime == 0)
                    {
                        PlayCard(currentPlayer);
                    }
                }
                break;
            }
        }
Beispiel #7
0
 CardObject GetTarget(CardObject parent)
 {
     return(parent._data._allegiance == Allegiance.Player ? parent._gameManager._battle._enemyTray.GetLastLivingCard() : parent._gameManager._battle._playerTray.GetLastLivingCard());
 }
Beispiel #8
0
        public BaseResponse ChargeAmount(CustomerDetails customerDetails, AuditInfo auditInfo, Veneka.Indigo.Integration.Config.IConfig config, ExternalSystemFields externalFields)
        {
            List <IProductPrintField> printFields = _cardManService.GetProductPrintFields(customerDetails.ProductId, null, null);

            _log.Trace(t => t("Looking up account in Core Banking System."));

            if (config == null)
            {
                _log.Trace("FeeChargeLogic: ChargeAmount config IS NULL");
            }

            InterfaceInfo interfaceInfo = new InterfaceInfo
            {
                Config        = config,
                InterfaceGuid = config.InterfaceGuid.ToString()
            };

            _log.Trace("InterfaceInfo interfaceInfo = new InterfaceInfo : No Issues");

            CardObject _object = new CardObject();

            _object.CustomerAccount = new AccountDetails();
            _object.CustomerAccount.AccountNumber = customerDetails.AccountNumber;
            _object.PrintFields = printFields;
            var response = _comsCore.CheckBalance(customerDetails, externalFields, interfaceInfo, auditInfo);

            if (response.ResponseCode == 0)
            {
                {
                    try
                    {
                        string feeResponse = String.Empty;

                        // Charge Fee if it's greater than 0 and has not already been charged for.
                        if (customerDetails.FeeCharge != null && customerDetails.FeeCharge.Value > 0 && String.IsNullOrWhiteSpace(customerDetails.FeeReferenceNumber))
                        {
                            _log.Trace(t => t("FeeChargeLogic: ChargeAmount : calling Charge the fee."));
                            string feeReferenceNumber = string.Empty;

                            var response_fee = _comsCore.ChargeFee(customerDetails, externalFields, interfaceInfo, auditInfo);

                            if (response_fee.ResponseCode == 0)
                            {
                                // customerDetails.FeeReferenceNumber = feeReferenceNumber;
                                _log.DebugFormat($"FeeReferenceNumber {customerDetails.FeeReferenceNumber}");
                                return(new BaseResponse(ResponseType.SUCCESSFUL, feeResponse, feeResponse));
                            }
                            else
                            {
                                _log.Trace(t => t(feeResponse));

                                return(new BaseResponse(ResponseType.UNSUCCESSFUL, feeResponse, feeResponse));
                            }
                        }
                        else
                        {
                            if (!String.IsNullOrWhiteSpace(customerDetails.FeeReferenceNumber))
                            {
                                if (_log.IsDebugEnabled)
                                {
                                    _log.DebugFormat("Fee already charged: Ref{0}", customerDetails.FeeReferenceNumber);
                                }
                                else
                                {
                                    _log.Trace(t => t("Fee already charged."));
                                }
                            }
                            return(new BaseResponse(ResponseType.SUCCESSFUL, feeResponse, feeResponse));
                        }
                    }
                    catch (NotImplementedException nie)
                    {
                        _log.Warn(nie);
                        return(new BaseResponse(ResponseType.ERROR,
                                                nie.Message,
                                                nie.Message));
                    }
                    catch (Exception ex)
                    {
                        _log.Error(ex);
                        return(new BaseResponse(ResponseType.ERROR,
                                                ex.Message,
                                                _log.IsDebugEnabled || _log.IsTraceEnabled ? ex.Message : ""));
                    }
                }
            }

            return(new BaseResponse(ResponseType.UNSUCCESSFUL, response.ResponseMessage, response.ResponseMessage));
        }
    public IEnumerator StartSelfCCImplement(AssetBundle abs)
    {
        if (abs == null)
        {
            yield return(null);
        }
        TextAsset ta  = abs.LoadAsset("card_set.json") as TextAsset;
        TextAsset ska = abs.LoadAsset("skill.json") as TextAsset;

        this.DataSet = JsonConvert.DeserializeObject <CardObject>(ta.text);
        for (int i = 0; i < this.DataSet.card_set.Count; i++)
        {
            if (this.DataSet.card_set[i].level == this.Level)
            {
                // this.DataCardSet = this.DataSet.card_set[i];
                break;
            }
        }
        List <SkillObject> tmp_sk = JsonConvert.DeserializeObject <List <SkillObject> >(ska.text);

        List <int> sumd = new List <int>();

        foreach (int d in DataCardSet.skill_pointer)
        {
            if (!sumd.Contains(d))
            {
                sumd.Add(d);
            }
        }
        List <SkillObject> skj = new List <SkillObject>();

        foreach (var tt in sumd)
        {
            foreach (var y in tmp_sk)
            {
                if (y.id == tt && !skj.Contains(y))
                {
                    skj.Add(y);
                }
            }
        }

        SkillObject = skj;
        if (this.Block == null)
        {
            this.Block = this.transform.root.parent.Find(
                "Canvas/BlockLayout/CardBlock"
                ).gameObject.GetComponent <CCardBockCtl>();
        }

        if (this.StandCtl == null)
        {
            this.StandCtl = this.transform.root.parent.Find(
                "Canvas/StandImgLayout/SelfStand"
                ).gameObject.GetComponent <CCardStandCtl>();
        }

        this.Block.level = this.Level;

        this.Block.is_self    = 1;
        this.StandCtl.is_self = 1;

        StartCoroutine(this.Block.InitCCLvFrame());
        StartCoroutine(this.Block.InitEquSetting(atk_equ, def_equ));
        StartCoroutine(this.Block.InitCCImg(abs, this.DataSet, this.DataCardSet));
        StartCoroutine(this.StandCtl.InitCCImg(abs, this.DataCardSet));
        StartCoroutine(this.Skill.InitCCImg(abs, this.SkillObject));
        StartCoroutine(this.Phase.InitCCImg(abs, this.DataCardSet));
        yield return(true);
    }
Beispiel #10
0
 public void SetObject(CardObject cardObj)
 {
     this.cardObj = cardObj;
     mTransform   = cardObj.transform;
 }
Beispiel #11
0
 bool CheckCardCost(CardObject cardObject)
 {
     return(cardObject.cardDefinition.cost <= currentCardPoints);
 }
Beispiel #12
0
 void ResetCardPosition(CardObject cardObject)
 {
     //cardObject.ResetCardPosition(selectedCardPositionObject.transform.position);
     cardObject.MouseExitCard();
     cardObject.isSelected = false;
 }
Beispiel #13
0
    // Update is called once per frame
    void Update()
    {
        if (hasWon == false)
        {
            //if (Input.GetKeyDown(KeyCode.R))
            //{
            //    RemoveRandomCardFromHand();
            //}

            Vector3 mousePos = Input.mousePosition;
            if (selectedCard != null)
            {
                mousePos.z = cardSelectedMouseWorldZ;
            }
            else
            {
                mousePos.z = mouseWorldZ;
            }
            Vector3 worldMousePos = Camera.main.ScreenToWorldPoint(mousePos);

            if (mouseWorldObject != null)
            {
                mouseWorldObject.transform.position = worldMousePos;
            }


            if (isPlayerTurn)
            {
                if (handDealt == false)
                {
                    if (cardObject != null && playerHandObject != null)
                    {
                        DealPlayerHand(currentMaxCardsInHand);
                        handDealt = true;
                    }

                    //Debug.Log("start player turn");
                }

                if (playerCharacterObject.isExecutingTurn == false)
                {
                    Ray        mouseRay = Camera.main.ScreenPointToRay(mousePos);
                    RaycastHit mouseHit;

                    if (selectedCard == null)
                    {
                        if (Input.GetMouseButtonDown(0))
                        {
                            if (Physics.Raycast(mouseRay, out mouseHit, 100f, cardMask))
                            {
                                if (mouseHit.transform.TryGetComponent(out selectedCard))
                                {
                                    selectedCard.isSelected = true;
                                    hasCardBeenSelected     = true;
                                }
                            }
                        }
                    }

                    if (Input.GetMouseButtonUp(0))
                    {
                        hasCardBeenSelected = false;
                    }

                    if (hasCardBeenSelected)
                    {
                        if (selectedCardPositionObject != null)
                        {
                            splineStartPoint.transform.position = selectedCard.GetStartPosition() + splineStartPositionOffset;

                            bezierPath.MovePoint(0, mouseWorldObject.transform.position);
                            bezierPath.MovePoint(bezierPath.NumPoints - 1, splineStartPoint.transform.position);

                            pathCreator.TriggerPathUpdate();

                            lineRenderer.enabled = true;

                            //selectedCard.transform.position = selectedCardPositionObject.transform.position;
                        }
                        //selectedCard.transform.position = mouseWorldObject.transform.position;
                    }
                    else
                    {
                        if (selectedCard != null)
                        {
                            lineRenderer.enabled = false;

                            if (selectedCard.cardDefinition.cardType == CARDTYPE.ATTACK)
                            {
                                if (selectedCard.cardDefinition.useOnGroup)
                                {
                                    UseCardEnemyGroup();
                                }
                                else
                                {
                                    if (Physics.Raycast(mouseRay, out mouseHit, 100f, characterMask))
                                    {
                                        UseCardSingleEnemy(mouseHit);
                                    }
                                    else
                                    {
                                        ResetCardPosition(selectedCard);
                                    }
                                }
                            }
                            else if (selectedCard.cardDefinition.cardType == CARDTYPE.ABILITY)
                            {
                                UseCardAbility();
                            }

                            selectedCard = null;
                        }
                    }

                    if (CheckHasWon())
                    {
                        ClearPlayerHand();
                        ReturnDiscardedToDeck();

                        hasWon = true;
                        if (OnHasWon != null)
                        {
                            OnHasWon.Invoke();
                        }
                    }
                }
            }
            else
            {
                ClearPlayerHand();

                bool allEnemyTurnsExecuted = true;

                if (playerCharacterObject.isDead)
                {
                    if (hasDied == false)
                    {
                        if (CheckHasDied())
                        {
                            if (OnPlayerDestroyed != null)
                            {
                                OnPlayerDestroyed.Invoke();
                            }
                        }
                    }
                }
                else
                {
                    //enemy turn
                    foreach (CharacterObject enemy in enemyCharacters)
                    {
                        if (enemy.isExecutingTurn == false && enemy.turnComplete == false && playerCharacterObject.currentHealth > 0)
                        {
                            enemy.ExecuteTurn(playerCharacterObject.transform, null);
                            allEnemyTurnsExecuted = false;
                        }
                        if (enemy.turnComplete == false)
                        {
                            allEnemyTurnsExecuted = false;
                            break;
                        }
                    }

                    if (allEnemyTurnsExecuted)
                    {
                        //Debug.Log("all enemy turns complete");

                        foreach (CharacterObject enemy in enemyCharacters)
                        {
                            enemy.ResetTurn();

                            if (OnTurnComplete != null)
                            {
                                OnTurnComplete.Invoke(enemy);
                            }
                        }

                        //ReturnDiscardedToDeck();

                        isPlayerTurn = true;
                        handDealt    = false;
                        ResetCardPoints();

                        if (OnEnemyTurnComplete != null)
                        {
                            OnEnemyTurnComplete.Invoke();
                        }

                        if (OnTurnComplete != null)
                        {
                            OnTurnComplete.Invoke(playerCharacterObject);
                        }
                    }
                }
            }
        }

        //else
        //{
        //    if (hasDied == false)
        //    {
        //        if (CheckHasDied())
        //        {
        //            if (OnHasDied != null)
        //            {
        //                OnHasDied.Invoke();
        //            }
        //        }
        //    }

        //}
    }
            public HttpResponseMessage InputCard(PayloadApi p)
            {
                LogClass.SaveCustomerLog("InputCard: " + JsonConvert.SerializeObject(p));
                ResultApi  result     = new ResultApi();
                CardObject cardObject = new CardObject();

                try
                {
                    var publisherInfo = publisher.CheckPublickey(p, version);
                    if (publisherInfo.status == (int)ERROR_CODDE.SUCCESS)
                    {
                        ManagerModel managerModel = new ManagerModel();
                        var          data         = JsonConvert.DeserializeObject <InputCard>(publisherInfo.data.ToString());
                        string       msg          = "";

                        if (data.CardType != 1 && data.CardType != 2 && data.CardType != 3)
                        {
                            result.msg = "CardType sai định dạng";
                            return(null);
                        }

                        int   successtransaction = 0;
                        int   errortransaction   = 0;
                        int   errorsavelog       = 0;
                        short debug = 0;
                        try
                        {
                            string serviceCode = string.Empty;

                            if (data.CardType == 1)
                            {
                                serviceCode = "VTT";
                            }
                            else if (data.CardType == 2)
                            {
                                serviceCode = "VMS";
                            }
                            else if (data.CardType == 3)
                            {
                                serviceCode = "VNP";
                            }
                            debug = 1;
                            for (int i = 0; i < data.Qty; i++)
                            {
                                debug = 2;
                                long transactionId = DateTime.Now.Ticks;

                                var    service = new muathe24h.MechantServicesSoapClient();
                                string email   = "*****@*****.**";
                                string pass    = "******";

                                var res = service.BuyCards(new muathe24h.UserCredentials {
                                    userName = email, pass = pass
                                }
                                                           , transactionId.ToString(), serviceCode, data.Amount, 1);
                                debug = 3;
                                LogClass.SaveLog("muathe24h" + JsonConvert.SerializeObject(res));
                                string resultCode = res?.RepCode.ToString();
                                debug = 4;
                                //Khoi tao ket qua ghi log mac dinh

                                cardObject.Amount     = data.Amount;
                                cardObject.Experied   = string.Empty;
                                cardObject.CardType   = data.CardType;
                                cardObject.TelCode    = serviceCode;
                                cardObject.TradeMark  = "muathe24h";
                                cardObject.BuyTime    = DateTime.Now;
                                cardObject.ResultCode = resultCode;

                                debug = 5;
                                if (res != null && res.RepCode == 0)
                                {
                                    successtransaction++;
                                    var seri = JsonConvert.DeserializeObject <List <CardObject_Muathe24h> >(res.Data.ToString());
                                    //Mua thanh cong ghi lai code va seri the
                                    cardObject.CardCode        = seri[0].PinCode;
                                    cardObject.CardSerial      = seri[0].Serial;
                                    cardObject.TransactionCode = transactionId.ToString();
                                    cardObject.Status          = true; //Mua thanh cong
                                    LogClass.SaveLog("cardObject buy success:" + JsonConvert.SerializeObject(cardObject));
                                    result.status = managerModel.GameAcountModel.INPUT_CARD(cardObject, ref msg);
                                    if (result.status != 1)
                                    {
                                        debug = 3;
                                        errorsavelog++;
                                        cardObject.CardCode        = string.Empty;
                                        cardObject.CardSerial      = string.Empty;
                                        cardObject.TransactionCode = string.Empty;
                                        cardObject.Status          = false; // Mua that bai
                                        LogClass.SaveLog("cardObject savelog error:" + JsonConvert.SerializeObject(cardObject));
                                        managerModel.GameAcountModel.INPUT_CARD(cardObject, ref msg);
                                    }
                                }
                                else //Mua the that bai
                                {
                                    debug = 4;
                                    errortransaction++;
                                    cardObject.CardCode        = string.Empty;
                                    cardObject.CardSerial      = string.Empty;
                                    cardObject.TransactionCode = string.Empty;
                                    cardObject.Status          = false; // Mua that bai
                                    LogClass.SaveLog("cardObject buy card error:" + JsonConvert.SerializeObject(cardObject));
                                    managerModel.GameAcountModel.INPUT_CARD(cardObject, ref msg);
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            LogClass.SaveError("Mua thẻ thất bại" + ex + "\n,cardObject:" + JsonConvert.SerializeObject(cardObject));
                        }
                        string msgTotalBuyCard = "Mua thành công " + successtransaction + " thẻ";
                        if (errortransaction > 0)
                        {
                            msgTotalBuyCard += " và thất bại " + errortransaction + " thẻ";
                        }
                        if (errorsavelog > 0)
                        {
                            msgTotalBuyCard += ". Ghi log thất bại " + errorsavelog + " thẻ";
                        }

                        result.msg = msgTotalBuyCard;
                    }
                    else
                    {
                        result = publisherInfo;
                    }
                }
                catch (Exception ex)
                {
                    LogClass.SaveError("ERROR InputCard: " + ex.Message + "\n,cardObject:" + JsonConvert.SerializeObject(cardObject), ex, true);
                    result.status = (int)ERROR_CODDE.ERROR_EX;
                    result.msg    = ex.Message;
                }
                return(Request.CreateResponse(result));
            }
Beispiel #15
0
 private bool IsAtLeftMost(CardObject card)
 {
     return(card.transform.GetSiblingIndex() == 0);
 }
Beispiel #16
0
 protected void RemoveCard(CardObject card)
 {
     _cardObjectList.Remove(card);
 }
Beispiel #17
0
 private void Awake()
 {
     m_CardObjectPrefab = Resources.Load <GameObject>("CardObject").GetComponent <CardObject>();
     Clear();
 }
Beispiel #18
0
        public BaseResponse FeeCharge(CustomerDetails customerDetails, AuditInfo auditInfo)
        {
            List <IProductPrintField> printFields = _cardManService.GetProductPrintFields(customerDetails.ProductId, null, null);

            _log.Trace(t => t("Looking up account in Core Banking System."));
            // IntegrationController _integration = IntegrationController.Instance;
            Veneka.Indigo.Integration.Config.IConfig config;
            Veneka.Indigo.Integration.External.ExternalSystemFields externalFields;
            _integration.CoreBankingSystem(customerDetails.ProductId, InterfaceArea.ISSUING, out externalFields, out config);

            InterfaceInfo interfaceInfo = new InterfaceInfo
            {
                Config        = config,
                InterfaceGuid = config.InterfaceGuid.ToString()
            };

            CardObject _object = new CardObject();

            _object.CustomerAccount = new AccountDetails();
            _object.CustomerAccount.AccountNumber = customerDetails.AccountNumber;
            _object.PrintFields = printFields;
            var response = _comsCore.CheckBalance(customerDetails, externalFields, interfaceInfo, auditInfo);

            if (response.ResponseCode == 0)
            {
                // var accountLookupLogic = new Logic.AccountLookupLogic(_cardManService, _comsCoreInstance, _integration);

                //Validate returned account
                //   if (accountLookupLogic.ValidateAccount(customerDetails.ProductId, response.Value, out responseMessage))

                {
                    try
                    {
                        string feeResponse = String.Empty;

                        // Charge Fee if it's greater than 0 and has not already been charged for.
                        if (customerDetails.FeeCharge != null && customerDetails.FeeCharge.Value > 0 && String.IsNullOrWhiteSpace(customerDetails.FeeReferenceNumber))
                        {
                            _log.Trace(t => t("calling Charge the fee."));
                            string feeReferenceNumber = string.Empty;

                            var response_fee = _comsCore.ChargeFee(customerDetails, externalFields, interfaceInfo, auditInfo);

                            if (response_fee.ResponseCode == 0)
                            {
                                // customerDetails.FeeReferenceNumber = feeReferenceNumber;
                                _log.DebugFormat("FeeReferenceNumber " + customerDetails.FeeReferenceNumber);


                                _log.DebugFormat("Fee  charged: Ref{0}", customerDetails.FeeReferenceNumber);

                                return(new BaseResponse(ResponseType.SUCCESSFUL, feeResponse, feeResponse));
                            }
                            else
                            {
                                _log.Trace(t => t(feeResponse));

                                return(new BaseResponse(ResponseType.UNSUCCESSFUL, feeResponse, feeResponse));
                            }
                        }
                        else
                        {
                            if (!String.IsNullOrWhiteSpace(customerDetails.FeeReferenceNumber))
                            {
                                if (_log.IsDebugEnabled)
                                {
                                    _log.DebugFormat("Fee already charged: Ref{0}", customerDetails.FeeReferenceNumber);
                                }
                                else
                                {
                                    _log.Trace(t => t("Fee already charged."));
                                }
                            }
                            return(new BaseResponse(ResponseType.SUCCESSFUL, feeResponse, feeResponse));
                        }
                    }
                    catch (NotImplementedException nie)
                    {
                        _log.Warn(nie);
                        return(new BaseResponse(ResponseType.ERROR,
                                                nie.Message,
                                                nie.Message));
                    }
                    catch (Exception ex)
                    {
                        _log.Error(ex);
                        return(new BaseResponse(ResponseType.ERROR,
                                                ex.Message,
                                                _log.IsDebugEnabled || _log.IsTraceEnabled ? ex.Message : ""));
                    }
                }
            }

            return(new BaseResponse(ResponseType.UNSUCCESSFUL, response.ResponseMessage, response.ResponseMessage));
        }
Beispiel #19
0
 /// <summary>
 /// Activate the functionality of this effect
 /// </summary>
 /// <param name="user">The player that used the card this effect is attached to</param>
 /// <param name="source">The card that this effect is attached to</param>
 public abstract void ActivateEffect(PlayerManager user, CardObject source);
Beispiel #20
0
 void UseAbilityOnTarget(CardObject parent, CardObject target)
 {
     target._data.TakeDamage(GetAttack());
     target._gameManager._cardAnimator.AddAttackAnimation(target, parent._abilities[this], Color.red);
     target.UpdateCard();
 }
 protected override void SetActionForCard(CardObject card)
 {
     CancelButton.onClick.AddListener(() => CloseAction());
     ShowCardTarget(card);
 }
Beispiel #22
0
    //returns 1 if hit. 2 if stand. 3 if double. 4 if split. 9 for unknown for now
    public int blackJackCheatSheetMethod(CardObject firstPlayerCard, CardObject secondPlayerCard, CardObject firstDealerCard)
    {
        int returnValue = 0;

        var cheatSheet = new int[27, 10]
        {
            //   A  2  3  4  5  6  7  8  9  10
            /*8*/ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
            /*9*/ { 1, 1, 3, 3, 3, 3, 1, 1, 1, 1 },
            /*10*/ { 1, 3, 3, 3, 3, 3, 3, 3, 3, 1 },
            /*11*/ { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 },
            /*12*/ { 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 },
            /*13*/ { 1, 2, 2, 2, 2, 2, 1, 1, 1, 1 },
            /*14*/ { 1, 2, 2, 2, 2, 2, 1, 1, 1, 1 },
            /*15*/ { 1, 2, 2, 2, 2, 2, 1, 1, 1, 1 },
            /*16*/ { 1, 2, 2, 2, 2, 2, 1, 1, 1, 1 },
            /*17*/ { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 },
            /*A,2*/ { 1, 1, 1, 1, 3, 3, 1, 1, 1, 1 },
            /*A,3*/ { 1, 1, 1, 1, 3, 3, 1, 1, 1, 1 },
            /*A,4*/ { 1, 1, 1, 3, 3, 3, 1, 1, 1, 1 },
            /*A,5*/ { 1, 1, 1, 3, 3, 3, 1, 1, 1, 1 },
            /*A,6*/ { 1, 1, 3, 3, 3, 3, 1, 1, 1, 1 },
            /*A,7*/ { 1, 3, 3, 3, 3, 3, 2, 2, 1, 1 },
            /*A,8*/ { 2, 2, 2, 2, 2, 3, 2, 2, 2, 2 },
            /*2,2*/ { 1, 4, 4, 4, 4, 4, 4, 1, 1, 1 },
            /*3,3*/ { 1, 4, 4, 4, 4, 4, 4, 1, 1, 1 },
            /*4,4*/ { 1, 1, 1, 1, 4, 4, 1, 1, 1, 1 },
            /*5,5*/ { 1, 3, 3, 3, 3, 3, 3, 3, 3, 1 },
            /*6,6*/ { 1, 4, 4, 4, 4, 4, 1, 1, 1, 1 },
            /*7,7*/ { 1, 4, 4, 4, 4, 4, 4, 1, 1, 1 },
            /*8,8*/ { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 },
            /*9,9*/ { 2, 4, 4, 4, 4, 4, 2, 4, 4, 2 },
            /*10,10*/ { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 },
            /*A,A*/ { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 },
        };

        // I added -1 to firstDealerCard.value to make the index and the number align.

        // if there is a pair of aces, do this if statement
        if (firstPlayerCard.face == "Ace" && secondPlayerCard.face == "Ace")
        {
            returnValue = 4;
        }
        // if there is an Ace in one hand, do this if statement.
        else if (firstPlayerCard.face == "Ace" || secondPlayerCard.face == "Ace")
        {
            int firstPlayerCardValue  = firstPlayerCard.value;
            int secondPlayerCardValue = secondPlayerCard.value;


            if (firstPlayerCardValue == 1 || secondPlayerCardValue == 1)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[9, i];
                    }
                }
            }
            if (firstPlayerCardValue == 2 || secondPlayerCardValue == 2)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[10, i];
                    }
                }
            }
            else if (firstPlayerCardValue == 3 || secondPlayerCardValue == 3)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[11, i];
                    }
                }
            }
            else if (firstPlayerCardValue == 4 || secondPlayerCardValue == 4)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[12, i];
                    }
                }
            }
            else if (firstPlayerCardValue == 5 || secondPlayerCardValue == 5)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[13, i];
                    }
                }
            }
            else if (firstPlayerCardValue == 6 || secondPlayerCardValue == 6)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[14, i];
                    }
                }
            }
            else if (firstPlayerCardValue == 7 || secondPlayerCardValue == 7)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[15, i];
                    }
                }
            }
            else if (firstPlayerCardValue == 8 || secondPlayerCardValue == 8)
            {
                returnValue = 2;
            }
            else if (firstPlayerCardValue == 9 || secondPlayerCardValue == 9)
            {
                returnValue = 2;
            }
            else if (firstPlayerCardValue == 10 || secondPlayerCardValue == 10)
            {
                returnValue = 2;
            }
        }
        // if there is a pair, do this if statement
        else if (firstPlayerCard.value == secondPlayerCard.value)
        {
            int firstPlayerCardValue = firstPlayerCard.value;

            if (firstPlayerCardValue == 2)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[17, i];
                    }
                }
            }

            else if (firstPlayerCardValue == 3)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[18, i];
                    }
                }
            }
            else if (firstPlayerCardValue == 4)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[19, i];
                    }
                }
            }
            else if (firstPlayerCardValue == 5)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[20, i];
                    }
                }
            }
            else if (firstPlayerCardValue == 6)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[21, i];
                    }
                }
            }
            else if (firstPlayerCardValue == 7)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[22, i];
                    }
                }
            }
            else if (firstPlayerCardValue == 8)
            {
                returnValue = 4;
            }
            else if (firstPlayerCardValue == 9)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[24, i];
                    }
                }
            }
            else if (firstPlayerCardValue == 10)
            {
                returnValue = 2;
            }
        }

        // else, if it's just a total of everything, do this statement
        else
        {
            int totalValue = firstPlayerCard.value + secondPlayerCard.value;

            if ((totalValue == 4) || (totalValue == 5) || (totalValue == 6) || (totalValue == 7))
            {
                returnValue = 1;
            }

            else if (totalValue == 8)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[0, i];
                    }
                }
            }
            else if (totalValue == 9)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[1, i];
                    }
                }
            }
            else if (totalValue == 10)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[2, i];
                    }
                }
            }
            else if (totalValue == 11)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[3, i];
                    }
                }
            }
            else if (totalValue == 12)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[4, i];
                    }
                }
            }
            else if (totalValue == 13)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[5, i];
                    }
                }
            }
            else if (totalValue == 14)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[6, i];
                    }
                }
            }
            else if (totalValue == 15)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[7, i];
                    }
                }
            }
            else if (totalValue == 16)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[8, i];
                    }
                }
            }
            else if (totalValue == 17)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (i == (firstDealerCard.value - 1))
                    {
                        returnValue = cheatSheet[9, i];
                    }
                }
            }
            //this isn't in the matrix above.
            else if ((totalValue == 18) || (totalValue == 19) || (totalValue == 20) || (totalValue == 21))
            {
                returnValue = 2;
            }
        }


        return(returnValue);
    }
Beispiel #23
0
 private void RemoveFromDiscardList(CardObject card)
 {
     _discardingCards.Remove(card);
     card.HideHighlight();
     Description.RemoveSelectedCard();
 }
Beispiel #24
0
 public void BeginTutorial2()
 {
     _TutorialScreen.SetMessage("Card Turn Order depends on Initiative " + CardObject.GetStringWithColor(">", Color.blue), GameScreen.Battle, Presets.PlayerTutorial2(), Presets.EnemyTutorial2());
 }
Beispiel #25
0
 public void AddToGraveyard(CardObject card)
 {
     AddCardToTop(card);
 }
Beispiel #26
0
 public override void OnHover(CardObject card)
 {
 }
Beispiel #27
0
 public void previewCard(CardObject cardObj)
 {
     previewPanel.SetActive(true);
     previewPanel.GetComponent <Image>().sprite = cardObj.image.sprite;
 }
Beispiel #28
0
    private void Update()
    {
        //TEMP - Refresh hand with random cards
        if (Input.GetKeyDown(KeyCode.P))
        {
            Start();
        }

        Ray        screenRay = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;

        //Enable dragmode if the user has pressed the left mouse button whilst selecting a card
        if (!dragMode && (Input.GetMouseButtonDown(0) || Input.GetMouseButton(0)) && SelectedCard != null)
        {
            dragMode = true;

            //Stop any tweens on the current card
            iTween.Stop(SelectedCard.gameObject);
        }

        //Move selected card towards mouse position if drag mode is enabled
        if (dragMode)
        {
            //Use the mouse position to determine where the card should be
            //TODO: More accurate mouse to world position via ray/plane intersecting
            Vector3 newCardPos = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 30));
            newCardPos.y = 5;
            SelectedCard.transform.position = Vector3.Lerp(SelectedCard.transform.position, newCardPos, 0.1f);

            //If the user releases the mouse
            if (Input.GetMouseButtonUp(0) || !Input.GetMouseButton(0))
            {
                dragMode = false;
            }
        }
        else
        {
            //Emit a ray from the camera using the mouse position
            if (Physics.Raycast(screenRay, out hit))
            {
                //Attempt to get the CardObject componenet of the hit object, if there is one
                CardObject hitCard = hit.transform.GetComponent <CardObject>();

                //Check if the ray is hitting a CardObject
                if (hitCard != null)
                {
                    //Reset old selected card if it is a different card
                    if (SelectedCard != null && SelectedCard != hitCard)
                    {
                        iTween.MoveTo(SelectedCard.gameObject, SelectedCard.OriginPosition, 0.5f);
                        iTween.ScaleTo(SelectedCard.gameObject, SelectedCard.OriginScale, 0.5f);
                    }

                    //Select the new card
                    SelectedCard = hitCard;
                    iTween.MoveTo(SelectedCard.gameObject, SelectedCard.OriginPosition + new Vector3(0, 5, 0), 0.5f);
                    iTween.ScaleTo(SelectedCard.gameObject, SelectedCard.OriginScale * 2, 0.5f);
                }
            }
            else
            {
                //Reset old selected card if there is one
                if (SelectedCard != null)
                {
                    iTween.MoveTo(SelectedCard.gameObject, SelectedCard.OriginPosition, 0.5f);
                    iTween.ScaleTo(SelectedCard.gameObject, SelectedCard.OriginScale, 0.5f);
                    SelectedCard = null;
                }
            }
        }
    }
Beispiel #29
0
 protected void AddCardToTop(CardObject card)
 {
     _cardObjectList.Add(card);
 }
Beispiel #30
0
        private void ListCards_Click(object sender, RoutedEventArgs e)
        {
            string dateBegin = TextDateBegin.Text;
            string dateEnd   = TextDateEnd.Text;

            if (dateBegin.Length == 10 && dateEnd.Length == 10)
            {
                DateTime dateTimeBegin;
                DateTime dateTimeEnd;
                try
                {
                    dateTimeBegin = new DateTime(
                        Int32.Parse(dateBegin[0] + "" + dateBegin[1] + "" + dateBegin[2] + "" + dateBegin[3]),
                        Int32.Parse(dateBegin[5] + "" + dateBegin[6]),
                        Int32.Parse(dateBegin[8] + "" + dateBegin[9]));
                    dateTimeEnd = new DateTime(
                        Int32.Parse(dateEnd[0] + "" + dateEnd[1] + "" + dateEnd[2] + "" + dateEnd[3]),
                        Int32.Parse(dateEnd[5] + "" + dateEnd[6]),
                        Int32.Parse(dateEnd[8] + "" + dateEnd[9]));
                }
                catch (Exception ex)
                {
                    return;
                }


                MainViewModel MVM = (MainViewModel)DataContext;
                if (MVM.Employer != null)
                {
                    Cards.Clear();
                    if (ComboFilter.SelectedItem != null)
                    {
                        string   item         = (string)ComboFilter.SelectedItem;
                        DateTime selectedDate = new DateTime(Year, Month, Day);
                        foreach (CardObject CO in MVM.Employer.HandledCards)
                        {
                            if (CO.IsAddedBetween(dateTimeBegin, dateTimeEnd))
                            {
                                if (item == "- - -" || item == CO.CardType)
                                {
                                    CardObject COView = new CardObject();
                                    COView.Number           = CO.Number;
                                    COView.CardType         = CO.CardType;
                                    COView.EmployerName     = CO.EmployerName;
                                    COView.Actions          = CO.Actions;
                                    COView.AddedLastTime    = CO.AddedLastTime;
                                    COView.RemovedLastTime  = CO.RemovedLastTime;
                                    COView.ReturnedLastTime = CO.ReturnedLastTime;
                                    //COView.AddDate = CO.AddDate;
                                    //COView.RemoveDate = CO.RemoveDate;
                                    //COView.BackDate = CO.BackDate;
                                    //COView.Removed = CO.Removed;
                                    Cards.Add(COView);
                                }

                                /*else if (item == CO.CardType)
                                 * {
                                 *  CardObject COView = new CardObject();
                                 *  COView.Number = CO.Number;
                                 *  COView.CardType = CO.CardType;
                                 *  Cards.Add(COView);
                                 * }*/
                            }
                        }
                    }
                    else
                    {
                        foreach (CardObject CO in MVM.Employer.Cards)
                        {
                            CardObject COView = new CardObject();
                            COView.Number   = CO.Number;
                            COView.CardType = CO.CardType;
                            Cards.Add(COView);
                        }
                    }
                }
            }
        }
Beispiel #31
0
 protected void AddCardToBottom(CardObject card)
 {
     _cardObjectList.Insert(0, card);
 }