/// <summary> /// Instantiates the values for all private properties /// </summary> private void SetProperties() { _xForm = transform; _pool = PoolManager.Pools[_BULLET_POOL_STRING]; swarmBehavior = GameObject.Find("SwarmBehaviorPrefab").GetComponent<SwarmBehavior>(); // SWARM BEHAVIORS // Create a new swarm behavior if it is null if (swarmBehavior != null) return; var swarmObject = new GameObject(); swarmObject.AddComponent<SwarmBehavior>(); swarmObject.AddComponent<ParticleEffectsManager>(); swarmBehavior = swarmObject.GetComponent<SwarmBehavior>(); }
public void setSwarmBehavior(SwarmBehavior behavior) { switch (behavior) { case SwarmBehavior.CONTRACT_TO_TARGET: BoidManagerHelper.instance.boidManager.setTarget(boidsTarget); BoidManagerHelper.instance.boidManager.setSettings(BoidManagerHelper.instance.boidSettingsTight); break; case SwarmBehavior.RELEASE_FROM_TARGET: BoidManagerHelper.instance.boidManager.setTarget(null); BoidManagerHelper.instance.boidManager.setSettings(BoidManagerHelper.instance.boidSettingsLoose); break; } }
/// <summary> /// Instantiates the values for all private properties /// </summary> private void SetProperties() { _xForm = transform; _pool = PoolManager.Pools[_BULLET_POOL_STRING]; swarmBehavior = GameObject.Find("SwarmBehaviorPrefab").GetComponent <SwarmBehavior>(); // SWARM BEHAVIORS // Create a new swarm behavior if it is null if (swarmBehavior != null) { return; } var swarmObject = new GameObject(); swarmObject.AddComponent <SwarmBehavior>(); swarmObject.AddComponent <ParticleEffectsManager>(); swarmBehavior = swarmObject.GetComponent <SwarmBehavior>(); }
private void CheckCloseToSwarmsToHunt() { if (gameObject.name == "Player1") { GameObject userSwarm1 = (GameObject)GameObject.FindGameObjectWithTag("SwarmPlayer1"); SwarmBehavior userSwarm1Behavior = userSwarm1.GetComponent <SwarmBehavior>(); if (userSwarm1Behavior.updatingList) { return; } GameObject creature1 = (GameObject)GameObject.FindGameObjectWithTag("creature1"); if (creature1 != null) { CreatureController creature1Controller = creature1.GetComponent <CreatureController>(); if (creature1Controller.myCharState == CreatureController.CharState.Celebrating || creature1Controller.myCharState == CreatureController.CharState.Going_to_merge || creature1Controller.myCharState == CreatureController.CharState.Going_to_manipulate || creature1Controller.myCharState == CreatureController.CharState.Manipulating || creature1Controller.myCharState == CreatureController.CharState.Merging || creature1Controller.myCharState == CreatureController.CharState.Celebrating || creature1Controller.myCharState == CreatureController.CharState.Waiting || creature1Controller.myCharState == CreatureController.CharState.Pointing) { return; } } } if (gameObject.name == "Player2") { GameObject userSwarm2 = (GameObject)GameObject.FindGameObjectWithTag("SwarmPlayer2"); SwarmBehavior userSwarm2Behavior = userSwarm2.GetComponent <SwarmBehavior>(); if (userSwarm2Behavior.updatingList) { return; } GameObject creature2 = (GameObject)GameObject.FindGameObjectWithTag("creature2"); if (creature2 != null) { CreatureController creature2Controller = creature2.GetComponent <CreatureController>(); if (creature2Controller.myCharState == CreatureController.CharState.Celebrating || creature2Controller.myCharState == CreatureController.CharState.Going_to_merge || creature2Controller.myCharState == CreatureController.CharState.Going_to_manipulate || creature2Controller.myCharState == CreatureController.CharState.Manipulating || creature2Controller.myCharState == CreatureController.CharState.Merging || creature2Controller.myCharState == CreatureController.CharState.Celebrating || creature2Controller.myCharState == CreatureController.CharState.Waiting || creature2Controller.myCharState == CreatureController.CharState.Pointing) { return; } } } if ((swarm1.position - myTransform.position).sqrMagnitude < distanceToCatch * distanceToCatch && emptyswarm1 == false) { if (timerswarm1 == 0) { // Just got close to swarm if (gameObject.tag == "Player") { Messenger.SendToListeners(new Message_transform(gameObject, "Close_to_swarm_player1", "free_swarm1", swarm1)); } if (gameObject.tag == "Player2") { Messenger.SendToListeners(new Message_transform(gameObject, "Close_to_swarm_player2", "free_swarm1", swarm1)); } } if (timerswarm1 > timeToCatch) { if (gameObject.tag == "Player") { Messenger.SendToListeners(new Message_transform(gameObject, "Insect_catched_player1", "free_swarm1", swarm1)); } if (gameObject.tag == "Player2") { Messenger.SendToListeners(new Message_transform(gameObject, "Insect_catched_player2", "free_swarm1", swarm1)); } timerswarm1 = -1; swarm1_count += 2; } timerswarm1 += Time.deltaTime; } else { if (timerswarm1 != 0) { // Just got away from the swarm if (gameObject.tag == "Player") { Messenger.SendToListeners(new Message_transform(gameObject, "Away_from_swarm_player1", "free_swarm1", swarm1)); } if (gameObject.tag == "Player2") { Messenger.SendToListeners(new Message_transform(gameObject, "Away_from_swarm_player2", "free_swarm1", swarm1)); } } timerswarm1 = 0; } if ((swarm2.position - myTransform.position).sqrMagnitude < distanceToCatch * distanceToCatch && emptyswarm2 == false) { if (timerswarm2 == 0) { // Just got close to swarm if (gameObject.tag == "Player") { Messenger.SendToListeners(new Message_transform(gameObject, "Close_to_swarm_player1", "free_swarm2", swarm2)); } if (gameObject.tag == "Player2") { Messenger.SendToListeners(new Message_transform(gameObject, "Close_to_swarm_player2", "free_swarm2", swarm2)); } } if (timerswarm2 > timeToCatch) { if (gameObject.tag == "Player") { Messenger.SendToListeners(new Message_transform(gameObject, "Insect_catched_player1", "free_swarm2", swarm2)); } if (gameObject.tag == "Player2") { Messenger.SendToListeners(new Message_transform(gameObject, "Insect_catched_player2", "free_swarm2", swarm2)); } timerswarm2 = -1; swarm2_count += 2; } timerswarm2 += Time.deltaTime; } else { if (timerswarm2 != 0) { // Just got away from the swarm if (gameObject.tag == "Player") { Messenger.SendToListeners(new Message_transform(gameObject, "Away_from_swarm_player1", "free_swarm2", swarm2)); } if (gameObject.tag == "Player2") { Messenger.SendToListeners(new Message_transform(gameObject, "Away_from_swarm_player2", "free_swarm2", swarm2)); } } timerswarm2 = 0; } if ((swarm3.position - myTransform.position).sqrMagnitude < distanceToCatch * distanceToCatch && emptyswarm3 == false) { if (timerswarm3 == 0) { // Just got close to swarm if (gameObject.tag == "Player") { Messenger.SendToListeners(new Message_transform(gameObject, "Close_to_swarm_player1", "free_swarm3", swarm3)); } if (gameObject.tag == "Player2") { Messenger.SendToListeners(new Message_transform(gameObject, "Close_to_swarm_player2", "free_swarm3", swarm3)); } } if (timerswarm3 > timeToCatch) { if (gameObject.tag == "Player") // && creature_user1 == false) { Messenger.SendToListeners(new Message_transform(gameObject, "Insect_catched_player1", "free_swarm3", swarm3)); } if (gameObject.tag == "Player2") // && creature_user2 == false) { Messenger.SendToListeners(new Message_transform(gameObject, "Insect_catched_player2", "free_swarm3", swarm3)); } timerswarm3 = 0; swarm3_count += 2; } timerswarm3 += Time.deltaTime; } else { if (timerswarm3 != 0) { // Just got away from the swarm if (gameObject.tag == "Player") { Messenger.SendToListeners(new Message_transform(gameObject, "Away_from_swarm_player1", "free_swarm3", swarm3)); } if (gameObject.tag == "Player2") { Messenger.SendToListeners(new Message_transform(gameObject, "Away_from_swarm_player2", "free_swarm3", swarm3)); } } timerswarm3 = 0; } if ((swarm4.position - myTransform.position).sqrMagnitude < distanceToCatch * distanceToCatch && emptyswarm4 == false) { if (timerswarm4 == 0) { // Just got close to swarm if (gameObject.tag == "Player") { Messenger.SendToListeners(new Message_transform(gameObject, "Close_to_swarm_player1", "free_swarm4", swarm4)); } if (gameObject.tag == "Player2") { Messenger.SendToListeners(new Message_transform(gameObject, "Close_to_swarm_player2", "free_swarm4", swarm4)); } } if (timerswarm4 > timeToCatch) { if (gameObject.tag == "Player") // && creature_user1 == false) { Messenger.SendToListeners(new Message_transform(gameObject, "Insect_catched_player1", "free_swarm4", swarm4)); } if (gameObject.tag == "Player2") // && creature_user2 == false) { Messenger.SendToListeners(new Message_transform(gameObject, "Insect_catched_player2", "free_swarm4", swarm4)); } timerswarm4 = 0; swarm4_count += 2; } timerswarm4 += Time.deltaTime; } else { if (timerswarm4 != 0) { // Just got away from the swarm if (gameObject.tag == "Player") { Messenger.SendToListeners(new Message_transform(gameObject, "Away_from_swarm_player1", "free_swarm4", swarm4)); } if (gameObject.tag == "Player2") { Messenger.SendToListeners(new Message_transform(gameObject, "Away_from_swarm_player2", "free_swarm4", swarm4)); } } timerswarm4 = 0; } }