public override void Initiate() { isComplete = false; if (permanentQuest) { transform.position = questObject.transform.position; transform.SetParent(questObject.transform); QuestObject qo = questObject.GetComponent <QuestObject>(); qo.SetQuest(this); return; } RaycastHit hit; if (Physics.Raycast(transform.position + Vector3.up * 20, Vector3.down, out hit)) { GameObject temp = Instantiate(questObject, hit.point + Vector3.up, Quaternion.identity); temp.transform.SetParent(transform); QuestObject qo = temp.GetComponent <QuestObject>(); qo.SetQuest(this); } }
public override void Initiate() { numObjects = Random.Range(5, 15); for (int i = 0; i < numObjects;) { Vector2 spawnPoint = Random.insideUnitCircle * questRadius; Quaternion rot = Quaternion.Euler(0, Random.Range(0, 360), 0); RaycastHit hit; if (Physics.Raycast(transform.position + new Vector3(spawnPoint.x, 20, spawnPoint.y), Vector3.down, out hit)) { GameObject temp = Instantiate(questObject, hit.point + Vector3.up, rot); temp.transform.SetParent(transform); QuestObject qo = temp.GetComponent <QuestObject>(); qo.SetQuest(this); i++; } } }