public void InitTxmRender(ITU_TmxRootMeta _mapMeta, ITU_RenderSetting _renderSetting, List <ITU_ExtensionBase> _allExtensionList)
        {
            SORT_INDEX          = 1;
            mAllLayerRenderList = new List <ITU_LayerRenderBasic>();

            mMapMeta       = _mapMeta;
            mRenderSetting = _renderSetting;
            mTxmMapGo      = new GameObject {
                name = _mapMeta.fileName
            };

            mMapMeta.tilsetList.ForEach(x => x.isUesdInRender = false);

            var nowOffsetZ = 0f;

            foreach (var layerMeta in _mapMeta.layerList)
            {
                if (_renderSetting.ignoreRenderLayerNameList.Contains(layerMeta.layerName))
                {
                    continue;
                }
                var render = new ITU_IsoLayerRender();
                render.InitRenderProperty(layerMeta, mMapMeta, mTxmMapGo, mRenderSetting, nowOffsetZ, _allExtensionList);
                nowOffsetZ -= mRenderSetting.layerOffsetZ;
                mAllLayerRenderList.Add(render);
            }
        }
示例#2
0
        public ITU_TmxRootMeta LoadTxmFile(string _fileFullPath)
        {
            var tmxFile = XDocument.Load(_fileFullPath);

            mMapMeta = new ITU_TmxRootMeta();
            mMapMeta.Deserialize(tmxFile.Root, _fileFullPath);
            return(mMapMeta);
        }
        public void InitRenderProperty(ITU_TmxLayerMeta _layerMeta, ITU_TmxRootMeta _mapMeta, GameObject _mapRootGo, ITU_RenderSetting _renderSetting, float _offsetZ,
                                       List <ITU_ExtensionBase> _allExtensionList)
        {
            mLayerMeta        = _layerMeta;
            mMapMeta          = _mapMeta;
            mRenderSetting    = _renderSetting;
            mAllExtensionList = _allExtensionList;

            mLayerRootGo = new GameObject(mLayerMeta.layerName);
            mLayerRootGo.transform.parent        = _mapRootGo.transform;
            mLayerRootGo.transform.localPosition = new Vector3(mLayerMeta.offsetX / mRenderSetting.pixelsPreUnit, -mLayerMeta.offsetY / mRenderSetting.pixelsPreUnit, _offsetZ);

            DoInitRenderProperty();
        }
        /// <summary>
        /// 根据在当前地图中指定的Gid,返回其所对应的TileMeta
        /// </summary>
        public static ITU_TsxEachTileMeta GetTileMetaByGid(ITU_TmxRootMeta _mapMeta, int _gid)
        {
            foreach (var tilesetMeta in _mapMeta.tilsetList)
            {
                foreach (var tileMeta in tilesetMeta.eachTileMetaList)
                {
                    if (tileMeta.gid == _gid)
                    {
                        return(tileMeta);
                    }
                }
            }

            throw new Exception(string.Format("Can't find tile meta with gid {0} in Txm file {1}", _gid, _mapMeta.fileName));
        }
示例#5
0
 public void SetTmxMapMeta(ITU_TmxRootMeta _mapMeta)
 {
     mMapMeta = _mapMeta;
 }