public void Dispose() { if (mOutfit != null) { int index = ReplaceOutfit(mSim, mKey, mBuilder, mComponents, mAlternate); mOutfit = mSim.GetOutfit(mKey.mCategory, index); SimDescription sim = mSim as SimDescription; if ((sim != null) && (sim.CreatedSim != null)) { try { sim.CreatedSim.RefreshCurrentOutfit(false); } catch (Exception e) { Common.DebugException(sim, e); } } } mBuilder.Dispose(); Common.Sleep(); }
public NewBimDesc(SimDescriptionCore sdCore) { if (dontCall) { return; } var _this = (SimDescription)(object)this; if (!NStackTrace.IsCallingMyMethedLite("CreateSimHead", true, 3)) { Create.AddNiecSimDescription(_this); NiecException.NewSendTextExceptionToDebugger(); } _this.mSkinToneKey = default(ResourceKey); _this.mSecondaryNormalMapWeights = new float[2]; _this.mFlags = SimDescription.FlagField.Marryable | SimDescription.FlagField.CanBeKilledOnJob | SimDescription.FlagField.ShowSocialsOnSim | SimDescription.FlagField.Contactable | SimDescription.FlagField.CanStartFires | SimDescription.FlagField.WasCasCreated; _this.mAlmaMaterName = string.Empty; _this.UserDaysInCurrentAge = int.MaxValue; _this.CharismaStats = default(SimDescription.Charisma); _this.mShapeDeltaMultiplier = 1f; _this.mPreferredVehicleGuid = ObjectGuid.InvalidObjectGuid; _this.mPreferredBoatGuid = ObjectGuid.InvalidObjectGuid; _this.LastMakeoverReceivedUserDirected = SimClock.CurrentTime() - new DateAndTime(4, DaysOfTheWeek.Sunday, 0, 0, 0); _this.mStoredSlot = PASSPORTSLOT.PASSPORTSLOT_NUM; _this.mReturnSimAlarm = AlarmHandle.kInvalidHandle; _this.mIsValidDescription = true; if (SimDescription.sLoadedSimDescriptions != null) { SimDescription.sLoadedSimDescriptions.Add(_this); } try { _this.TraitManager = new TraitManager(sdCore.TraitManager); _this.TraitManager.SetSimDescription(_this); _this.CopyAllOutfits(sdCore); _this.CopyCoreFileds(sdCore); SimOutfit outfit = sdCore.GetOutfit(OutfitCategories.Everyday, 0); _this.Init(outfit); _this.CopyPetFields(sdCore); } catch (Exception) { } }
public void Dispose() { if (mOutfit != null) { int index = ReplaceOutfit(mSim, mKey, mBuilder, mComponents, mAlternate); mOutfit = mSim.GetOutfit(mKey.mCategory, index); SimDescription sim = mSim as SimDescription; if ((sim != null) && (sim.CreatedSim != null)) { try{ sim.CreatedSim.RefreshCurrentOutfit(false); }catch (Exception exception) { Alive.WriteLog(exception.Message + "\n\n" + exception.StackTrace + "\n\n" + exception.Source); } } } mBuilder.Dispose(); Alive.Sleep(); }
public static void RemoveOutfit(SimDescriptionCore sim, Key key, bool alternate) { bool maternity = ((sim.IsUsingMaternityOutfits) && (!alternate)); sim.RemoveOutfit(key.mCategory, key.GetIndex(sim, alternate), true, maternity); switch (key.mCategory) { case OutfitCategories.Special: if (sim.mSpecialOutfitIndices != null) { int index = key.GetIndex(sim, alternate); sim.RemoveSpecialOutfitAtIndex(index); foreach (uint num in new List <uint>(sim.mSpecialOutfitIndices.Keys)) { int oldIndex = sim.mSpecialOutfitIndices[num]; if (oldIndex > index) { sim.mSpecialOutfitIndices[num] = oldIndex - 1; } } } break; case OutfitCategories.Career: CheckIndex(sim, null); break; case OutfitCategories.Everyday: SimDescription simDesc = sim as SimDescription; if (simDesc != null) { simDesc.mDefaultOutfitKey = sim.GetOutfit(OutfitCategories.Everyday, 0).Key; } break; } }
public static int ReplaceOutfit(SimDescriptionCore sim, Key key, SimOutfit newOutfit, bool alternate) { bool maternity = ((sim.IsUsingMaternityOutfits) && (!alternate)); ArrayList outfits = GetOutfits(sim, key.mCategory, alternate); if (outfits == null) { outfits = new ArrayList(); if (maternity) { sim.mMaternityOutfits[key.mCategory] = outfits; } else { sim.Outfits[key.mCategory] = outfits; } } int index = key.GetIndex(sim, alternate); if ((index == -1) || (index >= outfits.Count)) { outfits.Add(newOutfit); index = outfits.Count - 1; } else if (index < outfits.Count) { SimOutfit oldOutfit = outfits[index] as SimOutfit; if (oldOutfit != null) { bool inUse = false; foreach (OutfitCategories categories in sim.GetCurrentOutfits().Keys) { ArrayList list2 = sim.GetOutfits(categories); if (list2 != null) { foreach (SimOutfit outfit in list2) { if (outfit.Key == oldOutfit.Key) { inUse = true; break; } } } if (inUse) { break; } } if (!inUse) { oldOutfit.Uncache(); } } outfits[index] = newOutfit; } else { outfits.Insert(index, newOutfit); } switch (key.mCategory) { case OutfitCategories.Special: if (!string.IsNullOrEmpty(key.mSpecialKey)) { if (sim.mSpecialOutfitIndices == null) { sim.mSpecialOutfitIndices = new Dictionary <uint, int>(); } sim.mSpecialOutfitIndices[ResourceUtils.HashString32(key.mSpecialKey)] = index; } break; case OutfitCategories.Everyday: SimDescription simDesc = sim as SimDescription; if (simDesc != null) { simDesc.mDefaultOutfitKey = sim.GetOutfit(OutfitCategories.Everyday, 0).Key; } break; } return(index); }
public static int ReplaceOutfit(SimDescriptionCore sim, Key key, SimOutfit newOutfit, bool alternate) { bool maternity = ((sim.IsUsingMaternityOutfits) && (!alternate)); ArrayList outfits = GetOutfits(sim, key.mCategory, alternate); if (outfits == null) { outfits = new ArrayList(); if (maternity) { sim.mMaternityOutfits[key.mCategory] = outfits; } else { sim.Outfits[key.mCategory] = outfits; } } int index = key.GetIndex(sim, alternate); if ((index == -1) || (index >= outfits.Count)) { outfits.Add(newOutfit); index = outfits.Count - 1; } else if (index < outfits.Count) { SimOutfit oldOutfit = outfits[index] as SimOutfit; if (oldOutfit != null) { bool inUse = false; foreach (OutfitCategories categories in sim.GetCurrentOutfits().Keys) { ArrayList list2 = sim.GetOutfits(categories); if (list2 != null) { foreach (SimOutfit outfit in list2) { if (outfit.Key == oldOutfit.Key) { inUse = true; break; } } } if (inUse) break; } if (!inUse) { oldOutfit.Uncache(); } } outfits[index] = newOutfit; } else { outfits.Insert(index, newOutfit); } switch (key.mCategory) { case OutfitCategories.Special: if (!string.IsNullOrEmpty(key.mSpecialKey)) { if (sim.mSpecialOutfitIndices == null) { sim.mSpecialOutfitIndices = new Dictionary<uint, int>(); } sim.mSpecialOutfitIndices[ResourceUtils.HashString32(key.mSpecialKey)] = index; } break; case OutfitCategories.Everyday: SimDescription simDesc = sim as SimDescription; if (simDesc != null) { simDesc.mDefaultOutfitKey = sim.GetOutfit(OutfitCategories.Everyday, 0).Key; } break; } return index; }
public static void RemoveOutfit(SimDescriptionCore sim, Key key, bool alternate) { bool maternity = ((sim.IsUsingMaternityOutfits) && (!alternate)); sim.RemoveOutfit(key.mCategory, key.GetIndex(sim, alternate), true, maternity); switch (key.mCategory) { case OutfitCategories.Special: if (sim.mSpecialOutfitIndices != null) { int index = key.GetIndex(sim, alternate); sim.RemoveSpecialOutfitAtIndex(index); foreach (uint num in new List<uint>(sim.mSpecialOutfitIndices.Keys)) { int oldIndex = sim.mSpecialOutfitIndices[num]; if (oldIndex > index) { sim.mSpecialOutfitIndices[num] = oldIndex - 1; } } } break; case OutfitCategories.Career: CheckIndex(sim, null); break; case OutfitCategories.Everyday: SimDescription simDesc = sim as SimDescription; if (simDesc != null) { simDesc.mDefaultOutfitKey = sim.GetOutfit(OutfitCategories.Everyday, 0).Key; } break; } }