示例#1
0
        public static bool IsLikedTreat(Character character, Object item)
        {
            try
            {
                TreatItem treatItem = null;
                switch (character)
                {
                case Pet _:
                    treatItem = DataLoader.AnimalData.Pet;
                    break;

                case FarmAnimal farmAnimal:
                    treatItem = GetTreatItem(farmAnimal);
                    break;
                }
                if (treatItem != null)
                {
                    return(IsLikedTreat(treatItem, item));
                }
            }
            catch (Exception)
            {
                // ignored
            }
            return(false);
        }
示例#2
0
 public static int DaysUntilNextTreat(long id, TreatItem treatItem)
 {
     if (GetAnimalStatus(id).LastDayFeedTreat == null)
     {
         return(0);
     }
     return(GetAnimalStatus(id).LastDayFeedTreat.DaysSinceStart + treatItem.MinimumDaysBetweenTreats - SDate.Now().DaysSinceStart);
 }
示例#3
0
        public static int DaysUntilNextTreat(Character character, TreatItem treatItem)
        {
            SDate lastDayFeedTreat = character.GetLastDayFeedTreat();

            if (lastDayFeedTreat == null)
            {
                return(0);
            }
            return(lastDayFeedTreat.DaysSinceStart + treatItem.MinimumDaysBetweenTreats - SDate.Now().DaysSinceStart);
        }
示例#4
0
 private static void AddTreatIdsFromTreatItems(Dictionary <int, string> objects, TreatItem treatItem)
 {
     foreach (object likedTreat in treatItem.LikedTreats)
     {
         if (likedTreat is string s)
         {
             KeyValuePair <int, string> pair = objects.FirstOrDefault(o => o.Value.StartsWith(s + "/"));
             if (pair.Value != null)
             {
                 treatItem.LikedTreatsId.Add(pair.Key);
             }
         }
         else if (likedTreat is long l)
         {
             treatItem.LikedTreatsId.Add((int)l);
         }
         else if (likedTreat is int i)
         {
             treatItem.LikedTreatsId.Add(i);
         }
     }
 }
示例#5
0
 private static bool IsLikedTreat(TreatItem treatItem, Object item)
 {
     return(treatItem.LikedTreatsId.Contains(item.ParentSheetIndex) || treatItem.LikedTreatsId.Contains(item.Category) ||
            (item.ParentSheetIndex == 1720 && DataLoader.DgaApi != null &&
             treatItem.LikedTreats.Contains(DataLoader.DgaApi.GetDGAItemId(item))));
 }