public void Initialize(int maxValue, int value) { this.maxValue = int.MinValue; this.value = int.MinValue; if (isInitialized) { SetMaxValue(maxValue); SetValue(value); return; } isInitialized = true; toggles = new List <Toggle>(); // Pool prefab.gameObject.SetActive(false); pool = new LocalObjectPool <Toggle>(prefab, transform, maxValue, toggle => toggle.transform.SetParent(transform, false)); SetMaxValue(maxValue); SetValue(value); Canvas.ForceUpdateCanvases(); gameObject.SetActive(false); gameObject.SetActive(true); hlg.enabled = false; hlg.enabled = true; }
public void SetTowerCount(int towerCount) { towerCards = new List <TowerCard>(); foreach (var id in TowerTable.GetTowerIds().Take(towerCount)) { TowerCard card = new TowerCard(); var status = TowerTable.GetStatus(id); card.id = id; card.prefab = (Tower)status.prefab; card.sprite = status.sprite; card.cost = status.cost; towerCards.Add(card); } prefabs = new Dictionary <TowerCard, Tower>(); towerPools = new Dictionary <TowerCard, LocalObjectPool <Tower> >(); foreach (var card in towerCards) { Transform towerHolder = new GameObject($"Tower Pool ({card.id})").transform; LocalObjectPool <Tower> pool = new LocalObjectPool <Tower>( card.prefab, towerHolder, 5 ); prefabs.Add(card, card.prefab); towerPools.Add(card, pool); } cursor.gameObject.SetActive(false); }
protected override void Initialize() { AudioManager.PlayMusic(bgms[stageIndex - 1]); base.Initialize(); var stageData = StageTable.GetStageData(stageIndex); CostManager.instance.Earn(stageData.defaultCost); SummonTower.instance.SetTowerCount(stageData.towerCount); fieldGenerator.Generate(stageData.column, stageData.row); waveDatas = StageTable.GetStage(stageIndex); ghostPools = new Dictionary <string, LocalObjectPool <Ghost> >(); HashSet <string> ghostIds = new HashSet <string>( from wave in waveDatas from data in wave select data.id ); foreach (var id in ghostIds) { Ghost prefab = (Ghost)GhostTable.GetStatus(id).prefab; var holder = new GameObject($"{id} Holder").transform; var pool = new LocalObjectPool <Ghost>(prefab, holder, 15); ghostPools.Add(id, pool); } StartCoroutine(Staging()); }
public void Initialize() { if (isInitialized) { return; } isInitialized = true; pool = new LocalObjectPool <Text>(textPrefab, textHolder, preSpawnCount); }
protected override void Initialize() { pool = new LocalObjectPool <Effect>(prefab, transform, 10); }
private void Awake() { bulletPool = new LocalObjectPool <Bullet>(bulletPrefab, transform, 3, b => b.transform.SetParent(transform)); }