Example #1
0
        public IModInputCombination RegisterCombination(IModBehaviour mod, string name, string combination)
        {
            var combo = new ModInputCombination(mod.ModHelper.Manifest, _console, name, combination);

            switch (SwapCombination(combo, false))
            {
            case RegistrationCode.InvalidCombination:
                _console.WriteLine($"Failed to register \"{combo.FullName}\": invalid combination!");
                return(null);

            case RegistrationCode.CombinationTooLong:
                _console.WriteLine($"Failed to register \"{combo.FullName}\": too long!");
                return(null);

            case RegistrationCode.CombinationTaken:
                _console.WriteLine($"Failed to register \"{combo.FullName}\": already in use by following mods:");
                var collisions = GetCollisions(combo.Hashes);
                foreach (var collision in collisions)
                {
                    _console.WriteLine($"\"{collision}\"");
                }
                return(null);

            case RegistrationCode.AllNormal:
                return(combo);

            default:
                return(null);
            }
        }
Example #2
0
 public ModConfigMenu(IModConsole console, IModData modData, IModBehaviour mod) : base(console)
 {
     _console = console;
     ModData  = modData;
     Mod      = mod;
     _storage = new ModStorage(console, modData.Manifest);
 }
Example #3
0
        public IModConfigMenu GetModMenu(IModBehaviour modBehaviour)
        {
            OwmlConsole.WriteLine("Registering " + modBehaviour.ModHelper.Manifest.UniqueName);
            var modConfigMenu = _modConfigMenus.FirstOrDefault(x => x.Mod == modBehaviour);

            if (modConfigMenu == null)
            {
                OwmlConsole.WriteLine($"Error: {modBehaviour.ModHelper.Manifest.UniqueName} isn't added.");
                return(null);
            }
            return(modConfigMenu);
        }
Example #4
0
 public void AddMod(IModData modData, IModBehaviour mod)
 {
     _modConfigMenus.Add(new ModConfigMenu(OwmlConsole, modData, mod));
 }
Example #5
0
 public ModConfigMenu(IModConsole console, IModData modData, IModBehaviour mod)
     : base(console, modData.Manifest)
 {
     ModData = modData;
     Mod     = mod;
 }