/// <summary> /// 필드아이템인 별을 생성 및 초기화한다. /// </summary> /// <param name="currentStageInfo"> 난이도 정보 </param> void InitializeStar(CatchGameLevelMgr.StageInfo currentStageInfo) { _starPool.DeactivateAllStars(); CurrentStarCount = 0; _createdStarCount = 0; _stars = _starPool.GetStars(currentStageInfo.StarTypes); AppearStar(); }
/// <summary> /// 오브젝트 풀링 방식으로 양을 생성 및 초기화한다. /// </summary> /// <param name="stageInfo"> 난이도 정보 </param> /// <param name="genGrounds"> 양이 젠(생성)될 수 있는 게임오브젝트(ex 맵의 바닥) 배열</param> /// <returns> 생성된 양들을 참조하는 배열 </returns> GameObject[] ActivateSheep(CatchGameLevelMgr.StageInfo stageInfo, GameObject[] genGrounds) { int sheepCount = stageInfo.SheepInfos.Length; GameObject[] sheeps = new GameObject[sheepCount]; for (int i = 0; i < sheepCount; i++) { var currentSheepInfo = stageInfo.SheepInfos[i]; GameObject currentSheep = _sheepPool.GetAvalialbeObject(); currentSheep.SetActive(true); currentSheep.GetComponent <SheepController>().OnInit(currentSheepInfo, GetRandomPointOnGenGround(genGrounds)); sheeps[i] = currentSheep; } return(sheeps); }
/// <summary> /// 필드 몬스터인 양을 생성 및 초기화한다. /// </summary> /// <param name="currentStageEnv"> 맵 정보 </param> /// <param name="currentStageInfo"> 난이도 정보 </param> void InitializeSheep(CatchGameStageEnv currentStageEnv, CatchGameLevelMgr.StageInfo currentStageInfo) { _sheeps = ActivateSheep(currentStageInfo, currentStageEnv.GenGrounds); _initSheepCount = currentStageInfo.SheepInfos.Length; CurrentSheepCount = _initSheepCount; }