private bool FindFrontVisitor() { Collider[] visitors = Physics.OverlapSphere(transform.position + transform.forward * 0.7f + new Vector3(0, 0.75f, 0), 0.2f, _visitorMask); foreach (Collider visitor in visitors) { VisitorMovement visScripts = visitor.GetComponent <VisitorMovement>(); if (visScripts.GetNumberProcedure() != _numberProcedure && visScripts.GetEndProcedure()) { return(false); } else if (visScripts.GetNumberProcedure() == _numberProcedure && !visScripts.GetEndProcedure() && _isEndProcedure) { return(true); } else if (visScripts.GetNumberProcedure() != _numberProcedure && !visScripts.GetEndProcedure() && !_isEndProcedure) { return(true); } else if (visScripts.GetNumberProcedure() != _numberProcedure && !visScripts.GetEndProcedure() && _isEndProcedure) { return(true); } else { return(false); } } return(true); }
void Start() { movement = GetComponent <VisitorMovement>(); model = GetComponent <VisitorModel>(); happiness = 0.5f; // Start at 50% happinessFailed = false; ui = GameObject.Instantiate <HappyUI>(uiPrefab); ui.Follow(transform); }
private IEnumerator SpawnNextVisitor() { // Wait a delay before hittin' that bell yield return(new WaitForSeconds(delayBeforeDoorbell)); // Play doorbell doorbell.Play(); // Wait some time yield return(new WaitForSeconds(delayAfterDoorbell)); // Spawn the next visitor at the door and start its timer visitor = GameObject.Instantiate <VisitorMovement>(visitorPrefabs[numberOfVisitors]); if (spawnPoint != null) { visitor.transform.position = spawnPoint.position; } visitorNotifiedToLeave = false; numberOfVisitors++; lastVisitor = gameTime; }