|
@@ -90,27 +90,27 @@ public class InputM : MonoBehaviour {
|
|
|
public static string GetPossibleResults(KeyType key, bool doRestore) {
|
|
public static string GetPossibleResults(KeyType key, bool doRestore) {
|
|
|
List<string> accepted = "wasdlr".ToList().Select(c => c.ToString()).ToList();
|
|
List<string> accepted = "wasdlr".ToList().Select(c => c.ToString()).ToList();
|
|
|
List<string> refused = new();
|
|
List<string> refused = new();
|
|
|
- // 删除冲突键位
|
|
|
|
|
- // - 不能同时跳跃、蹲下
|
|
|
|
|
|
|
+ // 删锟斤拷锟斤拷突锟斤拷位
|
|
|
|
|
+ // - 锟斤拷锟斤拷同时锟斤拷跃锟斤拷锟斤拷锟斤拷
|
|
|
if (key == KeyType.Jump) refused.Add(GetKeyRaw(KeyType.Crouch));
|
|
if (key == KeyType.Jump) refused.Add(GetKeyRaw(KeyType.Crouch));
|
|
|
if (key == KeyType.Crouch) refused.Add(GetKeyRaw(KeyType.Jump));
|
|
if (key == KeyType.Crouch) refused.Add(GetKeyRaw(KeyType.Jump));
|
|
|
- // - 不能同时向左、向右
|
|
|
|
|
|
|
+ // - 锟斤拷锟斤拷同时锟斤拷锟斤拷锟斤拷锟斤拷
|
|
|
if (key == KeyType.Left) refused.Add(GetKeyRaw(KeyType.Right));
|
|
if (key == KeyType.Left) refused.Add(GetKeyRaw(KeyType.Right));
|
|
|
if (key == KeyType.Right) refused.Add(GetKeyRaw(KeyType.Left));
|
|
if (key == KeyType.Right) refused.Add(GetKeyRaw(KeyType.Left));
|
|
|
- // - 不能同时开火、装弹
|
|
|
|
|
|
|
+ // - 锟斤拷锟斤拷同时锟斤拷锟斤拷装锟斤拷
|
|
|
if (key == KeyType.Fire) refused.Add(GetKeyRaw(KeyType.Reload));
|
|
if (key == KeyType.Fire) refused.Add(GetKeyRaw(KeyType.Reload));
|
|
|
if (key == KeyType.Reload) refused.Add(GetKeyRaw(KeyType.Fire));
|
|
if (key == KeyType.Reload) refused.Add(GetKeyRaw(KeyType.Fire));
|
|
|
- // 禁止选择已经有两个绑定项的字母、尽量选择没有绑定项的字母
|
|
|
|
|
|
|
+ // 锟斤拷止选锟斤拷锟窖撅拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟侥革拷锟斤拷锟斤拷锟窖★拷锟矫伙拷邪锟斤拷锟斤拷锟斤拷母
|
|
|
foreach (string letter in "wasdlr".ToCharArray().Select(c => c.ToString())) {
|
|
foreach (string letter in "wasdlr".ToCharArray().Select(c => c.ToString())) {
|
|
|
if (keyTypes.Count(keyType => GetKeyRaw(keyType) == letter) >= 2) refused.Add(letter);
|
|
if (keyTypes.Count(keyType => GetKeyRaw(keyType) == letter) >= 2) refused.Add(letter);
|
|
|
if (keyTypes.Count(keyType => GetKeyRaw(keyType) == letter) == 0) { accepted.Add(letter); accepted.Add(letter); }
|
|
if (keyTypes.Count(keyType => GetKeyRaw(keyType) == letter) == 0) { accepted.Add(letter); accepted.Add(letter); }
|
|
|
}
|
|
}
|
|
|
- // 禁止与当前项相同
|
|
|
|
|
|
|
+ // 锟斤拷止锟诫当前锟斤拷锟斤拷同
|
|
|
refused.Add(GetKeyRaw(key));
|
|
refused.Add(GetKeyRaw(key));
|
|
|
- // 是否可以还原回原始键位
|
|
|
|
|
|
|
+ // 锟角凤拷锟斤拷曰锟皆�拷锟皆�硷拷锟轿�
|
|
|
if (!doRestore) refused.Add(GetKeyRawDefault(key));
|
|
if (!doRestore) refused.Add(GetKeyRawDefault(key));
|
|
|
if (doRestore) for (int i = 0; i < 10; i++) accepted.Add(GetKeyRawDefault(key));
|
|
if (doRestore) for (int i = 0; i < 10; i++) accepted.Add(GetKeyRawDefault(key));
|
|
|
- // 输出
|
|
|
|
|
|
|
+ // 锟斤拷锟�
|
|
|
string resultStr = "";
|
|
string resultStr = "";
|
|
|
accepted.ForEach(resultChar => {
|
|
accepted.ForEach(resultChar => {
|
|
|
foreach (string refusedChar in refused) if (resultChar == refusedChar) return;
|
|
foreach (string refusedChar in refused) if (resultChar == refusedChar) return;
|