コード例 #1
0
    public static NodePromise GenerateLootCrate(LootTableData lootTable, float minItemLevel, float Variance, float magicFind, int activeZoneMongoID = -1, CrateTypeData lootCrateType = null, Action <LootCrate> callback = null)
    {
        LootCrate lootCrate;

        if (lootCrateType == null)
        {
            CrateTypeData ctd = MathHelper.WeightedRandom(lootTable.crateType).Key;
            lootCrate = new LootCrate(lootTable.Identity, minItemLevel, Variance, ctd, magicFind);
        }
        else
        {
            lootCrate = new LootCrate(lootTable.Identity, minItemLevel, Variance, lootCrateType, magicFind);
        }

        lootCrate.ExplorationID = activeZoneMongoID;

        return(API.LootCrates.Add(lootCrate)
               .Then(res => {
            //dataMan.allLootCratesList.Add(lootCrate);
            if (callback != null)
            {
                callback(lootCrate);
            }
        })
               .Catch(err => {
            traceError("Could not generate a new LootCrate: " + GameAPIManager.GetErrorMessage(err));
        }));
    }
コード例 #2
0
 public LootCrate(string lootTableIdentity, float ItemLevel, float Variance, CrateTypeData CrateType, float MagicFind = 0f)
 {
     this.className         = "LootCrate";
     this.lootTableIdentity = lootTableIdentity;
     this.ItemLevel         = ItemLevel;
     this.Variance          = Variance;
     this.MagicFind         = MagicFind;
     this.CrateType         = CrateType;
 }
コード例 #3
0
 public static NodePromise GenerateLootCrate(string lootTableIdentity, float minItemLevel, float Variance, float magicFind, CrateTypeData lootCrateType = null, Action <LootCrate> callback = null)
 {
     return(GenerateLootCrate(
                dataMan.lootTableDataList.GetByIdentity(lootTableIdentity),
                minItemLevel,
                Variance,
                magicFind,
                lootCrateType: lootCrateType,
                callback: callback
                ));
 }