Ejemplo n.º 1
0
        private static void HandleAspectDisplay(CharacterModel model, EquipmentDef display, EquipmentDef target, ItemDef item)
        {
            ItemMask  list  = model.enabledItemDisplays;
            ItemIndex index = item.itemIndex;

            if (!target)
            {
                return;
            }

            if (display == target)
            {
                if (!list.Contains(index))
                {
                    list.Add(index);
                    DisplayRuleGroup drg = model.itemDisplayRuleSet.GetEquipmentDisplayRuleGroup(target.equipmentIndex);
                    model.InstantiateDisplayRuleGroup(drg, index, EquipmentIndex.None);
                }
            }
            else
            {
                if (list.Contains(index))
                {
                    list.Remove(index);
                    RemoveAspectDisplay(model, index);
                }
            }
        }
Ejemplo n.º 2
0
        private static void AddingItemDisplayRulesToCharacterModels(On.RoR2.CharacterModel.orig_Start orig, CharacterModel self)
        {
            orig(self);

            foreach (var customItem in ItemDefinitions)
            {
                if (customItem.ItemDisplayRules != null)
                {
                    var displayRuleGroup = new DisplayRuleGroup {
                        rules = customItem.ItemDisplayRules
                    };
                    self.itemDisplayRuleSet.SetItemDisplayRuleGroup(customItem.ItemDef.name, displayRuleGroup);
                }
            }

            foreach (var customEquipment in EquipmentDefinitions)
            {
                if (customEquipment.ItemDisplayRules != null)
                {
                    var displayRuleGroup = new DisplayRuleGroup {
                        rules = customEquipment.ItemDisplayRules
                    };
                    self.itemDisplayRuleSet.SetItemDisplayRuleGroup(customEquipment.EquipmentDef.name, displayRuleGroup);
                }
            }

            self.itemDisplayRuleSet.InvokeMethod("GenerateRuntimeValues");
        }