コード例 #1
0
        public override void KeysPressed(ConsoleKey _key, EKeyModifiers _modifiers)
        {
            var dPoint = KeyTranslator.GetDirection(_key);

            if (dPoint != null)
            {
                var newPoint = m_targetPoint + dPoint + m_avatarScreenPoint;
                if (ContentRct.Contains(newPoint))
                {
                    m_targetPoint += dPoint;
                }
            }
            switch (_key)
            {
            case ConsoleKey.Escape:
            case ConsoleKey.Z:
                m_act.IsCancelled = true;
                CloseTopBlock();
                break;

            case ConsoleKey.Enter:
            case ConsoleKey.M:
                if (m_path != null)
                {
                    m_act.AddParameter(m_path);
                    m_act.AddParameter(int.MaxValue);
                    CloseTopBlock();
                }
                return;
            }
            //MessageManager.SendMessage(this, WorldMessage.JustRedraw);
        }
コード例 #2
0
        protected override void OnClosing(ConsoleKey _consoleKey)
        {
            base.OnClosing(_consoleKey);
            if (_consoleKey == ConsoleKey.Enter)
            {
                var presenters =
                    m_pages.SelectMany(_pair => _pair.Value).OfType <EssencePresenter>().Where(_presenter => _presenter.IsChecked);

                if (presenters.Any())
                {
                    foreach (var linePresenter in presenters)
                    {
                        if (linePresenter.IsChecked)
                        {
                            AddCheckedItemToResult(linePresenter.EssenceDescriptor);
                        }
                    }
                    return;
                }
            }
            if (m_act != null)
            {
                m_act.AddParameter(EssenceDescriptor.Empty);
            }
        }
コード例 #3
0
        public override void KeysPressed(ConsoleKey _key, EKeyModifiers _modifiers)
        {
            var dPoint = KeyTranslator.GetDirection(_key);

            if (dPoint != null)
            {
                var newPoint = m_targetPoint + dPoint + m_addPoint;
                if (ContentRct.Contains(newPoint))
                {
                    m_targetPoint += dPoint;
                    if (m_targetPoint.Lenght > m_maxDistance)
                    {
                        m_targetPoint *= m_maxDistance / m_targetPoint.Lenght;
                    }
                }
            }
            switch (_key)
            {
            case ConsoleKey.Escape:
            case ConsoleKey.Z:
                m_act.IsCancelled = true;
                CloseTopBlock();
                break;

            case ConsoleKey.OemPlus:
                if (_modifiers != EKeyModifiers.NONE)
                {
                    return;
                }
                m_currentTarget++;
                SelectTargetFromList();
                break;

            case ConsoleKey.OemMinus:
                if (_modifiers != EKeyModifiers.NONE)
                {
                    return;
                }
                m_currentTarget--;
                SelectTargetFromList();
                break;

            case ConsoleKey.Add:
                m_currentTarget++;
                SelectTargetFromList();
                break;

            case ConsoleKey.Subtract:
                m_currentTarget--;
                SelectTargetFromList();
                break;

            case ConsoleKey.Enter:
            case ConsoleKey.T:
                m_act.AddParameter(m_realTarget);
                CloseTopBlock();
                return;
            }
            //MessageManager.SendMessage(this, WorldMessage.JustRedraw);
        }
コード例 #4
0
ファイル: Creature.cs プロジェクト: Foxbow74/my-busycator
 public void InsertActToPool(Act _act, params object[] _params)
 {
     m_actPool.Insert(0, _act);
     foreach (var o in _params)
     {
         _act.AddParameter(o.GetType(), o);
     }
 }
コード例 #5
0
ファイル: Creature.cs プロジェクト: Foxbow74/my-busycator
		public void InsertActToPool(Act _act, params object[] _params)
		{
			m_actPool.Insert(0, _act);
			foreach (var o in _params)
			{
				_act.AddParameter(o.GetType(), o);
			}
		}