Example #1
0
        public void OpenModule(Modules module)
        {
            if (IsRunning(module))
            {
                GideonBase.SynObj.SpeakAsync("This application is already running !");
                return;
            }

            switch (module)
            {
            case Modules.MediaPlayer:

                MediaPlayerObj = new MediaPlayerUI();
                ModuleTableObj.Add(module, MediaPlayerObj);
                MediaPlayerObj.Show();
                //MediaPlayerObj.Visibility = System.Windows.Visibility.Hidden;

                break;

            case Modules.WeatherForecast:

                WeatherForecastObj = new WeatherForecastUI();
                ModuleTableObj.Add(module, WeatherForecastObj);
                WeatherForecastObj.Show();

                break;

            case Modules.News:

                NewsObj = new NewsUI();
                ModuleTableObj.Add(module, NewsObj);
                NewsObj.Show();

                break;

            case Modules.Gallery:

                GalleryObj = new GalleryUserInterface();
                ModuleTableObj.Add(module, GalleryObj);
                GalleryObj.Show();

                break;
            }
        }
Example #2
0
    /// <summary>
    /// ニュース演出をする際にどのNewsUIを使うのか
    /// を決定するメソッド
    /// </summary>
    /// <param name="newsMode"></param>
    /// <param name="player">プレイヤーが脱落したりゴールしたときに使うキャラクター情報</param>
    /// <returns></returns>
    private void ShowNewsUI(NEWSMODE newsMode, GameObject player)
    {
        // どのNewsUIを使うか決める
        for (int i = 0; i < newsUIs.Count; i++)
        {
            NewsUI newsUI = newsUIs[i].GetComponent <NewsUI>();
            // 使っていないなら
            if (newsUI.IsIdle)
            {
                targetNewsUIObj = newsUIs[i];
                break;
            }
        }

        // エラーチェック
        if (targetNewsUIObj == null)
        {
            Debug.Log("使えるNewsUIがありません");
            return;
        }
        var targetNewsUI      = targetNewsUIObj.GetComponent <NewsUI>();
        var targetNewsUIEntry = targetNewsUIObj.GetComponent <NewsUIEntry>();

        // 表示するニュース演出の種類によって呼び出す関数を変える
        switch (newsMode)
        {
        case NEWSMODE.WIN:
        case NEWSMODE.GOAL:
        case NEWSMODE.DEAD:
            // どのプレイヤーが死んだかも伝える
            targetNewsUIEntry.playerNo = player.GetComponent <Player>().playerNO;
            targetNewsUIEntry.newsMode = newsMode;
            break;

        case NEWSMODE.RAIN:
        case NEWSMODE.START:
            targetNewsUIEntry.newsMode = newsMode;
            break;
        }
        // EntryStateにチェンジ
        targetNewsUI.EntryStart();
    }
Example #3
0
 // Update is called once per frame
 void Update()
 {
     // 表示するニュース演出があるなら
     if (newsList.Count > 0)
     {
         List <NewsUI> useNewsUIs = new List <NewsUI>();
         // 今いくつのNewsUIが表示されているのかチェック
         for (int l = 0; l < newsUIs.Count; l++)
         {
             // 今表示しているNewsUIを格納するリスト
             NewsUI newsUI = newsUIs[l].GetComponent <NewsUI>();
             if (!newsUI.IsIdle)
             {
                 showNewsUICount++;
                 useNewsUIs.Add(newsUI);
             }
             if (newsUI.isMoveingUnder)
             {
                 moveNewsUICount++;
             }
         }
         // ニュース演出が3つ以上出ていないかつ一つも動いていないなら
         if (showNewsUICount < 3 && moveNewsUICount == 0)
         {
             // 今表示しているNewsUiを下に下げる
             for (int i = 0; i < useNewsUIs.Count; i++)
             {
                 useNewsUIs[i].MoveUnderInit();
             }
             // ニュース演出を表示
             ShowNewsUI(newsList[0].newsMode, newsList[0].character);
             // 表示したニュース演出の情報はリストから削除
             newsList.Remove(newsList[0]);
         }
         // チェックし終わるごとにカウントをリセット
         showNewsUICount = 0;
         moveNewsUICount = 0;
         useNewsUIs.Clear();
     }
 }
Example #4
0
        public void CloseModule(Modules module)
        {
            if (!IsRunning(module))
            {
                GideonBase.SynObj.SpeakAsync("This application is already close or not in running state !");
                return;
            }

            switch (module)
            {
            case Modules.MediaPlayer:
                MediaPlayerObj.Close();
                MediaPlayerObj = null;
                break;

            case Modules.WeatherForecast:
                WeatherForecastObj.Close();
                WeatherForecastObj = null;
                break;

            case Modules.News:
                NewsObj.Close();
                NewsObj = null;
                break;

            case Modules.Gallery:
                GalleryObj.Close();
                GalleryObj = null;
                break;
            }


            GC.SuppressFinalize(ModuleTableObj[module]);
            GC.Collect();
            ModuleTableObj[module] = null;
            ModuleTableObj.Remove(module);
        }
Example #5
0
 private void Awake()
 {
     newsUI = GetComponent <NewsUI>();
     ReadTextParameter();
 }