private void PlaceTaskCard(GameObject taskCard) { if (numberOfTasksCompleted == totalTasksForLevel) { levelComplete = true; if (PrototypeManager.GetInstance().GetCurrentWave().PauseAfterCompletedWave) { PrototypeManager.GetInstance().AdvanceWave(); } } Vector3 newOffset = new Vector3(baseOffset.x, baseOffset.y + (numberOfTasksCompleted * 0.01f), baseOffset.z); taskCard.gameObject.tag = "Untagged"; Destroy(taskCard.GetComponent <PlaceablePickup>()); Destroy(taskCard.GetComponent <Rigidbody>()); Destroy(taskCard.GetComponent <Task>()); Destroy(taskCard.GetComponentInChildren <ParticleSystem>()?.gameObject); taskCard.transform.localScale = new Vector3(0.15f, 0.15f, 0.1f); taskCard.transform.SetParent(newCardParent.transform); objectsInBox.Add(taskCard); taskCard.transform.localRotation = Quaternion.Euler(baseRotation); taskCard.transform.position = newCardParent.transform.position + (transform.rotation * newOffset); numberOfTasksCompleted++; }
private void SetColor() { bool availableTasks = TaskManager.GetInstance().tasks != null && TaskManager.GetInstance().tasks.Count > 0; int randomChanceForMatch = RandomManager.GetRandomNumber(0, 101); if (availableTasks && randomChanceForMatch < PrototypeManager.GetInstance().GetCurrentWave().chanceOfCorrectBodyCombination) { BodyType taskBodyType = TaskManager.GetInstance().tasks[RandomManager.GetRandomNumber(0, TaskManager.GetInstance().tasks.Count)].Body; bodyType = taskBodyType; } else { bodyType = (BodyType)Random.Range(0, 3); } if (bodyType == BodyType.Blue) { gameObject.GetComponentInChildren <MeshRenderer>().material.color = Color.blue; } else if (bodyType == BodyType.Green) { gameObject.GetComponentInChildren <MeshRenderer>().material.color = Color.green; } else if (bodyType == BodyType.Red) { gameObject.GetComponentInChildren <MeshRenderer>().material.color = Color.red; } }
private void SetColor() { MeshRenderer[] meshRenderer = GetComponentsInChildren <MeshRenderer>(); bool availableTasks = TaskManager.GetInstance().tasks != null && TaskManager.GetInstance().tasks.Count > 0; int randomChanceForMatch = RandomManager.GetRandomNumber(0, 101); if (availableTasks && randomChanceForMatch < PrototypeManager.GetInstance().GetCurrentWave().chanceOfCorrectBodyCombination) { HeadType taskHeadType = TaskManager.GetInstance().tasks[RandomManager.GetRandomNumber(0, TaskManager.GetInstance().tasks.Count)].Head; headType = taskHeadType; } else { headType = (HeadType)Random.Range(0, 3); } for (int i = 0; i < meshRenderer.Length; i++) { if (headType == HeadType.Blue) { meshRenderer[i].material.color = Color.blue; } else if (headType == HeadType.Green) { meshRenderer[i].material.color = Color.green; } else if (headType == HeadType.Red) { meshRenderer[i].material.color = Color.red; } } }
public void Reset() { levelComplete = false; totalTasksForLevel = PrototypeManager.GetInstance().NrOfTasks; numberOfTasksCompleted = 0; ClearObjectsInBox(); //ToggleText(true); }
private void UpdateCompletedTasksText() { if (taskText != null) { DateTime startTime = PrototypeManager.GetInstance().waveStartTime; DateTime endTime = PrototypeManager.GetInstance().waveStartTime.AddSeconds(PrototypeManager.GetInstance().GetCurrentWave().timelimitForWave); TimeSpan timeSpan = endTime - DateTime.Now; string s = $"{timeSpan.Minutes:00} : {timeSpan.Seconds:00}"; taskText.text = $"Tasks Completed\n {numberOfTasksCompleted} / {totalTasksForLevel} " + (PrototypeManager.GetInstance().GetCurrentWave().timeLimit ? $"\n<color=red>Time to complete wave\n{s}</color>" : $"\n<color=red>No time limit.</color>"); } }