public AsyncListCreater(ScrollRect scrollRect, T pfb, Direction dir) { Debug.Assert(scrollRect); Debug.Assert(pfb); this.scrollRect = scrollRect; this.pfb = pfb; pfb.gameObject.SetActive(false); _objectPool = new ObjectPool <T>(scrollRect.content, pfb); _contentCtrl = new ContentCtrl <T>(scrollRect, pfb.GetComponent <RectTransform>(), dir); _scrollCtrl = new ScrollCtrl <T>(scrollRect, dir); }
protected override void Start() { SC = GameObject.FindWithTag("ScrollCtrl").GetComponent <ScrollCtrl>(); parentScrollRect = GameObject.FindWithTag("ScrollCtrl").GetComponent <ScrollRect>(); }
//-2.6 ~ 2.7간격 7개 //-2 / -.65 / 0.7 / 2.05 //y = 2.7 //if y == -8 reset // Use this for initialization void Start() { //캐쉬 및 초기화 dataManager = DataManager.Instance; tileSetCnt = dataManager.tileSetCnt; #if UNITY_EDITOR if (playerSide == ePlayerSide.None) { Debug.Log("[ERROR]TileManager : playerSide가 None입니다"); } if (tileSetCnt == -1) { Debug.Log("[ERROR]TileManager : tileSetCnt가 초기화 되지 않았습니다."); } #endif tileSetsObjects = new GameObject[tileSetCnt]; prefabTileSets = new GameObject[tileSetCnt]; rootTileSets = playerSide == ePlayerSide.Player1 ? dataManager.player1RootTileSets : dataManager.player2RootTileSets; ///////////////////// //타일셋 설정 { for (int i = 0; i < tileSetCnt; i++) { tileSetsObjects[i] = rootTileSets.transform.FindChild(string.Format("TileSets{0}", i)).gameObject; prefabTileSets[i] = Resources.Load(string.Format("Prefabs/TileSet/TileSet{0}", i)) as GameObject; #if UNITY_EDITOR if (tileSetsObjects[i] == null) { Debug.Log(string.Format("TileSets{0} 를 찾을 수 없습니다.", i)); } if (prefabTileSets[i] == null) { Debug.Log(string.Format("Prefabs/TileSet/TileSet{0} 을 찾을 수 없습니다.", i)); } #endif } } ///////////////////////// /* * //셈플 타일셋 삭제 * { * for (int i = 0; i < tileSetCnt; i++) * { * Debug.Log(tileSetsObjects[i].transform.GetChild(0)); * Destroy(tileSetsObjects[i].transform.GetChild(0)); * } * } * ////////////////////////// */ //타일셋 프리로드 { GameObject tileSet = null; TileSetCtrl tileSetCtrl = null; ScrollCtrl scrollCtrl = null; for (int i = 0; i < tileSetCnt; i++) { for (int j = 0; j < dataManager.preloadTileCnt; j++) { tileSet = Instantiate(prefabTileSets[i], transform.position, Quaternion.identity); tileSet.transform.parent = tileSetsObjects[i].transform; tileSetCtrl = tileSet.GetComponent <TileSetCtrl>(); tileSetCtrl.EventDisableTile += OnDisableTile; scrollCtrl = tileSet.GetComponent <ScrollCtrl>(); scrollCtrl.playerSide = playerSide; tileSet.SetActive(false); } } } //////////////////////// //초기 바닥 설정 { Transform tileSet = null; //0.1 ~ 2.7씩증가 기본배치 for (int i = 0; i < dataManager.preloadTileCnt; i++) { tileSet = tileSetsObjects[0].transform.GetChild(i); tileSet.localPosition = new Vector3(0, -2.6f + (2.7f * i), 0f); tileSet.gameObject.SetActive(true); } lastTileTransform = tileSetsObjects[0].transform.GetChild(dataManager.preloadTileCnt - 1); } //게임시작을 가정 }