Esempio n. 1
0
    public void ReturnFlockInSwarmToHive(SwarmTravelController swarmCtrl)
    {
        UnityFlock flock = swarmCtrl.UnregisterRandomFlock();

        if (flock == null)
        {
            return;
        }

        originSwarm.RegisterFlock(flock);
        //foreach(UnityFlock flock in swarm)
    }
Esempio n. 2
0
    //public void SetDestinationSwarm(int indexSwarm)
    //{
    //    if (indexSwarm < swarmControllers.Count)
    //    {
    //        print("SetDestinationSwarm: " + indexSwarm.ToString());
    //        destinationSwarm = swarmControllers[indexSwarm];

    //    }
    //}

    public void SendFlockBetweenSwarms()
    {
        print("swarms count:" + swarmControllers.Count);

        UnityFlock flock = originSwarm.UnregisterRandomFlock();

        if (flock == null)
        {
            return;
        }

        destinationSwarm.RegisterFlock(flock);

        print("flock A:" + originSwarm.flockTransforms.Count.ToString());
        print("flock B:" + destinationSwarm.flockTransforms.Count.ToString());

        OnHomeWorkerCountChange.Invoke(originSwarm.flockBehaviors.Count);
    }