示例#1
0
        public async Task <HttpResponseMessage> Post([FromBody] Card card)
        {
            var principal = HttpContext.Current.User as Principal;

            using (var repository = new Repository(principal.UserId))
            {
                if (repository.ServiceUser == null)
                {
                    return(Request.CreateResponse(HttpStatusCode.Forbidden));
                }
                var cardModel = repository.CreateCard(card.Name, Guid.NewGuid());
                await repository.Context.Entry(cardModel.Type).Reference(x => x.TemplateInfo).LoadAsync();

                card      = cardModel.FromDal();
                card.Type = cardModel.Type.FromDal(true);

                var cardGenerator = new CardGenerator(card);
                await cardGenerator.Generate();

                await cardGenerator.Generate(false);

                cardModel.PngCreationJobId = BackgroundJob.Schedule(() => CardGenerator.CreatePngJob(card.Guid, card.Faction.Name, card.Type.Name), TimeSpan.FromMinutes(1));
                await repository.Context.SaveChangesAsync();

                return(Request.CreateResponse(card));
            }
        }
        private async Task <DialogTurnResult> TimeTableViewAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            if (LoginRequest.LoginInfoFlag)
            {
                var dd = (HttpWebRequest)WebRequest.Create("https://info.hansung.ac.kr/fuz/sugang/dae_sigan_main_data.jsp");
                dd.Method = "post";
                string h = $"as_hakbun={LoginRequest.UserId}";
                dd.ContentLength = h.Length;
                dd.ContentType   = "application/x-www-urlencoded";
                TextWriter wd = (TextWriter) new StreamWriter(dd.GetRequestStream());
                wd.Write(h);
                wd.Close();
                dd.CookieContainer = LoginRequest.InfoCookie;

                var ddf = (HttpWebResponse)dd.GetResponse();
                using (var r = new StreamReader(ddf.GetResponseStream(), Encoding.GetEncoding("euc-kr"), true))
                {
                    var ee            = r.ReadToEnd();
                    var siganpyo      = TimeTableRemake(ee);
                    var cardGenerator = new CardGenerator();
                    await cardGenerator.AttachTimeTableCardAsync(stepContext.Context, siganpyo, cancellationToken);
                }
                return(await stepContext.EndDialogAsync(cancellationToken));
            }
            else
            {
                return(await stepContext.BeginDialogAsync(nameof(LoginDialog), "timeTable", cancellationToken));
            }
        }
示例#3
0
 // Update is called once per frame
 void Update()
 {
     if (Input.anyKey)
     {
         CardGenerator.Generate(Card.IDType.Normal, (uint)Mathf.FloorToInt(Random.Range(1, 2000)));
     }
 }
        //인터럽트 시 취할 행동
        private async Task <DialogTurnResult> InterruptAsync(DialogContext innerDc, CancellationToken cancellationToken)
        {
            if (innerDc.Context.Activity.Type == ActivityTypes.Message)
            {
                var text = innerDc.Context.Activity.Text?.ToLowerInvariant();

                switch (text)
                {
                case "help":
                case "?":
                case "도움말":
                    CardGenerator cardGenerator = new CardGenerator();
                    await cardGenerator.AttachAdaptiveCard(innerDc.Context, "HSUbot.Cards.HelpCard.json", cancellationToken);

                    return(null);

                case "cancel":
                case "quit":
                case "취소":
                    await innerDc.Context.SendActivityAsync($"Cancelling", cancellationToken : cancellationToken);

                    return(await innerDc.CancelAllDialogsAsync());
                }
            }

            return(null);
        }
示例#5
0
        public void FailCard()
        {
            Card card = CardGenerator.MakeCard(
                Config, PracticeState.New, DateTime.Now.AddSeconds(60).ToUnixTimestamp(), 2.5f, 1);

            // Ensure setting
            int learningSteps = Config.LearningSteps.Length;

            learningSteps.Should().BeGreaterThan(1);
            card.IsNew().Should().Be(true);

            // Correct answer
            card.Answer(Grade.Good);

            card.IsLearning().Should().Be(true);
            card.GetCurrentLearningIndex().Should().Be(1);
            card.GetLearningStepsLeft().Should().Be(learningSteps - 1);

            // Fail
            card.Answer(Grade.Fail);

            // Answer until graduation
            for (int i = 0; i < learningSteps; i++)
            {
                card.IsLearning().Should().Be(true);
                card.GetCurrentLearningIndex().Should().Be(i);
                card.GetLearningStepsLeft().Should().Be(learningSteps - i);

                card.Answer(Grade.Good);
            }

            card.IsDue().Should().Be(true);
            card.Due.Should().BeGreaterOrEqualTo(DateTimeExtensions.Tomorrow.ToUnixTimestamp());
        }
示例#6
0
 private void FormDouble_Load(object sender, EventArgs e)
 {
     cardImage.Image      = ImageHelper.Background;
     _currentCard         = CardGenerator.GetRandomCard();
     lblWinAmount.Visible = true;
     lblWinAmount.Text    = "Win: " + WinAmount;
 }
示例#7
0
        private void CheckDouble(DoubleColor color)
        {
            btnBlack.Visible   = false;
            btnRed.Visible     = false;
            btnCollect.Visible = false;
            cardImage.Image    = ImageHelper.GetCardImage(_currentCard);
            bool isWin = ResultHelper.IsDoubleWin(color, _currentCard.Color);

            if (isWin)
            {
                WinAmount *= 2;
            }
            else
            {
                WinAmount = 0;
            }

            if (!isWin)
            {
                btnClose.Visible = true;
            }
            else
            {
                TaskEx.Delay(1500).Wait();
                btnBlack.Visible   = true;
                btnRed.Visible     = true;
                btnCollect.Visible = true;
                _currentCard       = CardGenerator.GetRandomCard();
                cardImage.Image    = ImageHelper.Background;
            }

            lblWinAmount.Text = "Win: " + WinAmount;
        }
示例#8
0
        private async Task <DialogTurnResult> NoticeViewAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            var notice = stepContext.Context.Activity.Text;
            var index  = NOTICENAME.IndexOf(notice);

            var client   = new HttpClient();
            var response = await client.GetAsync(URIS[index]);

            if (response.IsSuccessStatusCode)
            {
                var result = await response.Content.ReadAsStringAsync();

                var html = new HtmlDocument();
                html.LoadHtml(result);

                var htmlNode = html.DocumentNode.Descendants("table").Where(x => x.GetAttributeValue("class", "").Equals("bbs-list")).First().ChildNodes[7];

                var notices       = NoticeDivider(htmlNode.ChildNodes);
                var cardGenerator = new CardGenerator();
                await cardGenerator.AttachNoticeCard(stepContext.Context, notices, notice, URIS[index], cancellationToken);
            }
            else
            {
                await stepContext.Context.SendActivityAsync("공지사항을 불러오는데 실패했습니다");
            }
            return(await stepContext.EndDialogAsync(cancellationToken));
        }
示例#9
0
        public ActionResult ViewCards(CardInput cardInput)
        {
            if (ModelState.IsValid)
            {
                CardGenerator cardGenerator = new CardGenerator(cardInput.GeneratingDate, cardInput.NumberOfCards);
                List <Card>   CardList      = cardGenerator.GetCardsList();
                CardDAO       cardDAO       = new CardDAO();
                if (!cardDAO.ISExsistCardDate(CardList[0].CardNumber))
                {
                    GridView gridView = new GridView();
                    gridView.DataSource = CardList;
                    gridView.DataBind();
                    Session["CardsListEXCEL"] = gridView;
                    Session["CardsList"]      = CardList;

                    return(View(CardList));
                }
                else
                {
                    ModelState.AddModelError("", "You have already generated cards on this date, so choose aonther date. ");
                    return(View("ShowCards"));
                }
            }
            else
            {
                ModelState.AddModelError("", "Card List is not available");
                return(View("ShowCards"));
            }
        }
示例#10
0
        private async Task <DialogTurnResult> ReadingRoomSeatAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            if (LoginRequest.LoginHselFlag)
            {
                var req = (HttpWebRequest)WebRequest.Create("http://hsel.hansung.ac.kr/reading_reading_list.mir");
                req.CookieContainer = LoginRequest.HselCookie;

                var resp = (HttpWebResponse)req.GetResponse();

                using (var r = new StreamReader(resp.GetResponseStream()))
                {
                    var          str  = r.ReadToEnd();
                    HtmlDocument html = new HtmlDocument();
                    html.LoadHtml(str);

                    var htmlNode    = html.DocumentNode.Descendants("div").Where(x => x.GetAttributeValue("class", "").Equals("facility_box"));
                    var seatNumbers = new List <SeatNumber>();
                    foreach (var node in htmlNode)
                    {
                        seatNumbers.Add(SeatNumberClassfication(node));
                    }
                    var cardGenerator = new CardGenerator();
                    await cardGenerator.AttachSeatCardAsync(stepContext.Context, seatNumbers, cancellationToken);
                }

                return(await stepContext.EndDialogAsync(cancellationToken));
            }
            else
            {
                return(await stepContext.BeginDialogAsync(nameof(LoginDialog), "readingRoom", cancellationToken));
            }
        }
示例#11
0
    private void PickAndSetCard(HandDeck playerHandDeck)
    {
        if (Input.GetMouseButtonDown(0))
        {
            Ray          ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit2D hit = Physics2D.Raycast(ray.origin, ray.direction);

            if (hit.collider != null)
            {
                var card      = hit.collider.gameObject;
                var cardName  = card.name.Split(' ')[0];
                var cardPower = GetCardPower(card);

                var oldPos = card.transform.position;
                playerCard = card;
                card.transform.position = new Vector2(2.5f, -1);

                playerHandDeck.cards.Remove(card);

                if (CheckIfHaveTwenty(playerHandDeck, cardName, cardPower))
                {
                    playerScoreSum += 20;
                }

                CardGenerator.GenerateCard(playerHandDeck, oldPos);
            }
            isPlayerTurn = false;
        }
    }
        private async Task <DialogTurnResult> CardStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            TrackInfoCardDetail trackInfoCardDetail = new TrackInfoCardDetail();

            trackInfoCardDetail.Major = stepContext.Context.Activity.Text;

            string        cardPath      = "";
            CardGenerator cardGenerator = new CardGenerator();

            switch (trackInfoCardDetail.Major)
            {
            case "공과대학":
                cardPath = "HSUbot.Cards.TrackInfoCards.ITGongdeaCard.json";
                break;

            case "인문예술대학":
                cardPath = "HSUbot.Cards.TrackInfoCards.InMoonYeSoolDaeCard.json";
                break;

            case "디자인대학":
                cardPath = "HSUbot.Cards.TrackInfoCards.DesignDaeCard.json";
                break;

            case "사회과학대학":
                cardPath = "HSUbot.Cards.TrackInfoCards.SocialScienceDaeCard.json";
                break;
            }

            await cardGenerator.AttachAdaptiveCardAsync(stepContext.Context, cardPath, cancellationToken);

            return(await stepContext.EndDialogAsync(null, cancellationToken));
        }
示例#13
0
        public async Task <DialogTurnResult> loginCardAttachAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            CardGenerator cardGenerator = new CardGenerator();
            await cardGenerator.AttachLoginCardAsync(stepContext.Context, cancellationToken);

            return(new DialogTurnResult(DialogTurnStatus.Waiting));
        }
示例#14
0
 void Awake()
 {
     wickpopeSprite       = this.transform.Find("wickpope").GetComponent <UISprite> ();
     wickpopeLength       = wickpopeSprite.width;
     wickpopeSprite.width = 0;
     cardGenerator        = this.GetComponent <CardGenerator> ();
     StartCoroutine(GenerateCardForHero1());
 }
示例#15
0
 // Use this for initialization
 void Start()
 {
     timer         = 0;                                   //计时器初始化为0
     cardGenerator = this.GetComponent <CardGenerator>(); //初始化发牌器
     CardReady     = 0;
     hero          = Hero.HeroA;                          //从A开始行动
     timer         = 0;
 }
示例#16
0
        protected virtual void Awake()
        {
            cg   = FindObjectOfType <CardGenerator>();
            db   = GetComponent <DeckBehaviour>();
            rend = GetComponent <Renderer>();

            baseYScale = transform.localScale.y;
            baseYPos   = transform.localPosition.y;
        }
示例#17
0
 // Use this for initialization
 void Start()
 {
     timer         = 0;                                   //计时器初始化为0
     cardGenerator = this.GetComponent <CardGenerator>(); //初始化发牌器
     gameState     = GameState.StartGame;
     CardReady     = 0;
     hero          = Hero.HeroA; //从A开始行动
     CardBnum      = 0;
 }
示例#18
0
        public CreditCard GetCard(CardDetails cardDetails)
        {
            cardDetails.CardType = chain.Handle(cardDetails.CardNumber);
            Console.WriteLine("Card Type is " + cardDetails.CardType.ToString());

            CardFactory factory = new CardGenerator();

            return(factory.GetCreditCard(cardDetails));
        }
示例#19
0
    // Use this for initialization
    void Start()
    {
        GameObject card = CardGenerator.generateCard();
        Transform  tr   = card.GetComponent <Transform>();

        tr.position = heapCard;
        tr.Rotate(0, 0, 90);
        card.transform.parent = this.transform;
    }
示例#20
0
 void Awake()
 {
     _instance = this;
     wickpopeSprite = this.transform.Find("wickpope").GetComponent<UISprite>();
     wickpopeLength=wickpopeSprite.width;
     wickpopeSprite.width=0;
     this.cardGenerator = this.GetComponent<CardGenerator>();
     StartCoroutine(GenerateCardForHero1());
 }
示例#21
0
    void Awake()
    {
        wickpopeSprite = this.transform.FindChild("Wickpope").GetComponent<UISprite>();
        wickpopeWidth = wickpopeSprite.width;
        wickpopeSprite.width = 0;

        cardGenerator = GetComponent<CardGenerator>();

        instance = this;
    }
示例#22
0
    public void drawCard(Vector3 cardPosition)
    {
        GameObject card = CardGenerator.generateCard();

        card.transform.position = cardPosition;
        card.transform.parent   = this.transform;

        //check if the hand contains a possibility to play
        GameObject.Find("GameplayEngine").GetComponent <RecycleCard>().checkCards();
    }
示例#23
0
    public static void Main()
    {
        CardGenerator cardGenerator = new CardGenerator();

        //var input = Console.ReadLine();
        //if (input == "Card Deck")
        //{
        cardGenerator.Run();
        //}
    }
示例#24
0
    void Awake()
    {
        cardPrefab = Resources.Load <GameObject>("CardPrefab4");

        cardGenerator = gameObject.GetComponent <CardGenerator>();

        touchController = GameObject.Find("TouchController").GetComponent <TouchController>();

        FoodCards = cardGenerator.GenerateCards(cardPrefab, foodCount);
    }
示例#25
0
 void Start()
 {
     names = new List <string>();
     lastPlayerButton.gameObject.SetActive(false);
     nextPlayerButtonText.text     = "Заполните поля";
     nextPlayerButton.interactable = false;
     DontDestroyOnLoad(gameObject);
     sceneTransition = GetComponent <SceneTransition>();
     cardGenerator   = GetComponent <CardGenerator>();
 }
示例#26
0
    // Update is called once per frame
    void Update()
    {
        CardGenerator cardG = FindObjectOfType <CardGenerator>();

        if (cardG.vivo <= 0 && cardG.generatedCards >= cardG.maxCards && !x)
        {
            gameObject.SetActive(false);
            x = true;
        }
    }
        private async Task <DialogTurnResult> SecondStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            matjeepchoochunDetail.Category = matjeepchoochunDetail.Category == null ? stepContext.Context.Activity.Text:matjeepchoochunDetail.Category;
            var msg = String.Empty;

            var attachments = new List <Attachment>();

            var reply = MessageFactory.Attachment(attachments);

            switch (matjeepchoochunDetail.Category)
            {
            case "한식":
                reply.Attachments.Add(CardGenerator.GetYoonGaNeCard().ToAttachment());
                reply.Attachments.Add(CardGenerator.GetRiceBurgerCard().ToAttachment());
                reply.Attachments.Add(CardGenerator.GetWoonBongCard().ToAttachment());
                break;

            case "중식":
                reply.Attachments.Add(CardGenerator.GetSeunglijangCard().ToAttachment());
                reply.Attachments.Add(CardGenerator.GetJoongHwaMyungGaCard().ToAttachment());
                break;

            case "일식":
                reply.Attachments.Add(CardGenerator.GetSushiHarooCard().ToAttachment());
                reply.Attachments.Add(CardGenerator.GetSushiHyeonCard().ToAttachment());
                reply.Attachments.Add(CardGenerator.GetMrDonkkasCard().ToAttachment());
                reply.Attachments.Add(CardGenerator.GetStarDongCard().ToAttachment());
                break;

            case "분식":
                reply.Attachments.Add(CardGenerator.GetMecaDDuckCard().ToAttachment());
                reply.Attachments.Add(CardGenerator.GetSinJeonCard().ToAttachment());
                break;

            case "치킨":
                reply.Attachments.Add(CardGenerator.GetHoChickenCard().ToAttachment());
                break;

            case "피자":
                reply.Attachments.Add(CardGenerator.GetPizzaBellCard().ToAttachment());
                break;

            case "순대국":
                reply.Attachments.Add(CardGenerator.GetGrandMamaCard().ToAttachment());
                reply.Attachments.Add(CardGenerator.GetAuneCard().ToAttachment());
                reply.Attachments.Add(CardGenerator.GetDonamgolCard().ToAttachment());
                break;
            }

            await stepContext.Context.SendActivityAsync(reply, cancellationToken);

            await stepContext.Context.SendActivityAsync(MessageFactory.Text(msg), cancellationToken);

            return(await stepContext.EndDialogAsync(null, cancellationToken));
        }
示例#28
0
 protected override async Task OnMembersAddedAsync(IList <ChannelAccount> membersAdded, ITurnContext <IConversationUpdateActivity> turnContext, CancellationToken cancellationToken)
 {
     foreach (var member in membersAdded)
     {
         if (member.Id != turnContext.Activity.Recipient.Id)
         {
             CardGenerator cardGenerator = new CardGenerator();
             await cardGenerator.AttachAdaptiveCard(turnContext, ADAPTIVEINTROCARDPATH, cancellationToken);
         }
     }
 }
示例#29
0
 //singleton design pattern
 private void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
     else if (instance != this)
     {
         Destroy(gameObject);
     }
 }
示例#30
0
 void OnEnable()
 {
     hexGrid          = FindObjectOfType <HexGrid>();
     propPlacement    = FindObjectOfType <PropPlacement>();
     startUIControl   = FindObjectOfType <StartUIControl>();
     setUpUIControl   = FindObjectOfType <SetUpUIControl>();
     turnController   = FindObjectOfType <TurnController>();
     cardGenerator    = FindObjectOfType <CardGenerator>();
     webSocketManager = FindObjectOfType <WebSocketManager>();
     setGame          = FindObjectOfType <SetGame>();
 }
示例#31
0
 void OnEnable()
 {
     OnCardActivateEvent   += AddCard;
     OnCardDeactivateEvent += RemoveCard;
     webSocketManager       = FindObjectOfType <WebSocketManager>();
     cardGenerator          = FindObjectOfType <CardGenerator>();
     hexgrid        = FindObjectOfType <HexGrid>();
     turnController = FindObjectOfType <TurnController>();
     scorekeeper    = GetComponent <ScoreKeeper>();
     infoGetter     = FindObjectOfType <InformationGetter>();
     reset          = false;
 }
        private async Task <DialogTurnResult> BusInfoStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            busDetail.StationName = busDetail.StationName == null?stepContext.Context.Activity.Text : stepContext.Result.ToString();

            (string arrmsg1, string arrmsg2) = await BusInformation.GetBusArrTimeAsync(busDetail.RouteNum, busDetail.StationName);

            CardGenerator cardGenerator = new CardGenerator();

            await cardGenerator.AttachBusCardAsync(stepContext.Context, busDetail, arrmsg1, arrmsg2, cancellationToken);

            return(await stepContext.EndDialogAsync(null, cancellationToken));
        }