void SetGroupAI() { seeds.Clear(); state = Actor.ActorState.Group; foreach (Actor actor in actors) { actor.state = Actor.ActorState.Group; } int numOfGroups = Random.Range(minGroups, maxGroups + 1); //Too few actors adjusts group size if (numOfGroups > actors.Count) { numOfGroups = actors.Count; Debug.Log("Too few actors adjusting group size"); } for (int i = 0; i < numOfGroups; i++) { //assign seeds seeds.Add(Random.Range(0, 1001)); } for (int i = 0; i < actors.Count; i++) { actors[i].groupSeed = seeds[Random.Range(0, seeds.Count)]; } }
private IEnumerator CalmlyExitTheApplication() { Debug.Log("Quiting"); state = Actor.ActorState.Exit; foreach (Actor actor in actors) { actor.state = Actor.ActorState.Exit; actor.GetComponent <Rigidbody>().constraints = RigidbodyConstraints.None; explosiveMovement = false; moveSpeed = 50; } yield return(new WaitForSeconds(10.0f)); Application.Quit(); }
public void OnActorStateChange(Actor.ActorState actorState) { switch (actorState) { case Actor.ActorState.Active: OnEnable(); break; case Actor.ActorState.Inactive: OnDisable(); break; case Actor.ActorState.Destroy: Owner = null; break; default: break; } }
//Constructor to convert an actor to a serializable actor public SerializableActor(Actor actor) { comedy = actor.getComedy(); action = actor.getAction(); romance = actor.getRomance(); horror = actor.getRomance(); scifi = actor.getScifi(); other = actor.getOther(); baseComedy = actor.getBaseComedy(); baseAction = actor.getBaseAction(); baseRomance = actor.getBaseRomance(); baseHorror = actor.getBaseHorror(); baseScifi = actor.getBaseScifi(); baseOther = actor.getBaseOther(); state = actor.getState(); incomeValue = actor.getIncomeValue(); actorName = actor.getName(); experience = actor.getExperience(); actorState = actor.getState(); moviesStarredIn = actor.getMoviesStarredIn(); }
private void InputToChangeActorStates() { if (Input.GetKeyDown(KeyCode.Alpha1)) { state = Actor.ActorState.Idle; foreach (Actor actor in actors) { actor.state = Actor.ActorState.Idle; } } else if (Input.GetKeyDown(KeyCode.Alpha2)) { state = Actor.ActorState.Independent; foreach (Actor actor in actors) { actor.state = Actor.ActorState.Independent; } } else if (Input.GetKeyDown(KeyCode.Alpha3)) { SetGroupAI(); } else if (Input.GetKeyDown(KeyCode.Alpha4)) { state = Actor.ActorState.Swarm; foreach (Actor actor in actors) { actor.state = Actor.ActorState.Swarm; } //Choose a random actor to become the target Actor target = actors[Random.Range(0, actors.Count)]; target.state = Actor.ActorState.PlayerTarget; swarmTarget = target.transform; target.GetComponent <MeshRenderer>().material = target.targetMaterial; } else if (Input.GetKeyDown(KeyCode.Alpha0)) { explosiveMovement = !explosiveMovement; } else if (Input.GetKeyDown(KeyCode.Equals)) { SpawnActors(addRemoveActors); } else if (Input.GetKeyDown(KeyCode.Minus)) { RemoveActors(addRemoveActors); } if (Input.GetKey(KeyCode.P)) { moveSpeed += moveSpeedIncrement * Time.deltaTime; } else if (Input.GetKey(KeyCode.O)) { moveSpeed -= moveSpeedIncrement * Time.deltaTime; } if (Input.GetKeyDown(KeyCode.Backspace)) { playing = false; StartCoroutine(CalmlyExitTheApplication()); } }