public void Load(BinaryReader reader)
    {
        ClearPath();
        ClearUnits();
        int x, z;

        x = reader.ReadInt32();
        z = reader.ReadInt32();
        if (x != cellCountX || z != cellCountZ)
        {
            if (!CreateMap(x, z))
            {
                return;
            }
        }

        for (int i = 0; i < cells.Length; i++)
        {
            cells[i].Load(reader);
        }
        for (int i = 0; i < chunks.Length; i++)
        {
            chunks[i].Refresh();
        }


        int unitCount = reader.ReadInt32();

        for (int i = 0; i < unitCount; i++)
        {
            HexUnit_Script.Load(reader, this);
        }
    }
 public void AddUnit(HexUnit_Script unit, HexCell_Script location, float orientation)
 {
     units.Add(unit);
     unit.transform.SetParent(transform, false);
     unit.Location    = location;
     unit.Orientation = orientation;
 }
 void DoSelection()
 {
     grid.ClearPath();
     UpdateCurrentCell();
     if (currentCell)
     {
         selectedUnit = currentCell.Unit;
     }
 }
 public void RemoveUnit(HexUnit_Script unit)
 {
     units.Remove(unit);
     unit.Die();
     unit.Die();
 }