์†Œํ™˜ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ์—์„œ ์†Œํ™˜ ์ง€์ ์„ ์ €์žฅํ•˜๊ณ 

๊ฐ ์†Œํ™˜ ์ง€์ ์—์„œ ๊ทธ ๋ฆฌ์ŠคํŠธ์— ๋ณธ์ธ์ด ์žˆ์œผ๋ฉด ์ด์•Œ ์˜๊ฒŒ ๋งŒ๋“ค๊ณ  ์‹ถ์€๋ฐ

๋‹จ์ˆœ ๊ฐ์ฒด์ƒ์„ฑ ํ›„์— ๊ทธ ๋ฆฌ์ŠคํŠธ์— ์ ‘๊ทผํ•˜๋Š”๊ฑธ๋ก  ํ•ด๊ฒฐ์ด ์•ˆ๋˜๋Š” ๊ฒƒ ๊ฐ™์•„์„œ

์ด๊ฑธ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์ข‹์„๊นŒ?


EX) ์†Œํ™˜์ง€์  1, 2, 3์ด ์žˆ๋‹ค. '์†Œํ™˜' ์ด๋ผ๋Š” ์Šคํฌ๋ฆฝํŠธ์—์„œ ์†Œํ™˜์ง€์  2์— ์†Œํ™˜์„ ํ•˜๊ณ  ๋ฆฌ์ŠคํŠธ์— 2๋ฅผ ์ €์žฅ

์ด ์ •๋ณด๋ฅผ ๋ฐ›์•„ ์†Œํ™˜์ง€์  2์˜ย '์ด์•Œ ์˜๊ธฐ' ์Šคํฌ๋ฆฝํŠธ์—์„œ '์†Œํ™˜'์Šคํฌ๋ฆฝํŠธ์˜ ๋ฆฌ์ŠคํŠธ์— 2๊ฐ€ ์žˆ์œผ๋ฉด ์ด์•Œ ๋ฐœ์‚ฌ


์†Œํ™˜ ์Šคํฌ๋ฆฝํŠธ

public class Summon : MonoBehaviour

{

ย  ย  public Transform[] summonPoints;

ย  ย  public GameObject[] diceObjects;

ย  ย  const int HOWMANYDICES = 5;

ย  ย  const int HOWMANYPOINTS = 3;

ย  ย  private int cnt;


ย  ย  public List<int> summonList = new List<int>();


ย  ย  private int ChoosePoint()

ย  ย  {

ย  ย  ย  ย  int resultPoint = Random.Range(1, HOWMANYPOINTS + 1);


ย  ย  ย  ย  if (cnt > HOWMANYPOINTS)

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  return 0;

ย  ย  ย  ย  }

ย  ย  ย  ย  else if (summonList.Exists(element => element == resultPoint))

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  return -1;

ย  ย  ย  ย  }

ย  ย  ย  ย  else

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  return resultPoint;

ย  ย  ย  ย  }


ย  ย  }


์ด์•Œ๋ฐœ์‚ฌ

ย  ย  void Update()

ย  ย  {

ย  ย  ย  ย  curSpawnDelay += Time.deltaTime;

ย  ย  ย  ย  if (curSpawnDelay > maxSpawnDelay)

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  Debug.Log(summon.summonList.Count);

ย  ย  ย  ย  ย  ย  if (summon.summonList.Contains(shotPointChk))

ย  ย  ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  ย  ย  spawnBullet();

ย  ย  ย  ย  ย  ย  ย  ย  maxSpawnDelay = 1f;

ย  ย  ย  ย  ย  ย  ย  ย  curSpawnDelay = 0;

ย  ย  ย  ย  ย  ย  }

ย  ย  ย  ย  ย  ย ย 

ย  ย  ย  ย  }

ย  ย  ย  ย ย 

ย  ย  }

๊ฐ ์†Œํ™˜ ์ง€์ ์— ๋ณธ์ธ์˜ shotPointChk ๊ฐ’์€ ์ž…๋ ฅํ•ด ๋‘์—ˆ์Œ