/// <summary> /// カスタムスイッチを左に回す関数 /// </summary> /// <param name="i">カスタムスイッチのナンバー</param> /// <param name="position">カスタムスイッチの状態</param> /// <param name="switch_config">カスタムスイッチの設定</param> private void SwitchLeft(int i, ref int position, LoadSwitch.SwitchConfig switch_config) { if (position <= switch_config.switch_min_) { if (switch_config.switch_is_loop_ == 1) { position = switch_config.switch_max_; this.train_.Sounds.SwitchSound[i].Play(); } } else { position -= switch_config.switch_step_; this.train_.Sounds.SwitchSound[i].Play(); } }
/// <summary> /// カスタムスイッチが押されたかどうかを判定する関数 /// </summary> /// <param name="i">カスタムスイッチのナンバー</param> /// <param name="key">押されたATSキー</param> /// <param name="switch_config">カスタムスイッチの設定</param> /// <returns>判定結果</returns> private bool SwitchCheck(int i, VirtualKeys key, LoadSwitch.SwitchConfig switch_config) { if (switch_config.switch_modifier_key_[i] != null) { if (key != switch_config.switch_modifier_key_[i] && modifier_key_ != switch_config.switch_modifier_key_[i]) { return(false); } if (key != switch_config.switch_key_[i] && modifier_key_ != switch_config.switch_key_[i]) { return(false); } return(true); } else { if (key != switch_config.switch_key_[i]) { return(false); } return(true); } }