Exemplo n.º 1
0
 public DanmakuRecorder(long roomId, string liveId, VtuberInfo vtuber)
 {
     RoomId             = roomId;
     LiveId             = liveId;
     Vtuber             = vtuber;
     _danmakuCollection = Program.Database.GetCollection <BiliBiliCommentInfo>("bili-live-comments");
 }
Exemplo n.º 2
0
        public void AddVtuberCommand(MessageInfo message, string[] args)
        {
            var vtb = Config.DefaultConfig.GetVtuber(args[2]);

            if (vtb != null)
            {
                _service.SendToGroup(message.GroupNumber, "已存在该Vtuber");
                return;
            }

            var streamers = HiyokoApi.SearchStreamer(args[2]);

            if (streamers.Count != 1)
            {
                _service.SendToGroup(message.GroupNumber, "无法找到" + args[2]);
                return;
            }

            var streamer = streamers.First();

            vtb = new VtuberInfo()
            {
                OriginalName     = streamer.Name,
                TwitterProfileId = streamer.TwitterId,
                YoutubeChannelId = streamer.Channels.FirstOrDefault(v => v.ChannelType == 1)?.ChannelId,
                HiyokoProfileId  = streamer.Name
            };
            Config.DefaultConfig.Vtubers.Add(vtb);
            Config.SaveToDefaultFile(Config.DefaultConfig);
            _service.SendToGroup(message.GroupNumber, "已根据互联网相关资料添加: " + args[2] + "\r\n可使用!Vtuber set修改");
            _service.SendToGroup(message.GroupNumber, $"Vtuber相关信息: \r\n" +
                                 $"原名: {streamer.Name}\r\n" +
                                 $"推特主页: https://twitter.com/{streamer.TwitterId}\r\n" +
                                 $"Youtube频道: https://www.youtube.com/channel/{streamer.Channels.FirstOrDefault(v => v.ChannelType == 1)?.ChannelId}");
        }
Exemplo n.º 3
0
 public LiveChatRecorder(string liveChatId, VtuberInfo vtuber, string videoId)
 {
     LiveChatId      = liveChatId;
     Vtuber          = vtuber;
     VideoId         = videoId;
     _chatCollection = Program.Database.GetCollection <YoutubeLiveChat>("youtube-live-chats");
 }
Exemplo n.º 4
0
    public void TouchPlayer(VtuberInfo vtuberData)
    {
        if (vtuberData.IsDead)
        {
            return;
        }

        SetVtuberActive(vtuberData);

        PlayBoold(vtuberData.Boold, VtuberDeadDelay);

        Destroy(vtuberData.gameObject, VtuberDeadDelay);
        _sceneVtubersCount--;
    }
Exemplo n.º 5
0
    private void TriggerVtuber(GameObject iObj)
    {
        VtuberInfo aVtuberInfo = iObj.GetComponent <VtuberInfo>();

        if (aVtuberInfo != null && !aVtuberInfo.IsDead)
        {
            if (!string.IsNullOrEmpty(mHaedName))//���Y�b��W���p
            {
                ThrowHead();
            }

            HeadPerform aHeadPerform = aVtuberInfo.Head.GetComponent <HeadPerform>();
            mHaedName = aVtuberInfo.Head.name;
            VtuberManager.Instance.TouchPlayer(aVtuberInfo);
            aHeadPerform.ExeCute(() =>
            {
                SetHead(aVtuberInfo.Head.transform);
            });
            mItemCount++;
        }
    }
Exemplo n.º 6
0
 private void SetVtuberActive(VtuberInfo vtuberData)
 {
     vtuberData.IsDead = true;
     //vtuberData.Body.SetActive(true);
     vtuberData.FullBody.SetActive(true);
 }