Exemplo n.º 1
0
    public void onClick(string buttonTag)
    {
        targetObject.MoveToNewPosition();
        FlockMode flockFromTag = (FlockMode)System.Enum.Parse(typeof(FlockMode), buttonTag, true);

        InitSimulation(flockFromTag);
    }
Exemplo n.º 2
0
    void InitSimulation(FlockMode flockMode)
    {
        if (flockMode == currentFlockMode)
        {
            return;
        }

        currentFlockMode = flockMode;

        switch (flockMode)
        {
        case FlockMode.LAZY:
            Debug.Log("Lazy Flock Mode");
            targetObject.MoveToNewPosition();
            break;

        case FlockMode.FOLLOW:
            Debug.Log("Follow Flock Mode");
            break;

        case FlockMode.CIRCLE:
            Debug.Log("Circle Flock Mode");
            targetObject.MoveToNextShapePosition();
            break;
        }
    }
Exemplo n.º 3
0
    void SpawnAgent()
    {
        //Debug.LogError("f 1");
        //if(stop) return;
        List <GameObject> list = objectArray.ToList();

        //print(list.Count + " & " + stop);
        if (list.Count > 0 || stop)
        {
            return;
        }

        //
        //Debug.LogError("f 2");
        //
        //if (objectArray.GetLength(0) > 0) return;
        //
        objectArray = new GameObject[numOject];
        for (int i = 0; i < numOject; i++)
        {
            Vector3 randomPos = new Vector3(transform.position.x + 20, transform.position.y + 30, transform.position.z) +
                                new Vector3(UnityEngine.Random.Range(-10, 10), UnityEngine.Random.Range(-10, 10), UnityEngine.Random.Range(-10, 10));
            IDAgentStart++;
            objectArray[i]      = Instantiate(ojectPrefab, randomPos, Quaternion.identity);
            objectArray[i].name = "Agent " + IDAgentStart;
            objectArray[i].GetComponent <FlockAgent>().SetFlockManager = this;
            objectArray[i].GetComponent <FlockAgent>().SetFlockID      = this.flockID;
            objectArray[i].GetComponent <PhotonView>().ViewID          = (IDAgentStart);

            //Debug.LogError("Agent " + IDAgentStart);
            //objectArray[i].transform.GetChild(2).GetChild(0).GetComponent<Radar>();
        }
        IDAgentStart -= numOject;
        // Debug.LogError("f 3");
        //initialize array behavious & its weight
        BehaviousArray = new Vector3[4];
        WeightArray    = new float[4];
        //
        _flockMode = FlockMode.FollowLeader;
        leader     = GameObject.FindGameObjectWithTag("Player");
        //
        InitializationFlockMode(false);
        stop = true;
        call = true;
    }