Example #1
0
        public void HandleTutorialProgressRequestPacket(Client client, Packet packet)
        {
            List <TutorialProgress> tutorialProgress = client.DatabaseContext.TutorialProgress
                                                       .Where(t => t.CharacterId == client.Account.Characters[0].CharacterId).ToList();

            S2CTutorialProgressAnswerPacket tutorialProgressAnswerPacket = new S2CTutorialProgressAnswerPacket(tutorialProgress);

            client.PacketStream.Write(tutorialProgressAnswerPacket);
        }
Example #2
0
        public void HandleTutorialEndPacket(Client client, Packet packet)
        {
            C2STutorialEndPacket     tutorialEndPacket     = new C2STutorialEndPacket(packet);
            S2CChallengeFinishPacket challengeFinishPacket = new S2CChallengeFinishPacket(true, 1, 1, 2, 10, new List <ItemReward>());

            client.PacketStream.Write(challengeFinishPacket);

            TutorialProgress tutorialProgress = new TutorialProgress();

            tutorialProgress.CharacterId = client.ActiveCharacter.CharacterId;
            tutorialProgress.TutorialId  = tutorialEndPacket.TutorialId;
            tutorialProgress.Success    += Convert.ToInt16(1);
            tutorialProgress.Attempts   += 1;

            var dbTutorialProgressContext = client.DatabaseContext.TutorialProgress.Find(new object[]
                                                                                         { tutorialProgress.CharacterId, tutorialProgress.TutorialId });

            if (dbTutorialProgressContext == null)
            {
                client.DatabaseContext.TutorialProgress.Add(tutorialProgress);
            }
            else
            {
                dbTutorialProgressContext.Success  = tutorialProgress.Success;
                dbTutorialProgressContext.Attempts = tutorialProgress.Attempts;
                client.DatabaseContext.TutorialProgress.Update(dbTutorialProgressContext);
            }

            client.DatabaseContext.SaveChanges();

            List <TutorialProgress> tutorialProgressList = client.DatabaseContext.TutorialProgress
                                                           .Where(q => q.CharacterId == client.Account.Characters[0].CharacterId).ToList();

            client.ActiveCharacter.TutorialProgress = tutorialProgressList;
            S2CTutorialProgressAnswerPacket tutorialProgressAnswerPacket = new S2CTutorialProgressAnswerPacket(tutorialProgressList);

            client.PacketStream.Write(tutorialProgressAnswerPacket);
        }