Example #1
0
    // Use this for initialization
    void Start()
    {
        preyArray     = new List <PreyScript>();
        predatorArray = new List <PredatorScript>();

        for (int i = 0; i < 9; i++)
        {
            GameObject preyModel = GameObject.CreatePrimitive(PrimitiveType.Sphere);
            PreyScript prey      = preyModel.AddComponent <PreyScript>();
            preyModel.name = "Prey" + i.ToString();
            prey.model     = preyModel;
            prey.model.transform.position = new Vector3(Random.Range(-4.5f, 4.5f), 0.5f, Random.Range(-4.5f, -2.5f));
            prey.position = prey.model.transform.position;
            prey.model.transform.localScale = new Vector3(0.3f, 0.3f, 0.3f);
            prey.model.GetComponent <MeshRenderer>().material.color    = Color.blue;
            prey.model.GetComponent <MeshRenderer>().shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
            Rigidbody preyRb = preyModel.AddComponent <Rigidbody>();
            preyRb.isKinematic            = false;
            preyRb.useGravity             = false;
            preyRb.collisionDetectionMode = CollisionDetectionMode.ContinuousDynamic;
            preyRb.freezeRotation         = true;
            preyArray.Add(prey);
        }

        for (int i = 0; i < 9; i++)
        {
            GameObject     predatorModel = GameObject.CreatePrimitive(PrimitiveType.Sphere);
            PredatorScript predator      = predatorModel.AddComponent <PredatorScript>();
            predatorModel.name = "Predator" + i.ToString();
            predator.model     = predatorModel;
            predator.model.transform.position = new Vector3(Random.Range(-4.5f, -2.5f), 0, Random.Range(2.5f, 4.5f));
            predator.position = predator.model.transform.position;
            predator.model.transform.localScale = new Vector3(0.3f, 0.3f, 0.3f);
            predator.model.GetComponent <MeshRenderer>().material.color    = Color.red;
            predator.model.GetComponent <MeshRenderer>().shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
            Rigidbody predatorRb = predatorModel.AddComponent <Rigidbody>();
            predatorRb.isKinematic            = false;
            predatorRb.useGravity             = false;
            predatorRb.collisionDetectionMode = CollisionDetectionMode.ContinuousDynamic;
            predatorRb.freezeRotation         = true;
            predatorArray.Add(predator);
        }

        for (int i = 0; i < 0; i++)
        {
            GameObject boundingSphere = GameObject.CreatePrimitive(PrimitiveType.Cube);
            boundingSphere.name = "BoundingSphere" + i.ToString();
            boundingSphere.transform.position = new Vector3(Random.Range(-3.5f, 3.5f), 0.5f, Random.Range(-3.5f, 3.5f));
            boundingSphere.GetComponent <MeshRenderer>().material.color = Color.black;
            boundingSphere.transform.localScale = new Vector3(0.6f, 0.6f, 0.6f);
            Rigidbody bsRb = boundingSphere.AddComponent <Rigidbody>();
            bsRb.isKinematic            = true;
            bsRb.useGravity             = false;
            bsRb.collisionDetectionMode = CollisionDetectionMode.ContinuousDynamic;
            //bsRb.freezeRotation = true;
            //bsRb.constraints = RigidbodyConstraints.FreezePositionX | RigidbodyConstraints.FreezePositionY | RigidbodyConstraints.FreezePositionZ;
        }
    }
Example #2
0
 void OnTriggerEnter(Collider other)
 {
     if (other.gameObject.tag == "Prey")
     {
         if (!other.transform.GetComponent <Controller>().isDead())
         {
             PredatorScript script = transform.GetComponentInParent <PredatorScript>();
             script.addPreyToList(other.gameObject);
         }
     }
 }
Example #3
0
    void OnSceneGUI()
    {
        PredatorScript c = (PredatorScript)target;

        Handles.color = Color.black;

        // Draw line between transform and eadible objects
        //Handles.color = Color.magenta;
        foreach (Vector3 soundO in c.soundList)
        {
            Handles.DrawLine(c.transform.position, soundO);
        }
    }