示例#1
0
 void SetupBuildingIcon(UnitTask Task)
 {
     if (Task._targetBuilding == null)
     {
         SetIcon(ConvertTaskToOrderType(Task._taskType));
         return;
     }
     CurrnetType = OrderVisualType.Build;
     _decal.Mat.SetTexture("_BaseColorMap", TileLibrary.Get().GetBuildingTexture((Tile.TileTypeID)Task._targetBuilding.GetID()));
     _decal.enabled = (CurrnetType != OrderVisualType.None);
 }
    void BuildGridWithSavedData()
    {
        _TileMap.NotifyLoading(true);
        _TileMap.DestroyGrid();
        _TileMap.SetGridSize(FileData.GridXSize, FileData.GridYSize);
        _TileMap.BuildTiles();
        int Itor = 0;

        for (int x = 0; x < _TileMap.GridXSize_; x++)
        {
            for (int y = 0; y < _TileMap.GridYSize_; y++)
            {
                _TileMap.UpdateTile(x, y, GetTile(FileData.Data[Itor]), true);
                Tile t = _TileMap.GetTileAtPos(x, y);
                FileData.Data[Itor].ApplySeralToTile(t);
                if (t.IgnoreBuild)
                {
                    int    tId  = t.GetID();
                    string tTag = t.tag;
                    if (t.GetComponent <Building>())
                    {
                        Vector2[] temp = t.GetComponent <Building>()._BuildingSize;
                        if (temp.Length > 0)
                        {
                            for (int i = 0; i < temp.Length; i++)
                            {
                                Tile OtherT = _TileMap.GetTileAtPos(x + (int)temp[i].x, y + (int)temp[i].y);
                                _TileMap.UpdateTile(OtherT.X, OtherT.Y, TileLibrary.Get().GetTilePrefab(OtherT.GetOldID()));
                            }
                        }
                    }
                    _TileMap.ClearTile(x, y);
                    t = _TileMap.GetTileAtPos(x, y);
                    t.SetID(tId);
                    t.tag         = tTag;
                    t.IgnoreBuild = true;
                }
                t.TileStart();
                //UpdateBuilding(t);
                Itor++;
            }
        }
        _TileMap.BroadcastGridCreate();
        _TileMap.NotifyLoading(false);
    }
示例#3
0
 void SetIcon(OrderVisualType Type)
 {
     CurrnetType = Type;
     _decal.Mat.SetTexture("_BaseColorMap", TileLibrary.Get().GetOrderIcon(CurrnetType));
     _decal.enabled = (Type != OrderVisualType.None);
 }