Exemple #1
0
    /// <summary>
    /// 测试动态挡格,以tile为中心5 * 5的添加动态挡格
    /// </summary>
    /// <param name="tile"></param>
    /// <returns></returns>
    public float TestRemoveBlock(MapTile tile)
    {
        List <MapTile> l = new List <MapTile>();

        if (TileHelp.GetAreaTile(tile.Pos, 2, false, ref l) == true)
        {
            MapChangeManger.UnBlockTile(l);
        }
        Stopwatch sw = new Stopwatch();

        sw.Start();
        MapChangeManger.InputChanges();
        sw.Stop();
        return(sw.ElapsedTicks / 10000.0f);
    }
Exemple #2
0
    /// <summary>
    /// 测试动态挡格,以tile为中心5 * 5的添加动态挡格
    /// </summary>
    /// <param name="tile"></param>
    /// <returns></returns>
    public float TestAddBlock(MapTile tile)
    {
        List <MapTile> l = new List <MapTile>();

        if (TileHelp.GetAreaTile(tile.Pos, 2, false, ref l) == true)
        {
            MapChangeManger.BlockTile(l);
        }
        Stopwatch sw = new Stopwatch();

        sw.Start();
        Profiler.BeginSample("TestMethod");
        MapChangeManger.InputChanges();
        Profiler.EndSample();
        sw.Stop();
        return(sw.ElapsedTicks / 10000.0f);
    }
Exemple #3
0
    private void Inputs()
    {
        Vector3 s = PathFind.instance.GetMousePosition();

        if (s == Vector3.up)
        {
            return;
        }
        MapTile tile = PathFind.instance.m_map.GetMapTile(s);

        if (tile != null)
        {
            if (Input.GetMouseButtonDown(0) && Input.mousePosition.y < Screen.height - 200)
            {
                if (m_operation == (int)operation.AddUnit)
                {
                    AddUnit(tile);
                }
                else if (m_operation == (int)operation.SearchPath)
                {
                    if (m_DicUnits.ContainsKey(m_SelUnitKey) == true)
                    {
                        PathFind.instance.FindPaths(tile, m_DicUnits[m_SelUnitKey]);
                    }
                }
                else if (m_operation == (int)operation.AddBlock)
                {
                    if (CheckAddObstacles(tile) == true)
                    {
                        //m_operation = (int)operation.MoveMap;
                        MapChangeManger.InputChanges();
                    }
                }
                else if (m_operation == (int)operation.RemoveBlock)
                {
                    if (CheckRemoveObstacles(tile) == true)
                    {
                        //m_operation = (int)operation.MoveMap;
                        MapChangeManger.InputChanges();
                    }
                }
            }
        }
    }