Пример #1
0
 public AbstractAI(Bot bot, MapPattern pattern)
 {
     this.Bot      = bot;
     this.Pattern  = pattern;
     this.Summoner = new Summoner(bot);
     this.Side     = Pattern.GetSide();
 }
Пример #2
0
 public AIHowlingAbyss(Bot bot, MapPattern pattern) : base(bot, pattern)
 {
 }
Пример #3
0
 public AITFT(Bot bot, MapPattern pattern) : base(bot, pattern)
 {
 }
Пример #4
0
    public void Set_Manager(GameManager gamemanager)  //Awake에 해당한다. 시작시 호출
    {
        this.GameManager = gamemanager;
        PlayerManager    = GameManager.PlayerManager; //게임 매니저로 부터 Manager를 받아온다
        CameraManager    = GameManager.CameraManager;

        ShadowCast = new ShadowCast(this); //전장의 안개
        A_Star     = new A_Star(this);     //A*알고리즘
        MapPattern = new MapPattern(this); //맵 패턴 함수
        MapHightLight.Set_Map(this);
        Tile_Event.Set_Map(this);

        VisibleOctants = new List <int>()
        {
            1, 2, 3, 4, 5, 6, 7, 8
        };
        Map_Gimmick_List = new List <GameObject>();
        Pooling_Count    = 15;
        Tiles            = new Tile_Obj[Pooling_Count, Pooling_Count];
        MapSize          = 64;
        VisualRange      = 5;
        roomMin          = 6;
        roomMax          = 13;

        if (GameManager.Get_GameData() != null)    //게임 데이터가 있을때 Load 해준다
        {
        }
        else                    //게임 데이터가 없을때 시작
        {
            Current_Stage = 1;
            MapData       = new Tile[MapSize + 1, MapSize + 1];
            RoomData_List = new List <RoomData>();

            BuildMap();                     //맵 정보 생성
        }

        for (int i = 0; i < Pooling_Count; i++)                //풀링 Object 할당
        {
            for (int j = 0; j < Pooling_Count; j++)
            {
                Tiles[i, j] = Tile_Objs.transform.GetChild(Get_Array_Count(i, j)).GetComponent <Tile_Obj>();
                Tiles[i, j].Set_Tile(this, new Array_Index(i, j));
            }
        }

        //while(GetTile(6, 6).Tile_Sort.TileBase == eTileBase.NULL ||
        //    GetTile(57, 57).Tile_Sort.TileBase == eTileBase.NULL ||
        //    GetTile(6, 6).Tile_Sort.TileObject == eTileObject.WALL ||
        //    GetTile(57, 57).Tile_Sort.TileObject == eTileObject.WALL)
        //{
        //    MapData = new Tile[MapSize + 1, MapSize + 1];


        //    BuildMap();
        //}



        //Update_TT();
        Update_Sight();
        Update_Tiles();                   //맵 정보를 기반으로 Tile 업데이트
        MapTarget.Set_Map(this);
        //link();
    }