// Token: 0x06002F7C RID: 12156 RVA: 0x000B6D8C File Offset: 0x000B4F8C public global::ArmorModelSlotMask BindDefaultArmorGroup() { global::ArmorModelGroup defaultArmorModelGroup = this.defaultArmorModelGroup; if (defaultArmorModelGroup) { return(this.BindArmorGroup(this.defaultArmorModelGroup)); } return((global::ArmorModelSlotMask)0); }
// Token: 0x06002F7E RID: 12158 RVA: 0x000B6E20 File Offset: 0x000B5020 public bool Contains <TArmorModel>(TArmorModel model) where TArmorModel : global::ArmorModel, new() { if (!model) { return(false); } if (!this.awake) { global::ArmorModelGroup defaultArmorModelGroup = this.defaultArmorModelGroup; return(defaultArmorModelGroup && defaultArmorModelGroup.GetArmorModel <TArmorModel>() == model); } return(this.models.GetArmorModel <TArmorModel>() == model); }
// Token: 0x06002F7D RID: 12157 RVA: 0x000B6DBC File Offset: 0x000B4FBC public bool Contains(global::ArmorModel model) { if (!model) { return(false); } if (!this.awake) { global::ArmorModelGroup defaultArmorModelGroup = this.defaultArmorModelGroup; return(defaultArmorModelGroup && defaultArmorModelGroup[model.slot] == model); } return(this.models[model.slot] == model); }
// Token: 0x06002F75 RID: 12149 RVA: 0x000B6B04 File Offset: 0x000B4D04 public global::ArmorModelMemberMap GetArmorModelMemberMapCopy() { if (this.awake) { return(this.models); } global::ArmorModelGroup defaultArmorModelGroup = this.defaultArmorModelGroup; if (!defaultArmorModelGroup) { return(default(global::ArmorModelMemberMap)); } return(defaultArmorModelGroup.armorModelMemberMap); }
// Token: 0x06002F7F RID: 12159 RVA: 0x000B6E94 File Offset: 0x000B5094 public T GetArmorModel <T>() where T : global::ArmorModel, new() { if (this.awake) { return(this.models.GetArmorModel <T>()); } global::ArmorModelGroup defaultArmorModelGroup = this.defaultArmorModelGroup; if (defaultArmorModelGroup) { return(defaultArmorModelGroup.GetArmorModel <T>()); } return((T)((object)null)); }
// Token: 0x17000A1D RID: 2589 public global::ArmorModel this[global::ArmorModelSlot slot] { get { if (this.awake) { return(this.models[slot]); } global::ArmorModelGroup defaultArmorModelGroup = this.defaultArmorModelGroup; if (defaultArmorModelGroup) { return(defaultArmorModelGroup[slot]); } return(null); } }
// Token: 0x06002F7B RID: 12155 RVA: 0x000B6D34 File Offset: 0x000B4F34 public global::ArmorModelSlotMask BindArmorGroup(global::ArmorModelGroup group) { global::ArmorModelSlotMask armorModelSlotMask = (global::ArmorModelSlotMask)0; if (group) { for (global::ArmorModelSlot armorModelSlot = global::ArmorModelSlot.Feet; armorModelSlot < (global::ArmorModelSlot)4; armorModelSlot += 1) { global::ArmorModel armorModel = group[armorModelSlot]; if (armorModel && this.BindArmorModelCheckedNonNull(armorModel)) { armorModelSlotMask |= armorModelSlot.ToMask(); } } } return(armorModelSlotMask); }
// Token: 0x06002F7A RID: 12154 RVA: 0x000B6CB4 File Offset: 0x000B4EB4 public global::ArmorModelSlotMask BindArmorGroup(global::ArmorModelGroup group, global::ArmorModelSlotMask slotMask) { if (this.awake) { global::ArmorModelSlotMask armorModelSlotMask = (global::ArmorModelSlotMask)0; foreach (global::ArmorModelSlot slot in slotMask.EnumerateSlots()) { global::ArmorModel armorModel = group[slot]; if (armorModel && this.BindArmorModelCheckedNonNull(armorModel)) { armorModelSlotMask |= slot.ToMask(); } } return(armorModelSlotMask); } if (!group) { return((global::ArmorModelSlotMask)0); } return(this.Initialize(group.armorModelMemberMap, slotMask)); }
// Token: 0x06002F80 RID: 12160 RVA: 0x000B6ED8 File Offset: 0x000B50D8 private global::ArmorModelSlotMask Initialize(global::ArmorModelMemberMap memberMap, global::ArmorModelSlotMask memberMask) { this.awake = true; string rendererName = global::ArmorModelSlot.Head.GetRendererName(); ActorRig actorRig = this.defaultArmorModelGroup[global::ArmorModelSlot.Head].actorRig; ActorMeshRenderer actorMeshRenderer; if (this.originalRenderer) { actorMeshRenderer = ActorMeshRenderer.Replace(this.originalRenderer, actorRig, this.boneStructure.rigOrderedTransformArray, rendererName); } else { actorMeshRenderer = ActorMeshRenderer.CreateOn(base.transform, rendererName, actorRig, this.boneStructure.rigOrderedTransformArray, base.gameObject.layer); } this.renderers[global::ArmorModelSlot.Head] = actorMeshRenderer; for (global::ArmorModelSlot armorModelSlot = global::ArmorModelSlot.Feet; armorModelSlot < global::ArmorModelSlot.Head; armorModelSlot += 1) { this.renderers[armorModelSlot] = actorMeshRenderer.CloneBlank(armorModelSlot.GetRendererName()); } for (global::ArmorModelSlot armorModelSlot2 = global::ArmorModelSlot.Feet; armorModelSlot2 < global::ArmorModelSlot.Head; armorModelSlot2 += 1) { ActorMeshRenderer actorMeshRenderer2 = this.renderers[armorModelSlot2]; if (actorMeshRenderer2) { actorMeshRenderer2.renderer.enabled = base.enabled; } } global::ArmorModelSlotMask armorModelSlotMask = (global::ArmorModelSlotMask)0; global::ArmorModelGroup defaultArmorModelGroup = this.defaultArmorModelGroup; if (defaultArmorModelGroup) { global::ArmorModelSlot armorModelSlot3 = global::ArmorModelSlot.Feet; while (armorModelSlot3 < (global::ArmorModelSlot)4) { if (!memberMask.Contains(armorModelSlot3)) { goto IL_14D; } global::ArmorModel armorModel = memberMap.GetArmorModel(armorModelSlot3); if (!armorModel || !this.BindArmorModelCheckedNonNull(armorModel)) { goto IL_14D; } armorModelSlotMask |= armorModelSlot3.ToMask(); IL_16D: armorModelSlot3 += 1; continue; IL_14D: global::ArmorModel armorModel2 = defaultArmorModelGroup[armorModelSlot3]; if (armorModel2) { this.BindArmorModelCheckedNonNull(armorModel2); goto IL_16D; } goto IL_16D; } } else { foreach (global::ArmorModelSlot slot in memberMask.EnumerateSlots()) { global::ArmorModel armorModel3 = memberMap.GetArmorModel(slot); if (armorModel3 && this.BindArmorModelCheckedNonNull(armorModel3)) { armorModelSlotMask |= slot.ToMask(); } } } return(armorModelSlotMask); }