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); }
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); } }
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); }
public void InsertActToPool(Act _act, params object[] _params) { m_actPool.Insert(0, _act); foreach (var o in _params) { _act.AddParameter(o.GetType(), o); } }