コード例 #1
0
        public ArkTribeLogPlayerTarget tribePlayerTarget; //Who did it

        public ArkTribeLogEntry_Tamed(string content, List <ArkPlayerProfile> playerProfiles, List <ArkDinosaur> globalDinos, int tribeId, OnFindSteamProfile steamCallback)
        {
            //Grab the groups with the regex
            GroupCollection gc = GetRegexGroups(content, ArkTribeLogEntry.REGEX_TAMED);

            //Resolve targets
            tribePlayerTarget = TryFindPlayerProfile(gc[1].Value, playerProfiles, tribeId, true, steamCallback);
            tamedTarget       = TryFindDinoProfile(gc[2].Value, int.Parse(gc[3].Value), gc[4].Value, tribeId, globalDinos, true);

            //Set vars
            priority = ArkTribeLogEntryPriority.Low;
            type     = ArkTribeLogEntryType.TribeTamedDino;
        }
コード例 #2
0
        public static ArkTribeLogPlayerOrDinoTarget TryFindDinoOrPlayerProfile(Group name, Group level, Group classname, List <ArkPlayerProfile> playerProfiles, List <ArkDinosaur> globalDinos, int tribeId, bool isWild, OnFindSteamProfile steamCallback)
        {
            //Try to find a player first, then try a dino.
            try
            {
                string nameString = name.Value;
                if (nameString.StartsWith("Tribemember "))
                {
                    nameString = nameString.Substring("Tribemember ".Length);
                }
                ArkTribeLogPlayerTarget t = TryFindPlayerProfile(nameString, playerProfiles, tribeId, false, steamCallback);
                if (t.found)
                {
                    return(new ArkTribeLogPlayerOrDinoTarget
                    {
                        isDino = false,
                        player = t
                    });
                }
            } catch
            {
            }

            //Player check failed. Try a dino now.
            ArkTribeLogDinoTarget dt;

            if (isWild)
            {
                dt = TryFindWildDinoProfile(int.Parse(level.Value), name.Value.Trim(' ').Trim('(').Trim(')').Split(')')[0], globalDinos);
            }
            else
            {
                dt = TryFindDinoProfile(name.Value, int.Parse(level.Value), classname.Value.Trim(' ').Trim('(').Trim(')').Split(')')[0], tribeId, globalDinos, false);
            }
            return(new ArkTribeLogPlayerOrDinoTarget
            {
                isDino = true,
                dino = dt
            });
        }