상속: MonoBehaviour
예제 #1
0
    // Use this for initialization
    IEnumerator Start()
    {
        yield return(0);

        for (int i = 0; i < agents; i++)
        {
            float angle = ((float)i / agents) * (float)System.Math.PI * 2;

            Vector3 pos       = new Vector3((float)System.Math.Cos(angle), 0, (float)System.Math.Sin(angle)) * ringSize;
            Vector3 antipodal = -pos + goalOffset;

            GameObject      go = GameObject.Instantiate(prefab, Vector3.zero, Quaternion.Euler(0, angle + 180, 0)) as GameObject;
            RVOExampleAgent ag = go.GetComponent <RVOExampleAgent>();

            if (ag == null)
            {
                Debug.LogError("Prefab does not have an RVOExampleAgent component attached");
                yield break;
            }

            //ag.radius = radius;
            go.transform.parent   = transform;
            go.transform.position = pos;

            ag.repathRate = repathRate;
            ag.SetTarget(antipodal);

            ag.SetColor(GetColor(angle));
        }
    }
예제 #2
0
    // Token: 0x060003BB RID: 955 RVA: 0x0001C934 File Offset: 0x0001AD34
    private IEnumerator Start()
    {
        yield return(null);

        for (int i = 0; i < this.agents; i++)
        {
            float           num        = (float)i / (float)this.agents * 3.14159274f * 2f;
            Vector3         vector     = new Vector3((float)Math.Cos((double)num), 0f, (float)Math.Sin((double)num)) * this.ringSize;
            Vector3         target     = -vector + this.goalOffset;
            GameObject      gameObject = UnityEngine.Object.Instantiate <GameObject>(this.prefab, Vector3.zero, Quaternion.Euler(0f, num + 180f, 0f));
            RVOExampleAgent component  = gameObject.GetComponent <RVOExampleAgent>();
            if (component == null)
            {
                Debug.LogError("Prefab does not have an RVOExampleAgent component attached");
                yield break;
            }
            gameObject.transform.parent   = base.transform;
            gameObject.transform.position = vector;
            component.repathRate          = this.repathRate;
            component.SetTarget(target);
            component.SetColor(this.GetColor(num));
        }
        yield break;
    }