示例#1
0
 private static bool ConditionMet(string condition)
 {
     if (string.IsNullOrEmpty(condition))
     {
         return(false);
     }
     if (condition != null)
     {
         if (condition == "ownsArmory")
         {
             return(ArmoryUtils.PlayerHasArmory());
         }
         if (condition == "hasAvailableEquipment")
         {
             return(CrateUtils.PlayerHasEquipmentAvailable());
         }
     }
     if (condition.StartsWith("hq"))
     {
         string value = condition.Substring("hq".Length);
         int    level = Convert.ToInt32(value);
         return(CrateUtils.PlayerHasAtLeastHqLevel(level));
     }
     return(false);
 }
示例#2
0
        public static bool HasVisibleCrateStoreItems()
        {
            StaticDataController staticDataController = Service.StaticDataController;

            foreach (CrateVO current in staticDataController.GetAll <CrateVO>())
            {
                if (CrateUtils.IsVisibleInStore(current))
                {
                    return(true);
                }
            }
            return(false);
        }
示例#3
0
 public static bool AllConditionsMet(string[] conditions)
 {
     if (conditions == null || conditions.Length == 0)
     {
         return(true);
     }
     for (int i = 0; i < conditions.Length; i++)
     {
         if (!CrateUtils.ConditionMet(conditions[i]))
         {
             return(false);
         }
     }
     return(true);
 }
示例#4
0
 public static bool IsPurchasableInStore(CrateVO crateTier)
 {
     return(crateTier.Purchasable && CrateUtils.AllConditionsMet(crateTier.StorePurchasableConditions));
 }
示例#5
0
 public static bool IsVisibleInStore(CrateVO crateVO)
 {
     return(crateVO.Purchasable && CrateUtils.AllConditionsMet(crateVO.StoreVisibilityConditions));
 }
示例#6
0
 public unsafe static long $Invoke6(long instance, long *args)
 {
     return(GCHandledObjects.ObjectToGCHandle(CrateUtils.PlayerHasEquipmentAvailable()));
 }
示例#7
0
 public unsafe static long $Invoke5(long instance, long *args)
 {
     return(GCHandledObjects.ObjectToGCHandle(CrateUtils.PlayerHasAtLeastHqLevel(*(int *)args)));
 }
示例#8
0
 public unsafe static long $Invoke4(long instance, long *args)
 {
     return(GCHandledObjects.ObjectToGCHandle(CrateUtils.IsVisibleInStore((CrateVO)GCHandledObjects.GCHandleToObject(*args))));
 }
示例#9
0
 public unsafe static long $Invoke2(long instance, long *args)
 {
     return(GCHandledObjects.ObjectToGCHandle(CrateUtils.HasVisibleCrateStoreItems()));
 }
示例#10
0
 public unsafe static long $Invoke1(long instance, long *args)
 {
     return(GCHandledObjects.ObjectToGCHandle(CrateUtils.ConditionMet(Marshal.PtrToStringUni(*(IntPtr *)args))));
 }
示例#11
0
 public unsafe static long $Invoke0(long instance, long *args)
 {
     return(GCHandledObjects.ObjectToGCHandle(CrateUtils.AllConditionsMet((string[])GCHandledObjects.GCHandleToPinnedArrayObject(*args))));
 }