コード例 #1
0
    private void StartTask(int taskIndex)
    {
        TaskScriptableObject taskData = job.Tasks[taskIndex];

        currentTaskType = taskData.GetTaskType();

        if (StartTaskEvent != null)
        {
            StartTaskEvent(currentTaskType);
        }

        if (!taskManagers.Exists(x => x.GetTaskType() == currentTaskType))
        {
            Debug.LogError("VERY BAD");
            return;
        }

        taskManagerBase = taskManagers.Find(x => x.GetTaskType() == currentTaskType);

        if (!taskManagerBase.sword)
        {
            taskManagerBase.sword        = sword;
            taskManagerBase.swordDetails = sword.GetComponent <Sword>();
        }

        taskManagerBase.Activate();

        Transform currentCamTrans    = GetCamPoint(currentTaskType);
        Transform currentWeaponTrans = GetSwordTeleportPoint(currentTaskType);

        SlerpCameraAndSword(currentCamTrans, currentWeaponTrans);

        taskManagerBase.SetTaskObject(taskData);
    }
コード例 #2
0
    public Transform GetSwordTeleportPoint(WorkManager.TaskType taskType)
    {
        SwordTeleportPoint swordTeleportPoint = swordTeleportPoints.Find(x => x.taskType == taskType);

        if (swordTeleportPoint == null)
        {
            Debug.LogError("Teleport point " + taskType + " does not exist!");
        }

        return(swordTeleportPoint.transform);
    }
コード例 #3
0
    public Transform GetCamPoint(WorkManager.TaskType taskType)
    {
        CamPoint currentCamPoint = cameraHooks.Find(x => x.taskType == taskType);

        if (currentCamPoint == null)
        {
            Debug.LogError("Teleport point " + taskType + " does not exist!");
        }

        return(currentCamPoint.transform);
    }
コード例 #4
0
    private void GoToCounter()
    {
        currentTaskType = WorkManager.TaskType.None;

        Transform counterCameraTransform = cameraHooks.Find(x => x.taskType == WorkManager.TaskType.None).transform;
        Transform counterSwordTransform  = cameraHooks.Find(x => x.taskType == WorkManager.TaskType.None).transform;

        SlerpCameraAndSword(counterCameraTransform, counterSwordTransform);

        gotJob     = false;
        startedJob = false;
        //Destroy(sword, 5f);
        EndJobEvent?.Invoke(job, weaponResultOffsets);   //wow


        //sword = null;
    }
コード例 #5
0
    private void OnStartTask(WorkManager.TaskType taskType)
    {
        switch (taskType)
        {
        case WorkManager.TaskType.None:
            break;

        case WorkManager.TaskType.Shaping:
            text.text = "Align and hit";
            //move down to turn over
            break;

        case WorkManager.TaskType.Sharpening:
            text.text = "Hold to sharpen";


            break;

        case WorkManager.TaskType.Heating:
            text.text = "Move it in the Forge";


            break;

        case WorkManager.TaskType.UnBumping:
            text.text = "Press Sword to unbump";


            break;

        case WorkManager.TaskType.Cleaning:
            text.text = "Rub to clean";

            break;

        default:
            throw new ArgumentOutOfRangeException(nameof(taskType), taskType, null);
        }
    }
コード例 #6
0
 private void OnNextTask(WorkManager.TaskType task)
 {
     text.text = "";
     //same story
 }