Esempio n. 1
0
        public bool IsReady(GameItemInfo gameItem)
        {
            Initialize();
            ResourceGameItem item = gameItem as ResourceGameItem;

            if (item != null)
            {
                return(true);
            }
            AssetBundleGameItem assetBundleGameItem = gameItem as AssetBundleGameItem;

            if (assetBundleGameItem != null)
            {
                if (_assetBundles.ContainsKey(assetBundleGameItem.AssetBundle))
                {
                    return(_assetBundles[assetBundleGameItem.AssetBundle].LoadAsset(assetBundleGameItem.ItemName));
                }
                if (!IsAssetBundleDownloaded(assetBundleGameItem.AssetBundle))
                {
                    return(false);
                }
                return(true);
            }
            return(true);
        }
Esempio n. 2
0
        public Object Resolve(GameItemInfo gameItem)
        {
            Initialize();
            ResourceGameItem item = gameItem as ResourceGameItem;

            if (item != null)
            {
                return(Resources.Load(item.Address));
            }
            AssetBundleGameItem assetBundleGameItem = gameItem as AssetBundleGameItem;

            if (assetBundleGameItem != null)
            {
                if (_assetBundles.ContainsKey(assetBundleGameItem.AssetBundle))
                {
                    return(_assetBundles[assetBundleGameItem.AssetBundle].LoadAsset(assetBundleGameItem.ItemName));
                }
                if (!IsAssetBundleDownloaded(assetBundleGameItem.AssetBundle))
                {
                    throw new Exception(string.Format("Asset bundle {0} is not downloaded", assetBundleGameItem.AssetBundle));
                }
                Uri bundleServerAddress             = GetBundleServerAddress(assetBundleGameItem.AssetBundle);
                UnityEngine.AssetBundle assetBundle =
                    UnityEngine.AssetBundle.LoadFromFile(
                        InfoResolver.Resolve <FortInfo>()
                        .ServerConnectionProvider.UserConnection.LoadFromCache(bundleServerAddress));
                _assetBundles[assetBundleGameItem.AssetBundle] = assetBundle;
                return(assetBundle.LoadAsset(assetBundleGameItem.ItemName));
            }
            return((Object)gameItem.GetType().GetProperty("GameItem").GetValue(gameItem, new object[0]));
        }
Esempio n. 3
0
    public LootAction a(int A_0)
    {
        if (this.a == null)
        {
            return(LootAction.NoLoot);
        }
        GameItemInfo item = new GameItemInfo(A_0);

        if (!item.IsValid)
        {
            return(LootAction.NoLoot);
        }
        try
        {
            return(this.a.a.GetLootDecision(item));
        }
        catch
        {
            return(LootAction.NoLoot);
        }
    }
Esempio n. 4
0
    public bool b(int A_0)
    {
        if (this.a == null)
        {
            return(false);
        }
        GameItemInfo item = new GameItemInfo(A_0);

        if (!item.IsValid)
        {
            return(false);
        }
        try
        {
            return(this.a.a.DoesPotentialItemNeedID(item));
        }
        catch
        {
            return(false);
        }
    }
 public ComputedItemInfo(GameItemInfo gameItemInfo)
 {
     this.gameItemInfo = gameItemInfo;
 }