Ejemplo n.º 1
0
 /// <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();
     }
 }
Ejemplo n.º 2
0
 /// <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);
     }
 }