/// <summary> /// 各リストとコンテキストメニューの更新 /// </summary> public async Task RefreshNotifyIconAsync() { OnRefreshStarting(); var tasks = new List <Task>(); foreach (AbstractManager manager in EnableManagers) { //サイトごとにタスクを作り、配信一覧からお気に入りの更新まで済ませる tasks.Add(manager.RefreshLiveAsync().ContinueWith(task => { if (task.Result) { BalloonManager.AddRange(manager.CheckFavorite()); } })); } await Task.WhenAll(tasks); if (!balloonTimer.Enabled) { //通知スタック1つ目を即座に処理 balloonTimer.Enabled = BalloonManager.ExcuteBalloonQueue(balloontime, SOUND_LOCAL_PATH) > 0; } RefreshMenuAndIcon(); OnRefreshCompleted(); }
private void Start() { if (instance == null) { instance = this; } }
private CharacterContext(Character character) { // いもうとの定義 Character = character; // ルートディレクトリ BaseDirectory = character.Directory; // プロファイルを読み込む Profile = Profile.LoadFrom(Path.Combine(BaseDirectory, "profile.yml")) ?? new Profile { Age = Character.Age, TsundereLevel = Character.TsundereLevel }; // バルーン読み込み Balloon = BalloonManager.GetValueOrDefault(Profile.LastBalloon); // ルートからイメージ用ディレクトリを作る SurfaceLoader = new SurfaceLoader(Path.Combine(BaseDirectory, "images")); // ウィンドウを作成する BalloonWindow = new BalloonWindow { Context = this, Balloon = Balloon, LocationOffset = Profile.BalloonOffset }; CharacterWindow = new CharacterWindow { Context = this, BalloonWindow = BalloonWindow }; // メニューのコマンドを定義する var contextMenu = CharacterWindow.ContextMenu; contextMenu.CommandBindings.Add(new CommandBinding(Input.DefaultCommands.Character, CharacterCommand_Executed, CharacterCommand_CanExecute)); contextMenu.CommandBindings.Add(new CommandBinding(Input.DefaultCommands.Balloon, BalloonCommand_Executed, BalloonCommand_CanExecute)); contextMenu.CommandBindings.Add(new CommandBinding(Input.DefaultCommands.Option, OptionCommand_Executed)); contextMenu.CommandBindings.Add(new CommandBinding(Input.DefaultCommands.Version, VersionCommand_Executed)); contextMenu.CommandBindings.Add(new CommandBinding(ApplicationCommands.Close, CloseCommand_Executed)); // スクリプトエンジンを作成する ScriptEngine = new ScriptEngine(Path.Combine(BaseDirectory, "scripts")); InitializeScriptEngine(); // スクリプトプレイヤーを作成 ScriptPlayer = new ScriptPlayer(this); RemoteConnectionManager = new RemoteConnectionManager(); RemoteCommandManager = new RemoteCommandManager(Character, RemoteConnectionManager); }
/// <summary> /// 1箇所だけ更新があったとき用 /// </summary> public void RefreshNotifyIconLite(AbstractManager manager) { BalloonManager.AddRange(manager.CheckFavorite()); if (!balloonTimer.Enabled) { //通知スタック1つ目を即座に処理 balloonTimer.Enabled = BalloonManager.ExcuteBalloonQueue(balloontime, SOUND_LOCAL_PATH) > 0; } RefreshMenuAndIcon(); }
// Update is called once per frame void Update() { if (isInstructionPanelActive) { return; } balloonSpawnTimer += Time.deltaTime; if (balloonSpawnTimer >= spawnCooldown && !gameOver) { balloonSpawnTimer = 0; BalloonManager.SpawnBalloon(); } }
/// <summary> /// NotifyIconWrapper クラス を生成、初期化します。 /// </summary> public NotifyIconWrapper() { // コンポーネントの初期化 this.InitializeComponent(); // コンテキストメニューのイベントを設定 this.toolStripMenuItem_Open.Click += this.toolStripMenuItem_Open_Click; this.toolStripMenuItem_Exit.Click += this.toolStripMenuItem_Exit_Click; SystemEvents.SessionEnding += new SessionEndingEventHandler(SystemEvents_SessionEnding); SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged; RefreshBridge.RefreshEvent += RefreshBridge_RefreshEvent; EnableManagers.Add(KukuluManager.GetInstance()); EnableManagers.Add(CavetubeManager.GetInstance()); EnableManagers.Add(Fc2Manager.GetInstance()); EnableManagers.Add(TwitchManager.GetInstance()); BalloonManager = new BalloonManager(myNotifyIcon); ContextMenuManager = new ContextMenuManager(myContextMenuStrip); var t = RefreshNotifyIconAsync(); //警告を消すために変数に代入 }
// Start is called before the first frame update void Start() { startTime = Time.time; balloonManager = GameObject.Find("BalloonManager").GetComponent <BalloonManager>(); }
/// <summary> /// タイマーイベントで通知スタックを処理 /// </summary> /// <param name="sender">呼び出し元オブジェクト</param> /// <param name="e">イベントデータ</param> private void balloonTimer_Tick(object sender, EventArgs e) { balloonTimer.Enabled = BalloonManager.ExcuteBalloonQueue(balloontime, SOUND_LOCAL_PATH) > 0; }
// Start is called before the first frame update void Start() { manager = GameObject.Find("GameManager").GetComponent <BalloonManager>(); anim = GetComponent <Animation> (); audio = GameObject.Find("PoppingSounds").GetComponent <AudioSource>(); }