コード例 #1
0
    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);
        }
    }
コード例 #2
0
    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++;
            }
        }
    }