protected override void Initialize(int maxHp, int damage, float attackSpeed) { base.Initialize(maxHp, damage, attackSpeed); var status = GhostTable.GetStatus(id); originSpeed = speed = status.speed; }
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()); }
protected override void Awake() { base.Awake(); var status = GhostTable.GetStatus(id); name = status.name; sprite = status.sprite; Initialize(status.hp, status.damage, status.attackSpeed); cost = status.cost; slows = new Dictionary <object, Tuple <float, float> >(); }
private IEnumerable <string> GetIds() => GhostTable.GetGhostIds();