void Update() { if (SSHShared.HotKey(KeyCode.M, false)) DoShowMap(); if (SSHShared.HotKey(KeyCode.Escape, false)) DoHideMap(); if (FCameraZoomTarget != Camera.orthographicSize) DoRollZoom(); }
// Показ линии высадки по хоткею private void CheckHotkey() { // Выключить путь if (SSHShared.HotKey(KeyCode.Escape, false) || Input.GetMouseButtonDown(1)) { if (IsActive || IsDrag) { Cancel(); } return; } // Для драга игнорируем другие хоткеи if (IsDrag) { return; } // Каждый слот соответствует клавише (1, 2, ... 7) игнорится если выбран какой-то объект if (!SSHShared.HotKey((FSelf.UID + 1).ToString())) { return; } // Выключим предыдущее состояние if (IsActive) { Cancel(); return; } // Если нельзя включить else if (!DoEnterSource()) { return; } // Выключим предыдущий объект if (SSHShared.MonoSource != null) { // Отмена если идет драг if (SSHShared.MonoSource.Script.IsDrag) { return; } else { SSHShared.MonoSource.Script.Cancel(); } } FIsHotkey = true; // Активируем текущий слот if (!IsFocused) { SSHShared.MonoSource = FSelf; } Activate(); }
// Горячие клавиши перемещения по карту void DoCheckKeyboard() { float LLeftRight = 0; float LForwardBack = 0; float LAcceleration = 1; // Лево if (SSHShared.HotKey(KeyCode.A, true) || SSHShared.HotKey(KeyCode.LeftArrow, true)) { LLeftRight = C_KeyMapSpeed; } // Право if (SSHShared.HotKey(KeyCode.D, true) || SSHShared.HotKey(KeyCode.RightArrow, true)) { LLeftRight = -C_KeyMapSpeed; } // Верх if (SSHShared.HotKey(KeyCode.W, true) || SSHShared.HotKey(KeyCode.UpArrow, true)) { LForwardBack = -C_KeyMapSpeed; } // Вниз if (SSHShared.HotKey(KeyCode.S, true) || SSHShared.HotKey(KeyCode.DownArrow, true)) { LForwardBack = C_KeyMapSpeed; } // Ускорение if (SSHShared.HotKey(KeyCode.LeftShift, true)) { LAcceleration = C_KeyMapAcceleration; } // Смена позиции только если хоть одна кнопка нажата if ((LLeftRight != 0) || (LForwardBack != 0)) { ChangePosition(LLeftRight * LAcceleration * -C_MapSpeed, LForwardBack * LAcceleration * -C_MapSpeed, true); } }