示例#1
0
        /// <summary>
        /// キーフィールドを追加し、キーを変更するハンドラを取得する
        /// </summary>
        /// <param name="field"></param>
        /// <param name="handler"></param>
        public void AddKeyField(IKeyFieldAccesser field, out IAlterKeyHandler handler)
        {
            int index = DataId.GetData(field.KeyId);

            _fields.Add(field);
            _alters[index].AddKeyField(field);
            handler = _alters[index];
        }
示例#2
0
            /// <summary>
            /// キー配置に対応するキーフィールドを追加
            /// </summary>
            /// <param name="field"></param>
            public void AddKeyField(IKeyFieldAccesser field)
            {
                if (!_svKeys.ContainsKey(field.KeyId))
                {
                    Log.Warning("フィールドIDがキー配置に対応していません(ID:{0:X8})", field.KeyId);
                    return;
                }

                _uniKeys[_svKeys[field.KeyId]] = field;
            }
示例#3
0
            /// <summary>
            /// IAlterKeyHandlerを参照
            /// </summary>
            /// <param name="field"></param>
            /// <param name="code"></param>
            public void AlterKey(IKeyFieldAccesser field, KeyCode code)
            {
                // 引数のキーコードが既に設定済み
                if (_uniKeys.ContainsKey(code))
                {
                    IKeyFieldAccesser duField = _uniKeys[code];
                    duField.Code           = KeyCode.None;
                    _svKeys[duField.KeyId] = KeyCode.None;
                }

                field.Code           = code;
                _uniKeys[code]       = field;
                _svKeys[field.KeyId] = code;
            }
示例#4
0
 /// <summary>
 /// キーフィールドを追加し、キーコードを設定するハンドラを取得する
 /// </summary>
 /// <param name="field">キーフィールド</param>
 /// <param name="handler">キーコードを設定するハンドラ</param>
 public void AddKeyField(IKeyFieldAccesser field, out IAlterKeyHandler handler)
 {
     if (DataId.EqualsUpper(field.KeyId, KeyIdOffset.UI))
     {
         _uiGroup.AddKeyField(field, out handler);
     }
     else if (DataId.EqualsUpper(field.KeyId, KeyIdOffset.P1))
     {
         _plGroup.AddKeyField(field, out handler);
     }
     else
     {
         Log.Error("キーフィールドのIDが不正(ID:{0:X8})", field.KeyId);
         handler = null;
     }
 }