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); }
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); }
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); }
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; }
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); } }
private void OnNextTask(WorkManager.TaskType task) { text.text = ""; //same story }