示例#1
0
 // Use this for initialization
 void Start()
 {
     velocidad           = 2;
     distanciaPercepcion = 3;
     creatorScript       = gameObject.GetComponent <CreatorScript>();
     creatorScript.StartSimulation();
 }
    public override void OnInspectorGUI()
    {
        //DrawDefaultInspector();


        CreatorScript    myscript         = (CreatorScript)target;
        SerializedObject serializedObject = new UnityEditor.SerializedObject(myscript);

        creationPosition = EditorGUILayout.Vector3Field("Creation Position", creationPosition);
        GUILayout.Space(10);
        loop         = EditorGUILayout.Toggle("Loop", loop);
        loopInterval = EditorGUILayout.IntField("Loop Interval", loopInterval);
        loopOffset   = EditorGUILayout.Vector3Field("Loop Offset", loopOffset);

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Cube", GUILayout.Width(Screen.width / 2.2f)))
        {
            myscript.MakeCube(creationPosition, loop, loopInterval, loopOffset);
        }

        if (GUILayout.Button("Quad", GUILayout.Width(Screen.width / 2.2f)))
        {
            myscript.MakeQuad(creationPosition, loop, loopInterval, loopOffset);
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Capsule", GUILayout.Width(Screen.width / 2.2f)))
        {
            myscript.MakeCapsule(creationPosition, loop, loopInterval, loopOffset);
        }

        if (GUILayout.Button("Cylinder", GUILayout.Width(Screen.width / 2.2f)))
        {
            myscript.MakeCylinder(creationPosition, loop, loopInterval, loopOffset);
        }

        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Sphere", GUILayout.Width(Screen.width / 2.2f)))
        {
            myscript.MakeSphere(creationPosition, loop, loopInterval, loopOffset);
        }
        if (GUILayout.Button("Empty", GUILayout.Width(Screen.width / 2.2f)))
        {
            myscript.MakeEmpty(creationPosition, loop, loopInterval, loopOffset);
        }
        GUILayout.EndHorizontal();

        GUILayout.Space(10);

        duplicateThis     = EditorGUILayout.ObjectField("Duplicate This", duplicateThis, typeof(GameObject), true);
        duplicateOffset   = EditorGUILayout.Vector3Field("Duplicate Position Offset", duplicateOffset);
        duplicateRotation = EditorGUILayout.Vector3Field("Duplicate Rotation Offset", duplicateRotation);
        copies            = EditorGUILayout.IntField("Copies", copies);

        if (GUILayout.Button("Duplicate Special"))
        {
            myscript.DuplicateSpecial(duplicateThis as GameObject, duplicateOffset, duplicateRotation, copies);
        }
    }
示例#3
0
    void Spawn()
    {
        GameObject randomObj   = objects[Random.Range(0, objects.Length)];
        Vector3    newPosition = new Vector3(transform.position.x, randomObj.transform.position.y, randomObj.transform.position.z);
        GameObject newObject   = Instantiate(randomObj, newPosition, Quaternion.identity) as GameObject;

        //float scale = Random.Range (0.8f, 1.1f);
        //newObject.transform.localScale = new Vector3 (scale, scale, scale);
        newObject.GetComponent <BackgroundElementScript> ().canBeDeleted = true;
        CreatorScript.CreateMirrored(newObject);
        Invoke("Spawn", Random.Range(spawnMin, spawnMax));
    }
示例#4
0
    public void create(Vector3 destroyedObjectPosition)
    {
        if (theLastOne)
        {
            GameObject newObjectPattern     = chooseRandomPatternObject();
            float      paddingX             = (theLastOne.renderer.bounds.size.x + newObjectPattern.renderer.bounds.size.x) / 2f;
            Vector3    newlyCreatedPosition = new Vector3(theLastOne.transform.position.x + paddingX, destroyedObjectPosition.y, destroyedObjectPosition.z);

            GameObject newlyCreated = cloneGameObjectNonStatic(newObjectPattern, newlyCreatedPosition);
            if (newlyCreated)
            {
                CreatorScript.CreateMirrored(newlyCreated);
                theLastOne = newlyCreated;
            }
        }
    }
示例#5
0
    void Start()
    {
        GameObject current = theLastOne;

        CreateMirrored(current);

        counterForIgnore = 1;

        GameObject tmp;

        for (int i = 0; i < objectNTimesRepeated; ++i)
        {
            tmp = CreateNextHorizontal(current);
            if (tmp)
            {
                current = tmp;
                CreatorScript.CreateMirrored(current);
            }
        }

        theLastOne = current;
    }