Beispiel #1
0
        /// <summary>
        /// 同步加载资源
        /// </summary>
        /// <param name="_assetName"></param>
        /// <returns></returns>
        /// <exception cref="NotImplementedException"></exception>
        public IResResponse LoadAsset(string _assetName)
        {
            string path = GetAssetPathByName(_assetName);

            if (true == string.IsNullOrEmpty(path))
            {
                return(null);
            }

            if (true == resResponseDic.ContainsKey(_assetName))
            {
                return(resResponseDic[_assetName]);
            }

            UnityEngine.Object obj = null;
#if UNITY_EDITOR
            obj = AssetDatabase.LoadAssetAtPath <UnityEngine.Object>(path);
#endif
            if (null != obj)
            {
                IResResponse resResponse = new ResResponse(obj)
                {
                    SourceDataName = _assetName
                };
                resResponseDic.Add(_assetName, resResponse);
                return(resResponse);
            }

            return(null);
        }
Beispiel #2
0
        public int Call_GetPlayerRes(ResRequest request)
        {
            var         player   = CurrentSession.GetBind <Player>();
            ResResponse response = new ResResponse();

            response.success   = true;
            response.pid       = player.Id;
            response.level     = player.Level;
            response.nickyName = player.NickName;
            response.icon      = player.Icon;
            response.exp       = player.Exp;
            response.renameCnt = player.RenameNumb;
            response.vip       = player.VIP;

            //检查每日刷新
            if (player.LastDayRefreshTime.Date != DateTime.Today)
            {
                //需要刷新
                OnPlayerEverydayRefresh(player);

                player.LastDayRefreshTime = DateTime.Today;
                _db.SaveChanges();
            }

            response.resInfos = new List <ResInfo>();
            for (int ct = 1; ct <= CurrencyType.MAX_TYPE; ct++)
            {
                response.resInfos.Add(new ResInfo()
                {
                    type  = ct,
                    count = player.Wallet.GetCurrency(ct)
                });
            }

            //一些配置表的内容
            response.nextExp       = _dlevels[player.Level].exp;
            response.resistMaxWave = 1;
            response.preExp        = player.Level == 1 ? 0:  _dlevels[player.Level - 1].exp;
            CurrentSession.SendAsync(response);
            return(0);
        }
    /// <summary>
    /// 创建一个ResResponse
    /// </summary>
    /// <param name="_assetName"></param>
    /// <param name="_assetObject"></param>
    /// <returns></returns>
    private ResResponse CreateResResponse(string _assetName, Object _assetObject)
    {
        if (null != _assetObject)
        {
#if UNITY_EDITOR
            if (true == _assetObject is GameObject)
            {
                RefershMaterial((GameObject)_assetObject);  // 刷新材质球
            }
#endif
            var resResponse = new ResResponse(_assetObject)
            {
                SourceDataName = _assetName
            };
            if (false == resResponseCache.ContainsKey(_assetName))
            {
                resResponseCache.Add(_assetName, resResponse);
            }

            return(resResponse);
        }
        return(null);
    }