コード例 #1
0
ファイル: ModInputHandler.cs プロジェクト: TAImatem/owml
        public List <string> GetWarningMessages(string combinations)
        {
            var hashes        = new List <long>();
            var errorMessages = new List <string>();

            foreach (var combo in combinations.Split('/'))
            {
                var hash = ModInputLibrary.StringToHash(combo);
                if (hash <= 0)
                {
                    errorMessages.Add(ModInputLibrary.GetReadableMessage((RegistrationCode)(-hash)));
                    continue;
                }
                hashes.Add(hash);
            }
            var warningMessages = GetCollisions(hashes.AsReadOnly())
                                  .Select(combination => $"Collides with {combination}").ToList();

            warningMessages.AddRange(errorMessages);
            return(warningMessages);
        }
コード例 #2
0
        private List <long> StringToHashes(string combinations)
        {
            var hashes = new List <long>();

            foreach (var combo in combinations.Split('/'))
            {
                var hash = ModInputLibrary.StringToHash(combo);
                if (hash <= 0)
                {
                    _console.WriteLine($"Warning: Invalid part of combo in {FullName}: {combo}, " +
                                       ModInputLibrary.GetReadableMessage((RegistrationCode)hash));
                    continue;
                }
                hashes.Add(hash);
                if (hash < ModInputLibrary.MaxUsefulKey)
                {
                    _singles.Add((KeyCode)hash);
                }
            }
            return(hashes);
        }