public TaskItem Set(Task task, TaskPanel taskPanel) { this.taskPanel = taskPanel; id = task.Id; content.text = task.Content; switch (task.TaskState) { case TaskState.UnConfrimed: confirmImage.sprite = taskPanel.UnConfirmed; break; case TaskState.Finished: confirmImage.sprite = taskPanel.Finished; confirmButton.GetComponent <Button>().interactable = false; break; case TaskState.UnFinished: confirmImage.sprite = taskPanel.UnFinished; confirmButton.GetComponent <Button>().interactable = false; break; default: throw new ArgumentOutOfRangeException(); } taskPanel.AddTaskItem(this); return(this); }