Ejemplo n.º 1
0
        /// <summary>
        /// 地图初始化
        /// </summary>
        /// <returns></returns>
        public IEnumerator Init()
        {
            //初始化地图
            //yield return new WaitForEndOfFrame();
            var tileRowNum    = mMapHeight / mTileSize;
            var tileColumnNum = mMapWidth / mTileSize;
            var time          = new Stopwatch();

            time.Start();
            for (var i = 0; i < tileColumnNum; i++)
            {
                for (var j = 0; j < tileRowNum; j++)
                {
                    //var tile = Utils.CreateGameObject(mTileItem, mEditorLayer, new Vector3(mTileSize * i, -mTileSize * j, 0)).GetComponent<TileItem>();
                    var go = Instantiate(mTileItem);
                    go.transform.SetParent(LandformLayer);
                    go.transform.localScale = Vector3.one;
                    go.SetLayer(LandformLayer.gameObject.layer, true);
                    go.GetComponent <RectTransform>().anchoredPosition3D = new Vector3(mTileSize * i, -mTileSize * j, 0);
                    var tileItem = go.AddComponent <TileItem>();
                    StartCoroutine(tileItem.SetData(i, j));

                    TilesManager.TileItemDicts.Add(new Vector2(i, j), tileItem);
                }
            }
            Debug.Log("time:" + (time.ElapsedMilliseconds));

            //初始化工人
            TileItem item = TilesManager.GetTileItem(75, 50);

            //mTileItemDicts.TryGetValue(new Vector2(75, 50), out item);

            WorkerManager.CreateWorker(RoleLayer, item);
            item = TilesManager.GetTileItem(76, 51);
            //mTileItemDicts.TryGetValue(new Vector2(76, 51), out item);
            WorkerManager.CreateWorker(RoleLayer, item);

            yield break;
        }