Example #1
0
 public static IEnumerable <Recipe> GetValidRecipes(this Dictionary <ItemType, Dictionary <Scp914.Scp914Knob, List <Recipe> > > recipes, ItemType item, List <ItemType> otherItems, Scp914.Scp914Knob setting)
 {
     return(recipes[item] is null ? null : recipes[item][setting].Where(r => r.Input.Select(e => e.Item).IsInList(otherItems)));
 }
Example #2
0
        public static void InvokeScp914Upgrade(Scp914.Scp914Machine machine, List <CharacterClassManager> characterClassManagers, ref List <Pickup> pickups, Scp914.Scp914Knob knobSetting, ref bool allow)
        {
            if (Scp914UpgradeEvent == null)
            {
                return;
            }

            List <ReferenceHub> players = new List <ReferenceHub>();

            foreach (CharacterClassManager characterClassManager in characterClassManagers)
            {
                players.Add(characterClassManager.gameObject.GetPlayer());
            }

            SCP914UpgradeEvent ev = new SCP914UpgradeEvent()
            {
                Allow       = allow,
                Machine     = machine,
                Players     = players,
                Items       = pickups,
                KnobSetting = knobSetting
            };

            Scp914UpgradeEvent.Invoke(ref ev);

            pickups = ev.Items;
            allow   = ev.Allow;
        }