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 } } }
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()); }