Example #1
0
    SphereCollider InitializeEntityTrigger(GameObject parentObject, float triggerRadius)
    {
        GameObject entityTriggerContainer = new GameObject(entityTriggerName)
        {
            layer = LayerMask.NameToLayer("EntityTrigger")
        };
        MovementBehaviorTriggerController triggerController = entityTriggerContainer.AddComponent <MovementBehaviorTriggerController>();

        triggerController.RegisterControllingBehavior(this);

        entityTriggerContainer.transform.SetParent(parentObject.transform);
        entityTriggerContainer.transform.localPosition = Vector3.zero;

        SphereCollider instantiatedTrigger = entityTriggerContainer.AddComponent <SphereCollider>();

        instantiatedTrigger.isTrigger = true;
        instantiatedTrigger.radius    = triggerRadius;

        return(instantiatedTrigger);
    }
Example #2
0
    BoxCollider InitializeObstacleAvoidanceTrigger(GameObject parentObject)
    {
        GameObject avoidanceTriggerContainer = new GameObject(obstacleAvoidanceTriggerName)
        {
            layer = LayerMask.NameToLayer("ObstacleAvoidanceTrigger")
        };
        MovementBehaviorTriggerController triggerController = avoidanceTriggerContainer.AddComponent <MovementBehaviorTriggerController>();

        triggerController.RegisterControllingBehavior(this);

        avoidanceTriggerContainer.transform.SetParent(parentObject.transform);
        avoidanceTriggerContainer.transform.localPosition = Vector3.zero;
        avoidanceTriggerContainer.transform.localRotation = Quaternion.Euler(Vector3.zero);

        BoxCollider instantiatedTrigger = avoidanceTriggerContainer.AddComponent <BoxCollider>();

        instantiatedTrigger.isTrigger = true;
        instantiatedTrigger.size      = new Vector3(parentObject.transform.localScale.x * 1.7f, parentObject.transform.localScale.y * 0.8f, parentObject.transform.localScale.z);

        return(instantiatedTrigger);
    }