Ejemplo n.º 1
0
    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++;
    }
Ejemplo n.º 2
0
    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;
        }
    }
Ejemplo n.º 3
0
    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;
            }
        }
    }
Ejemplo n.º 4
0
    public void Reset()
    {
        levelComplete = false;

        totalTasksForLevel     = PrototypeManager.GetInstance().NrOfTasks;
        numberOfTasksCompleted = 0;
        ClearObjectsInBox();
        //ToggleText(true);
    }
Ejemplo n.º 5
0
 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>");
     }
 }