public void Spawn(Doll doll, int pos) { if (pos - 1 < 0) { return; } doll.Spawn(tiles[pos - 1].tr); tiles[pos - 1].doll = doll; }
/// <summary> /// 인형 스폰 /// </summary> /// <param name="doll"></param> /// <param name="selecter">인형을 스폰하는 셀렉터</param> public void Spawn(Doll doll, DollSelecter.Select selecter) { if (selecter.gridPos - 1 < 0) { return; } //셀렉터가 가르키는 타일에 이미 인형이 있으면 해당 타일의 인형을 디스폰 if (tiles[selecter.gridPos - 1].doll != null) { Despawn(selecter.gridPos); } //셀렉터에 인형의 초상화 설정 selecter.image.sprite = doll.profilePic; //인형 개별버프 초기화 ResetIndiBuff(); //모든 이미지오프 딜리게이트 실행 AllImageOff(); if (doll.go.activeSelf) { //스폰하려는 인형이 이미 다른타일에 있으면, 해당인형의 셀렉터의 초상화를 지움 doll.selecter.image.sprite = SingleTon.instance.nullButtonSprite; //이미 다른타일에 있는 인형을 스폰하고자하는 셀렉터의 위치로 옮김 MoveTo(doll.pos, selecter.gridPos, false); } else { //그렇지 않으면 일반 스폰 진행 doll.Spawn(tiles[selecter.gridPos - 1].tr); //인형의 Pos에 셀렉터의 gridPos 할당 doll.pos = selecter.gridPos; //해당 타일의 인형에 스폰한 인형, 셀렉터 할당 //해당 타일의 미니버프 설정 tiles[selecter.gridPos - 1].doll = doll; tiles[selecter.gridPos - 1].selecter = selecter; tiles[selecter.gridPos - 1].miniBuff.SetMiniBuff(doll.dollData); } //인형의 셀렉터에 스폰한 셀렉터 할당. doll.selecter = selecter; //전체 버프 계산 CalcBuff(); }