public void ConfigureAssignableSlots() { if (!slotsConfigured) { Ownables component = GetComponent <Ownables>(); Equipment component2 = GetComponent <Equipment>(); if ((Object)component2 != (Object)null) { foreach (AssignableSlot resource in Db.Get().AssignableSlots.resources) { if (resource is OwnableSlot) { OwnableSlotInstance slot_instance = new OwnableSlotInstance(component, (OwnableSlot)resource); component.Add(slot_instance); } else if (resource is EquipmentSlot) { EquipmentSlotInstance slot_instance2 = new EquipmentSlotInstance(component2, (EquipmentSlot)resource); component2.Add(slot_instance2); } } } slotsConfigured = true; } }
// Is wearing a protective suit public Equippable IsWearingProtectiveSuit() { Equippable result = null; MinionIdentity minionIdentity = GetComponent <MinionIdentity>(); if (minionIdentity != null) { Equipment equipment = minionIdentity.GetEquipment(); foreach (AssignableSlotInstance assignableSlotInstance in equipment.Slots) { EquipmentSlotInstance equipmentSlotInstance = (EquipmentSlotInstance)assignableSlotInstance; Equippable equippable = equipmentSlotInstance.assignable as Equippable; if (equippable && equippable.GetComponent <SuitTank>()) { result = equippable; break; } } } return(result); }
public bool IsSlotOccupied(AssignableSlot slot) { EquipmentSlotInstance equipmentSlotInstance = GetSlot(slot) as EquipmentSlotInstance; return(equipmentSlotInstance.IsAssigned() && (equipmentSlotInstance.assignable as Equippable).isEquipped); }