Ejemplo n.º 1
0
        private void InitMap()
        {
            Dictionary <int, LTInstanceNode> dataDic = LTInstanceMapModel.Instance.NodeDataHashDic;

            if (dataDic == null)
            {
                return;
            }
            List <LTInstanceNode> dataList = new List <LTInstanceNode>();

            int HeightCount = 4;
            int WidthCount  = 5;
            int yMax        = LTInstanceMapModel.Instance.CurNode.y + HeightCount;
            int xMax        = LTInstanceMapModel.Instance.CurNode.x + WidthCount;

            for (int y = LTInstanceMapModel.Instance.CurNode.y - HeightCount; y <= yMax; y++)
            {
                int hash_1 = y * 100;
                for (int x = LTInstanceMapModel.Instance.CurNode.x - WidthCount; x < xMax; x++)
                {
                    int            hash = hash_1 + x;
                    LTInstanceNode cell;
                    if (dataDic.TryGetValue(hash, out cell))
                    {
                        if (!cell.CanPass)
                        {
                            continue;
                        }
                        dataList.Add(cell);
                    }
                }
            }

            if (dataList == null || dataList.Count < 0)
            {
                return;
            }

            for (var i = 0; i < dataList.Count; ++i)
            {
                var node = dataList[i];
                LTInstanceRowCtrl row = null;
                if (rowCtrlDic.TryGetValue(node.y, out row))
                {
                    LTInstanceNodeTemp cell = null;
                    if (row.itemObjDic.TryGetValue(node.x, out cell))
                    {
                        cell.UpdateData(node);
                    }
                    else
                    {
                        row.CreateNodeFromCache(node);
                    }
                }
                else
                {
                    CreateRow(node);
                }
            }
        }
Ejemplo n.º 2
0
        private void InitMap()
        {
            Dictionary <int, LTInstanceNode> dataDic = LTInstanceMapModel.Instance.NodeDataHashDic;

            if (dataDic == null)
            {
                return;
            }
            List <LTInstanceNode> dataList = new List <LTInstanceNode>();

            foreach (var it in dataDic)
            {
                dataList.Add(it.Value);
            }

            if (dataList == null || dataList.Count < 0)
            {
                return;
            }

            for (var i = 0; i < dataList.Count; ++i)
            {
                var node = dataList[i];
                if (!node.CanPass)
                {
                    continue;
                }
                LTInstanceRowCtrl row = null;
                if (rowCtrlDic.TryGetValue(node.y, out row))
                {
                    LTInstanceNodeTemp cell = null;
                    if (row.itemObjDic.TryGetValue(node.x, out cell))
                    {
                        cell.UpdateData(node);
                    }
                    else
                    {
                        row.CreateNodeFromCache(node);
                    }
                }
                else
                {
                    CreateRow(node);
                }
            }
        }