Example #1
0
 public static void SkillUseOccurred(SkillUsageModel skill)
 {
     if (GlobalEvents.OnSkillUseOccurred != null)
     {
         GlobalEvents.OnSkillUseOccurred(null, skill);
     }
 }
        private async void GlobalEvents_OnSkillUseOccurred(object sender, SkillUsageModel skill)
        {
            if (skill.SkillInstance != null)
            {
                await this.Dispatcher.InvokeAsync <Task>(async() =>
                {
                    await this.AddMessage(new ChatMessageViewModel(skill.SkillInstance, skill.User));
                });

                if (skill.SkillInstance != null && skill.SkillInstance.IsGif)
                {
#pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
                    Task.Run(async() =>
                    {
                        await this.gifSkillPopoutLock.WaitAndRelease(async() =>
                        {
                            await this.Dispatcher.InvokeAsync <Task>(async() =>
                            {
                                await this.GifSkillPopout.ShowGif(skill);
                            });
                        });
                    });
#pragma warning restore CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
                }
            }
        }
Example #3
0
 private async void GlobalEvents_OnSkillUseOccurred(object sender, SkillUsageModel skill)
 {
     if (skill.SkillInstance != null)
     {
         await this.Dispatcher.InvokeAsync <Task>(async() =>
         {
             await this.AddMessage(new ChatMessageViewModel(skill.SkillInstance, skill.User));
         });
     }
 }
        public async Task ShowGif(SkillUsageModel skill)
        {
            this.DataContext = skill;

            await this.UserAvatar.SetUserAvatarUrl(skill.User);

            this.UserAvatar.SetSize(16);

            while (this.DataContext != null)
            {
                await Task.Delay(1000);
            }
        }
        private async void ChatClient_OnMessageOccurred(object sender, ChatMessageEventModel e)
        {
            ChatMessageViewModel message = await this.AddMessage(e);

            if (message != null)
            {
                this.OnMessageOccurred(sender, message);
                if (message.IsChatSkill && message.IsInUsersChannel)
                {
                    if (SkillUsageModel.IsSparksChatSkill(message.ChatSkill))
                    {
                        GlobalEvents.SparkUseOccurred(new Tuple <UserViewModel, int>(message.User, (int)message.ChatSkill.cost));
                    }
                    else if (SkillUsageModel.IsEmbersChatSkill(message.ChatSkill))
                    {
                        GlobalEvents.EmberUseOccurred(new UserEmberUsageModel(message.User, (int)message.ChatSkill.cost, message.Message));
                    }

                    GlobalEvents.SkillUseOccurred(new SkillUsageModel(message.User, message.ChatSkill, message.Message));
                }
            }
        }
 private async void GlobalEvents_OnSkillUseOccurred(object sender, SkillUsageModel skill)
 {
     await this.RunEventCommand(this.FindMatchingEventCommand(EnumHelper.GetEnumName(OtherEventTypeEnum.MixerSkillUsed)), skill.User, extraSpecialIdentifiers : skill.GetSpecialIdentifiers());
 }