Exemplo n.º 1
0
    public void FindAttackRange()
    {
        GraphSearch mSearch = new GraphSearch(mTileMap.MapInfo.mGraph);

        mSearch.AttackRange(mPositionX, mPositionY, mRange);
        mAttackRangeList = mSearch.GetCloseList();
        //int positionIndex = mTileMap.MapInfo.XYToIndex (mPositionX, mPositionY);
        mAttackRangeList.RemoveAt(0);
        foreach (Node i in mAttackRangeList)
        {
            int index = i.mIndex;
            DTileMap.TileType temp = mTileMap.MapInfo.GetTileTypeIndex(index);
            if (temp == DTileMap.TileType.Player1)
            {
                mAttackList.Add(DTileMap.TileType.Player1);
                mAttackPosition.Add(mTileMap.MapInfo.GetTileLocationIndex(index));
            }
            else if (temp == DTileMap.TileType.Player2)
            {
                mAttackList.Add(DTileMap.TileType.Player2);
                mAttackPosition.Add(mTileMap.MapInfo.GetTileLocationIndex(index));
            }
            else if (temp == DTileMap.TileType.Player3)
            {
                mAttackList.Add(DTileMap.TileType.Player3);
                mAttackPosition.Add(mTileMap.MapInfo.GetTileLocationIndex(index));
            }
            else if (temp == DTileMap.TileType.Player4)
            {
                mAttackList.Add(DTileMap.TileType.Player4);
                mAttackPosition.Add(mTileMap.MapInfo.GetTileLocationIndex(index));
            }
            else if (temp == DTileMap.TileType.Target1)
            {
                mAttackList.Add(DTileMap.TileType.Target1);
                mAttackPosition.Add(mTileMap.MapInfo.GetTileLocationIndex(index));
            }
            else if (temp == DTileMap.TileType.Target2)
            {
                mAttackList.Add(DTileMap.TileType.Target2);
                mAttackPosition.Add(mTileMap.MapInfo.GetTileLocationIndex(index));
            }
            else if (temp == DTileMap.TileType.Target3)
            {
                mAttackList.Add(DTileMap.TileType.Target3);
                mAttackPosition.Add(mTileMap.MapInfo.GetTileLocationIndex(index));
            }
        }
    }