public static void OnWorldLoadFinishedHandler() { maskPart = ResourceKey.Parse(maskTypeID + "-" + maskGroupID + "-" + maskInstanceID); sBloodBuffListener = EventTracker.AddListener(EventTypeId.kGotBuff, new ProcessEventDelegate(VTBlood.OnGotBuff)); if (bathingCleans) { sBathListener = EventTracker.AddListener(EventTypeId.kEventTakeBath, new ProcessEventDelegate(VTBlood.OnClean)); } if (brushingCleans) { sBrushListener = EventTracker.AddListener(EventTypeId.kBrushedTeeth, new ProcessEventDelegate(VTBlood.OnClean)); } if (showeringCleans) { sShowerListener = EventTracker.AddListener(EventTypeId.kEventTakeShower, new ProcessEventDelegate(VTBlood.OnClean)); } PartSearch search = new PartSearch(); foreach (CASPart part in search) { if (part.Key == maskPart) { VTBloodMask = part; } } search.Reset(); }
public static void OnWorldLoadFinishedHandler(object sender, EventArgs e) { maskPartSkin = ResourceKey.Parse(0x034AEECB + "-" + 0x00000000 + "-" + 0x9F734D5B9D920083); sSkinAddBuffListener = EventTracker.AddListener(EventTypeId.kGotBuff, new ProcessEventDelegate(SkinAdd.OnGotBuff)); PartSearch search = new PartSearch(); foreach (CASPart part in search) { if (part.Key == maskPartSkin) { SkinAddMask = part; } } search.Reset(); }
public static void OnWorldLoadFinishedHandler() { VTBiteMaskPart = ResourceKey.Parse(makeupTypeID + "-" + makeupGroupID + "-" + makeupInstanceID); sBiteMarkBuffListener = EventTracker.AddListener(EventTypeId.kGotBuff, new ProcessEventDelegate(VTBiteMark.OnGotBuff)); { PartSearch search = new PartSearch(); foreach (CASPart part in search) { if (part.Key == VTBiteMaskPart) { biteMask = part; } } search.Reset(); } }
public static void OnWorldLoadFinishedHandler() { VTThirstMaskPart = ResourceKey.Parse(kMaskTypeID + "-" + kMaskGroupID + "-" + kMaskInstanceID); sThirstBuffListener = EventTracker.AddListener(EventTypeId.kGotBuff, new ProcessEventDelegate(VTThirst.OnGotBuff)); AlarmManager.Global.AddAlarm(40f, TimeUnit.Seconds, new AlarmTimerCallback(VTThirst.AddChildrenEyes), "Add Children Eyes Procces", AlarmType.NeverPersisted, null); { PartSearch search = new PartSearch(); foreach (CASPart part in search) { if (part.Key == VTThirstMaskPart) { ThirstMask = part; } } search.Reset(); } }
public override bool Run() { try { StringBuilder builder = new StringBuilder(); PartSearch search = new PartSearch(); foreach (CASPart part in search) { builder.Append(Common.NewLine + "Key: " + part.Key); builder.Append(Common.NewLine + " Body Type: " + part.BodyType); builder.Append(Common.NewLine + " Age Gender: " + part.AgeGenderSpecies); builder.Append(Common.NewLine + " Category: "); foreach (OutfitCategories category in Enum.GetValues(typeof(OutfitCategories))) { if ((part.CategoryFlags & (uint)category) == (uint)category) { builder.Append(category + " "); } } foreach (OutfitCategoriesExtended category in Enum.GetValues(typeof(OutfitCategoriesExtended))) { if ((part.CategoryFlags & (uint)category) == (uint)category) { builder.Append(category + " "); } } } search.Reset(); Common.WriteLog(builder.ToString()); return(true); } catch (Exception e) { Common.Exception(Actor, Target, e); return(false); } }
public static List <CASParts.Wrapper> GetParts(TestPart onTest) { List <CASParts.Wrapper> results = new List <CASParts.Wrapper>(); PartSearch search = new PartSearch(); foreach (CASPart part in search) { CASParts.Wrapper newPart = new CASParts.Wrapper(part); if ((onTest != null) && (!onTest(newPart))) { continue; } results.Add(newPart); } search.Reset(); return(results); }
public static List<CASParts.Wrapper> GetParts(TestPart onTest) { List<CASParts.Wrapper> results = new List<CASParts.Wrapper>(); PartSearch search = new PartSearch(); foreach (CASPart part in search) { CASParts.Wrapper newPart = new CASParts.Wrapper(part); if ((onTest != null) && (!onTest(newPart))) continue; results.Add(newPart); } search.Reset(); return results; }
public static void OnWorldLoadFinishedHandler(object sender, EventArgs e) { maskPartChildUnisex = ResourceKey.Parse(0x034AEECB + "-" + 0x00000000 + "-" + 0x9F734D5B9D920083); maskPartAdultFemale = ResourceKey.Parse(0x034AEECB + "-" + 0x00000000 + "-" + 0x0805FC6BD47FF5C7); maskPartAdultMale = ResourceKey.Parse(0x034AEECB + "-" + 0x00000000 + "-" + 0x8FFB29C402EFE024); maskPartTeenMale = ResourceKey.Parse(0x034AEECB + "-" + 0x00000000 + "-" + 0xCD9D1D26E4ABD38A); maskPartTeenFemale = ResourceKey.Parse(0x034AEECB + "-" + 0x00000000 + "-" + 0x02172C0B1C6D80F1); maskPartElderFemale = ResourceKey.Parse(0x034AEECB + "-" + 0x00000000 + "-" + 0xA13212F706933D83); maskPartElderMale = ResourceKey.Parse(0x034AEECB + "-" + 0x00000000 + "-" + 0xFDF0F0D989D601D0); sWolfFeetBuffListener = EventTracker.AddListener(EventTypeId.kGotBuff, new ProcessEventDelegate(WolfFeet.OnGotBuff)); PartSearch search = new PartSearch(); foreach (CASPart part in search) { if (part.Key == maskPartChildUnisex) { WolfFeetMaskChildUnisex = part; } } search.Reset(); PartSearch search2 = new PartSearch(); foreach (CASPart part in search2) { if (part.Key == maskPartTeenFemale) { WolfFeetMaskTeenFemale = part; } } search2.Reset(); PartSearch search3 = new PartSearch(); foreach (CASPart part in search3) { if (part.Key == maskPartTeenMale) { WolfFeetMaskTeenMale = part; } } search3.Reset(); PartSearch search4 = new PartSearch(); foreach (CASPart part in search4) { if (part.Key == maskPartAdultFemale) { WolfFeetMaskAdultFemale = part; } } search4.Reset(); PartSearch search5 = new PartSearch(); foreach (CASPart part in search5) { if (part.Key == maskPartAdultMale) { WolfFeetMaskAdultMale = part; } } search5.Reset(); PartSearch search6 = new PartSearch(); foreach (CASPart part in search6) { if (part.Key == maskPartElderFemale) { WolfFeetMaskElderFemale = part; } } search6.Reset(); PartSearch search7 = new PartSearch(); foreach (CASPart part in search7) { if (part.Key == maskPartElderMale) { WolfFeetMaskElderMale = part; } } search7.Reset(); }
protected static void ParseParts <TYPE>(string suffix, Dictionary <ResourceKey, List <InvalidPartBase> > partsByKey, Dictionary <BodyTypes, List <InvalidPartBase> > partsByType) where TYPE : InvalidPartBase, new() { partsByKey.Clear(); partsByType.Clear(); BooterLogger.AddTrace(suffix + ":OnPreLoad"); string name = VersionStamp.sNamespace + "." + suffix; XmlDbData data = null; try { data = XmlDbData.ReadData(name); if ((data == null) || (data.Tables == null)) { BooterLogger.AddTrace(name + " Missing"); return; } } catch (Exception e) { BooterLogger.AddTrace(name + " Formatting Error"); Common.Exception(name, e); return; } XmlDbTable table = data.Tables[suffix]; if ((table != null) && (table.Rows != null)) { Dictionary <ResourceKey, bool> allParts = new Dictionary <ResourceKey, bool>(); BooterLogger.AddTrace(name + " PartSearch"); PartSearch search = new PartSearch(); foreach (CASPart part in search) { if (allParts.ContainsKey(part.Key)) { continue; } allParts.Add(part.Key, true); } search.Reset(); BooterLogger.AddTrace(name + " Rows"); foreach (XmlDbRow row in table.Rows) { try { OutfitCategories categories; if (!row.TryGetEnum <OutfitCategories>("Categories", out categories, OutfitCategories.All)) { BooterLogger.AddError(suffix + " Unknown Categories: " + row.GetString("Categories")); continue; } /* * ProductVersion productVersion = ProductVersion.Undefined; * if (row.Exists("ProductVersion")) * { * if (!row.TryGetEnum<ProductVersion>(row["ProductVersion"], out productVersion, ProductVersion.Undefined)) * { * BooterLogger.AddError(suffix + " Unknown WorldTypes: " + row.GetString("WorldTypes")); * continue; * } * } */ List <WorldType> worldTypes = new List <WorldType>(); if (row.Exists("WorldTypes")) { if (!ParserFunctions.TryParseCommaSeparatedList <WorldType>(row["WorldTypes"], out worldTypes, WorldType.Undefined)) { BooterLogger.AddError(suffix + " Unknown WorldTypes: " + row.GetString("WorldTypes")); continue; } } OutfitCategoriesExtended extended = OutfitCategoriesExtended.ValidForRandom; if (row.Exists("Extended")) { if (!row.TryGetEnum <OutfitCategoriesExtended>("Extended", out extended, OutfitCategoriesExtended.ValidForRandom)) { BooterLogger.AddError(suffix + " Unknown Extended: " + row.GetString("Extended")); continue; } } CASAgeGenderFlags age; if (!row.TryGetEnum <CASAgeGenderFlags>("Age", out age, CASAgeGenderFlags.AgeMask)) { BooterLogger.AddError(suffix + " Unknown Age: " + row.GetString("Age")); continue; } CASAgeGenderFlags gender; if (!row.TryGetEnum <CASAgeGenderFlags>("Gender", out gender, CASAgeGenderFlags.GenderMask)) { BooterLogger.AddError(suffix + " Unknown Gender: " + row.GetString("Gender")); continue; } CASAgeGenderFlags species = CASAgeGenderFlags.Human; if (row.Exists("Species")) { if (!row.TryGetEnum <CASAgeGenderFlags>("Species", out species, CASAgeGenderFlags.Human)) { BooterLogger.AddError(suffix + " Unknown Species: " + row.GetString("Species")); continue; } } BodyTypes type = BodyTypes.None; if (!string.IsNullOrEmpty(row.GetString("BodyType"))) { if (!row.TryGetEnum <BodyTypes>("BodyType", out type, BodyTypes.None)) { BooterLogger.AddError(suffix + " Unknown BodyTypes: " + row.GetString("BodyType")); continue; } } ResourceKey key = ResourceKey.kInvalidResourceKey; List <InvalidPartBase> tests = null; if (type == BodyTypes.None) { ulong instance = row.GetUlong("Instance"); if (instance == 0) { BooterLogger.AddError(suffix + " Invalid Instance " + row.GetString("Key")); continue; } uint group = row.GetUInt("Group"); key = new ResourceKey(instance, 0x034aeecb, group); if (!allParts.ContainsKey(key)) { BooterLogger.AddError(suffix + " Key not found: " + key); continue; } if (!partsByKey.TryGetValue(key, out tests)) { tests = new List <InvalidPartBase>(); partsByKey.Add(key, tests); } } else { if (!partsByType.TryGetValue(type, out tests)) { tests = new List <InvalidPartBase>(); partsByType.Add(type, tests); } } TYPE newPart = new TYPE(); newPart.Set(categories, worldTypes, extended, age, gender, species); tests.Add(newPart); } catch (Exception e) { string setDump = suffix; foreach (string column in row.ColumnNames) { setDump += Common.NewLine + column + " = " + row.GetString(column); } Common.Exception(setDump, e); } } BooterLogger.AddTrace(suffix + " Parts By Key Added: " + partsByKey.Count); BooterLogger.AddTrace(suffix + " Parts By Type Added: " + partsByType.Count); } }