/// <summary>
 /// Singletonパターンにて実装
 /// </summary>
 /// <returns></returns>
 internal static StateInvoker GetInstance()
 {
     if (stateInvoker == null)
     {
         stateInvoker = new KeyInputStateInvoker();
     }
     return(stateInvoker);
 }
示例#2
0
        /// <summary>
        /// コンストラクタ
        /// MemoTreeの起動を行う
        /// </summary>
        public Context()
        {
            // MemoTreeディレクトリの存在チェック
            var strInitPath = Directory.GetCurrentDirectory() + "/MemoTree";

            if (!Directory.Exists(strInitPath))
            {
                Directory.CreateDirectory(strInitPath);
            }
            this.m_componentMain = new DirComponent(strInitPath);
            // 全ディレクトリ、ファイルを再帰的に取得
            DirComponent.SetComponent(this.m_componentMain);
            this.m_currentComponent = this.m_componentMain;

            // 起動時はキー入力モードを設定
            this.m_stateInvoker = KeyInputStateInvoker.GetInstance();
            // 起動時はEnterコマンドを直接実行
            var enterCommand = new EnterCommand();

            enterCommand.CallExecute(this, this.m_componentMain, false);
        }
示例#3
0
 /// <summary>
 /// StateInvokerを設定する
 /// 各StateInvokerにて動的に入れ替える
 /// </summary>
 /// <param name="stateInvoker"></param>
 internal void SetState(StateInvoker stateInvoker)
 {
     this.m_stateInvoker = stateInvoker;
 }