Пример #1
0
 public void Init(BoxManager boxes, SensableObjects objs)
 {
     this.boxes = boxes;
     this.allObjects = objs;
     //allObjects.RegisterObject(new SensableObject(gameObject, classification));
     //if(behaviour) {
     //	StartCoroutine(RunStateMachine());
     //}
 }
Пример #2
0
 public Separation(SensableObjects allObjects)
     : base(allObjects)
 {
 }
Пример #3
0
 public void Update()
 {
     if (allObjects == null) {
         allObjects = GetComponent<Brain> ().allObjects;
         if (allObjects == null) {
             return;
         }
     }
     foreach (SensableObject obj in allObjects.GetObjectsInRadius(transform.position, maxViewDistance)) {
         if (!aggregates.ContainsKey (obj)) {
             aggregates.Add (obj, new RaycastAggregate (transform, obj.obj.GetComponentInChildren<MeshFilter> (), visibleLayers));
         }
         if (Vector3.Angle (obj.obj.transform.position - transform.position, transform.forward) < peripheralFOV) {
             aggregates [obj].QueueRaycast ();
         }
     }
 }
Пример #4
0
 void Awake()
 {
     aggregates = new Dictionary<SensableObject, RaycastAggregate> ();
     allObjects = GetComponent<Brain> ().allObjects;
 }
Пример #5
0
 public Alignment(SensableObjects allObjects)
     : base(allObjects)
 {
 }
 public GroupMemberSteeringBehaviour(SensableObjects allObjects)
 {
     groupMembers = allObjects;
 }
Пример #7
0
 public Cohesion(SensableObjects allObjects)
     : base(allObjects)
 {
 }