static void main(string[] args) { ParkManager parkManager = new ParkManager(); parkManager.CreateParks(); foreach (Park park in parkManager.Parks) { // do something with park } }
void Awake() { if (!mInstance) { mInstance = this; } Events.ChangeGameState += ChangeGameState; parkManager = GetComponent <ParkManager>(); runSignalsManager = GetComponent <RunSignalsManager>(); lightsManager = GetComponent <LightsManager>(); avatarRunningMoment = GetComponent <AvatarRunningMoment>(); }
void OnGUI() { var parkManager = new ParkManager(); row = EditorGUILayout.IntSlider(row, 0, 7); column = EditorGUILayout.IntSlider(column, 0, 7); if (GUILayout.Button("NW")) { Park.Instance.Raise(row, column, 1, 0, 0, 0); } if (GUILayout.Button("NE")) { Park.Instance.Raise(row, column, 0, 1, 0, 0); } if (GUILayout.Button("SE")) { Park.Instance.Raise(row, column, 0, 0, 1, 0); } if (GUILayout.Button("SW")) { Park.Instance.Raise(row, column, 0, 0, 0, 1); } if (GUILayout.Button("Load")) { parkManager.Load("debug"); } if (GUILayout.Button("Save")) { parkManager.Save("debug"); } }
void Update() { // If the next update is reached if (Time.time >= nextUpdate) { nextUpdate = Mathf.FloorToInt(Time.time) + 1; UpdateEverySecond(); } // Create new path if (currentStatus == status.IDLE && remainingIdleTime == 0) { // 50:50 Chance calculator // 1 = attraction // 0 = random walkRandom = (Random.value > 0.55f); // Show NPC ShowNPC(); currentStatus = status.WALKING; if (!walkRandom) { ParkManager parkManager = FindObjectOfType <ParkManager>(); if (parkManager) { List <AttractionController> attractions = parkManager.activeAttractions; if (attractions.Count > 0) { int attractionIndex = Random.Range(0, attractions.Count); // Do not move to last attraction again if (!lastVisitedAttraction || lastVisitedAttraction != attractions[attractionIndex]) { destination = attractions[attractionIndex].entrancePosition; lastVisitedAttraction = attractions[attractionIndex]; agent.SetDestination(new Vector3(destination.position.x, transform.position.y, destination.position.z)); anim.SetBool("moving", true); } else { currentStatus = status.IDLE; } } else { currentStatus = status.IDLE; } } else { currentStatus = status.IDLE; } } else { remainingIdleTime = Random.Range(game.idleTimeMin, game.idleTimeMax);; agent.SetDestination(GetRandomLocation()); anim.SetBool("moving", true); } } if (currentStatus == status.WALKING) { if (!agent.pathPending) { if (agent.remainingDistance <= agent.stoppingDistance) { if (!agent.hasPath || agent.velocity.sqrMagnitude == 0f) { if (destination) { anim.SetBool("moving", false); AttractionController attraction = lastVisitedAttraction.GetComponent <AttractionController>(); // Check if target is really an attraction if (attraction) { attraction.AddNPCToQueue(gameObject); remainingIdleTime = 0; HideNPC(); } destination = null; } else if (walkRandom && remainingIdleTime != 0) { currentStatus = status.IDLE; anim.SetBool("moving", false); } } } } } }
void Start() { visitorManager = FindObjectOfType <VisitorManager>(); parkManager = FindObjectOfType <ParkManager>(); }
private void Awake() { Instance = this; parkedCount = 0; }