示例#1
0
        public SaveController(IInputKeyPressable load, IInputKeyPressable save,
                              SaveDataRepository saveDataRepository, IPlayerFactory playerFactory, Transform cameraTransform, TaskModel taskModel)
        {
            _taskModel          = taskModel;
            _saveDataRepository = saveDataRepository;
            _playerFactory      = playerFactory;
            _cameraTransform    = cameraTransform;
            _load  = load;
            _save  = save;
            _tasks = taskModel.GetTasks();

            _load.OnKeyPressed += LoadGame;
            _save.OnKeyPressed += SaveGame;
        }
示例#2
0
        public TaskController(TaskModel taskModel, TaskData taskData, GameContext context)
        {
            _taskModel   = taskModel;
            _taskObjects = taskModel.GetTasks();
            _taskbar     = Object.Instantiate(taskData.TaskStruct.TaskbarPrefab, context.Canvas.transform).GetComponent <TaskbarView>();
            _taskbar.Initialize(_taskObjects.Length, taskModel);
            taskModel.LoadTaskObject += LoadTaskObject;

            foreach (var taskObject in _taskObjects)
            {
                taskObject.Initialize(context.Canvas, taskData);
                taskObject.CompletedTask += CompleteTask;

                if (taskObject is TaskObjectExecutable executeTask)
                {
                    _executeTasks.Add(executeTask);
                }
            }
        }