public void ReturnFlockInSwarmToHive(SwarmTravelController swarmCtrl) { UnityFlock flock = swarmCtrl.UnregisterRandomFlock(); if (flock == null) { return; } originSwarm.RegisterFlock(flock); //foreach(UnityFlock flock in swarm) }
//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); }