Example #1
0
        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();
        }
Example #2
0
        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();
        }
Example #3
0
 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();
     }
 }
Example #4
0
 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();
     }
 }
Example #5
0
        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);
            }
        }
Example #6
0
        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);
        }
Example #7
0
        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();
        }
Example #9
0
        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);
            }
        }