public static ArmorModelSlot[] ToArray(this ArmorModelSlotMask slotMask) { ArmorModelSlot[] slotArray = Mask2SlotArray.FlagToSlotArray[((int)slotMask) & 15]; ArmorModelSlot[] slotArray2 = new ArmorModelSlot[slotArray.Length]; for (int i = 0; i < slotArray.Length; i++) { slotArray2[i] = slotArray[i]; } return(slotArray2); }
public static ArmorModelSlot[] ToArray(this ArmorModelSlotMask slotMask) { ArmorModelSlot[] flagToSlotArray = ArmorModelSlotUtility.Mask2SlotArray.FlagToSlotArray[(int)(slotMask & (ArmorModelSlotMask.Feet | ArmorModelSlotMask.Legs | ArmorModelSlotMask.Torso | ArmorModelSlotMask.Head))]; ArmorModelSlot[] armorModelSlotArray = new ArmorModelSlot[(int)flagToSlotArray.Length]; for (int i = 0; i < (int)flagToSlotArray.Length; i++) { armorModelSlotArray[i] = flagToSlotArray[i]; } return(armorModelSlotArray); }
public static int GetUnmaskedSlotCount(this ArmorModelSlotMask slotMask) { uint num = (uint)(~slotMask & (ArmorModelSlotMask.Feet | ArmorModelSlotMask.Legs | ArmorModelSlotMask.Torso | ArmorModelSlotMask.Head)); int num1 = 0; while (num != 0) { num1++; num = num & num - 1; } return(num1); }
public static int GetMaskedSlotCount(this ArmorModelSlotMask slotMask) { uint num = (uint)(slotMask & (ArmorModelSlotMask.Head | ArmorModelSlotMask.Torso | ArmorModelSlotMask.Legs | ArmorModelSlotMask.Feet)); int num2 = 0; while (num != 0) { num2++; num &= num - 1; } return(num2); }
public ArmorModelSlotMask BindArmorGroup(ArmorModelGroup group) { ArmorModelSlotMask mask = (ArmorModelSlotMask)0; if (group) { for (ArmorModelSlot i = ArmorModelSlot.Feet; (int)i < 4; i = (ArmorModelSlot)((byte)i + (byte)ArmorModelSlot.Legs)) { ArmorModel item = group[i]; if (item && this.BindArmorModelCheckedNonNull(item)) { mask = mask | i.ToMask(); } } } return(mask); }
public ArmorModelSlotMask BindArmorGroup(ArmorModelGroup group) { ArmorModelSlotMask mask = 0; if (group != null) { for (ArmorModelSlot slot = ArmorModelSlot.Feet; slot < ((ArmorModelSlot)4); slot = (ArmorModelSlot)(((int)slot) + 1)) { ArmorModel model = group[slot]; if ((model != null) && this.BindArmorModelCheckedNonNull(model)) { mask |= slot.ToMask(); } } } return(mask); }
public ArmorModelSlotMask BindArmorModels(ArmorModelMemberMap map, ArmorModelSlotMask slotMask) { if (!this.awake) { return(this.Initialize(map, slotMask)); } ArmorModelSlotMask mask = 0; foreach (ArmorModelSlot slot in slotMask.EnumerateSlots()) { if (this.BindArmorModel(map[slot], slot)) { mask |= slot.ToMask(); } } return(mask); }
public ArmorModelSlotMask BindArmorModels(ArmorModelMemberMap map) { if (!this.awake) { return(this.Initialize(map, ArmorModelSlotMask.Head | ArmorModelSlotMask.Torso | ArmorModelSlotMask.Legs | ArmorModelSlotMask.Feet)); } ArmorModelSlotMask mask = 0; for (ArmorModelSlot slot = ArmorModelSlot.Feet; slot < ((ArmorModelSlot)4); slot = (ArmorModelSlot)(((int)slot) + 1)) { if (this.BindArmorModel(map[slot], slot)) { mask |= slot.ToMask(); } } return(mask); }
public ArmorModelSlotMask BindArmorModels(ArmorModelMemberMap map) { if (!this.awake) { return(this.Initialize(map, ArmorModelSlotMask.Feet | ArmorModelSlotMask.Legs | ArmorModelSlotMask.Torso | ArmorModelSlotMask.Head)); } ArmorModelSlotMask mask = (ArmorModelSlotMask)0; for (ArmorModelSlot i = ArmorModelSlot.Feet; (int)i < 4; i = (ArmorModelSlot)((byte)i + (byte)ArmorModelSlot.Legs)) { if (this.BindArmorModel(map[i], i)) { mask = mask | i.ToMask(); } } return(mask); }
public ArmorModelSlotMask BindArmorModels(ArmorModelMemberMap map, ArmorModelSlotMask slotMask) { if (!this.awake) { return(this.Initialize(map, slotMask)); } ArmorModelSlotMask mask = (ArmorModelSlotMask)0; ArmorModelSlot[] armorModelSlotArray = slotMask.EnumerateSlots(); for (int i = 0; i < (int)armorModelSlotArray.Length; i++) { ArmorModelSlot armorModelSlot = armorModelSlotArray[i]; if (this.BindArmorModel(map[armorModelSlot], armorModelSlot)) { mask = mask | armorModelSlot.ToMask(); } } return(mask); }
public ArmorModelSlotMask BindArmorGroup(ArmorModelGroup group, ArmorModelSlotMask slotMask) { if (!this.awake) { if (group == null) { return(0); } return(this.Initialize(group.armorModelMemberMap, slotMask)); } ArmorModelSlotMask mask = 0; foreach (ArmorModelSlot slot in slotMask.EnumerateSlots()) { ArmorModel model = group[slot]; if ((model != null) && this.BindArmorModelCheckedNonNull(model)) { mask |= slot.ToMask(); } } return(mask); }
public ArmorModelSlotMask BindArmorGroup(ArmorModelGroup group, ArmorModelSlotMask slotMask) { if (!this.awake) { if (!group) { return(0); } return(this.Initialize(group.armorModelMemberMap, slotMask)); } ArmorModelSlotMask mask = (ArmorModelSlotMask)0; ArmorModelSlot[] armorModelSlotArray = slotMask.EnumerateSlots(); for (int i = 0; i < (int)armorModelSlotArray.Length; i++) { ArmorModelSlot armorModelSlot = armorModelSlotArray[i]; ArmorModel item = group[armorModelSlot]; if (item && this.BindArmorModelCheckedNonNull(item)) { mask = mask | armorModelSlot.ToMask(); } } return(mask); }
public static bool Contains(this ArmorModelSlotMask slotMask, ArmorModelSlot slot) { return((slot < ((ArmorModelSlot)4)) && ((slotMask & (((int)1) << slot)) != 0)); }
private ArmorModelSlotMask Initialize(ArmorModelMemberMap memberMap, ArmorModelSlotMask memberMask) { ActorMeshRenderer renderer; this.awake = true; string rendererName = ArmorModelSlot.Head.GetRendererName(); ActorRig actorRig = this.defaultArmorModelGroup[ArmorModelSlot.Head].actorRig; if (this.originalRenderer != null) { renderer = ActorMeshRenderer.Replace(this.originalRenderer, actorRig, this.boneStructure.rigOrderedTransformArray, rendererName); } else { renderer = ActorMeshRenderer.CreateOn(base.transform, rendererName, actorRig, this.boneStructure.rigOrderedTransformArray, base.gameObject.layer); } this.renderers[ArmorModelSlot.Head] = renderer; for (ArmorModelSlot slot = ArmorModelSlot.Feet; slot < ArmorModelSlot.Head; slot = (ArmorModelSlot)(((int)slot) + 1)) { this.renderers[slot] = renderer.CloneBlank(slot.GetRendererName()); } for (ArmorModelSlot slot2 = ArmorModelSlot.Feet; slot2 < ArmorModelSlot.Head; slot2 = (ArmorModelSlot)(((int)slot2) + 1)) { ActorMeshRenderer renderer2 = this.renderers[slot2]; if (renderer2 != null) { renderer2.renderer.enabled = base.enabled; } } ArmorModelSlotMask mask = 0; ArmorModelGroup defaultArmorModelGroup = this.defaultArmorModelGroup; if (defaultArmorModelGroup != null) { for (ArmorModelSlot slot3 = ArmorModelSlot.Feet; slot3 < ((ArmorModelSlot)4); slot3 = (ArmorModelSlot)(((int)slot3) + 1)) { if (memberMask.Contains(slot3)) { ArmorModel armorModel = memberMap.GetArmorModel(slot3); if ((armorModel != null) && this.BindArmorModelCheckedNonNull(armorModel)) { mask |= slot3.ToMask(); continue; } } ArmorModel model2 = defaultArmorModelGroup[slot3]; if (model2 != null) { this.BindArmorModelCheckedNonNull(model2); } } return(mask); } foreach (ArmorModelSlot slot4 in memberMask.EnumerateSlots()) { ArmorModel model = memberMap.GetArmorModel(slot4); if ((model != null) && this.BindArmorModelCheckedNonNull(model)) { mask |= slot4.ToMask(); } } return(mask); }
public static ArmorModelSlot[] EnumerateSlots(this ArmorModelSlotMask slotMask) { return(ArmorModelSlotUtility.Mask2SlotArray.FlagToSlotArray[(int)(slotMask & (ArmorModelSlotMask.Feet | ArmorModelSlotMask.Legs | ArmorModelSlotMask.Torso | ArmorModelSlotMask.Head))]); }
public static bool Contains(this ArmorModelSlot slot, ArmorModelSlotMask slotMask) { return((int)slot >= 4 ? false : ((byte)slotMask & (byte)ArmorModelSlot.Legs << (byte)(slot & (ArmorModelSlot.Legs | ArmorModelSlot.Torso | ArmorModelSlot.Head))) != 0); }
private ArmorModelSlotMask Initialize(ArmorModelMemberMap memberMap, ArmorModelSlotMask memberMask) { ActorMeshRenderer actorMeshRenderer; this.awake = true; string rendererName = ArmorModelSlot.Head.GetRendererName(); ActorRig item = this.defaultArmorModelGroup[ArmorModelSlot.Head].actorRig; actorMeshRenderer = (!this.originalRenderer ? ActorMeshRenderer.CreateOn(base.transform, rendererName, item, this.boneStructure.rigOrderedTransformArray, base.gameObject.layer) : ActorMeshRenderer.Replace(this.originalRenderer, item, this.boneStructure.rigOrderedTransformArray, rendererName)); this.renderers[ArmorModelSlot.Head] = actorMeshRenderer; for (ArmorModelSlot i = ArmorModelSlot.Feet; i < ArmorModelSlot.Head; i = (ArmorModelSlot)((byte)i + (byte)ArmorModelSlot.Legs)) { this.renderers[i] = actorMeshRenderer.CloneBlank(i.GetRendererName()); } for (ArmorModelSlot j = ArmorModelSlot.Feet; j < ArmorModelSlot.Head; j = (ArmorModelSlot)((byte)j + (byte)ArmorModelSlot.Legs)) { ActorMeshRenderer item1 = this.renderers[j]; if (item1) { item1.renderer.enabled = base.enabled; } } ArmorModelSlotMask mask = (ArmorModelSlotMask)0; ArmorModelGroup armorModelGroups = this.defaultArmorModelGroup; if (!armorModelGroups) { ArmorModelSlot[] armorModelSlotArray = memberMask.EnumerateSlots(); for (int k = 0; k < (int)armorModelSlotArray.Length; k++) { ArmorModelSlot armorModelSlot = armorModelSlotArray[k]; ArmorModel armorModel = memberMap.GetArmorModel(armorModelSlot); if (armorModel && this.BindArmorModelCheckedNonNull(armorModel)) { mask = mask | armorModelSlot.ToMask(); } } } else { for (ArmorModelSlot l = ArmorModelSlot.Feet; (int)l < 4; l = (ArmorModelSlot)((byte)l + (byte)ArmorModelSlot.Legs)) { if (memberMask.Contains(l)) { ArmorModel armorModel1 = memberMap.GetArmorModel(l); if (!armorModel1 || !this.BindArmorModelCheckedNonNull(armorModel1)) { goto Label1; } mask = mask | l.ToMask(); goto Label0; } Label1: ArmorModel item2 = armorModelGroups[l]; if (item2) { this.BindArmorModelCheckedNonNull(item2); } Label0: } } return(mask); }
public static ArmorModelSlot[] EnumerateSlots(this ArmorModelSlotMask slotMask) { return(Mask2SlotArray.FlagToSlotArray[((int)slotMask) & 15]); }