53 lines
1.6 KiB
C#
53 lines
1.6 KiB
C#
//using GeoSus.Client;
|
|
using System;
|
|
using UnityEngine;
|
|
|
|
public enum TaskType
|
|
{
|
|
Task //TODO: Typy úkolù
|
|
}
|
|
|
|
|
|
|
|
public interface ITask
|
|
{
|
|
public string TaskID { get; } // Unikátní ID úkolu pro server
|
|
public TaskType TaskType { get; } // Typ úkolu
|
|
public string TaskName { get; } // Viditelný název úkolu
|
|
public (double, double) TaskLocation { get; } // Polohy na mapì
|
|
public bool IsCompleted { get; } // Stav dokonèení úkolu
|
|
|
|
void Initialize(Action<ITask> onCompleted); // Vytvoøení tasku + naètení postupu
|
|
void ExitTask(Action<ITask> onExit); // Pøi opuštìní úkolu poslat hotovo / uložit postup / reset
|
|
void Complete(); // Oznaèit úkol jako dokonèený, poslat na server a zavøít
|
|
|
|
}
|
|
/* Ukázoková implementace ITask
|
|
public class Wires : ITask{
|
|
public string TaskID { get; set; } // Unikátní ID úkolu pro server
|
|
public TaskType TaskType { get; set; } // Typ úkolu
|
|
public string TaskName { get; set; } // Viditelný název úkolu
|
|
public (double, double) TaskLocation { get; set; } // Poloha na mapì
|
|
public bool IsCompleted { get; private set; } // Stav dokonèení úkolu
|
|
private Action<ITask> _onCompleted;
|
|
|
|
public void Initialize(Action<ITask> onCompleted) // Vytvoøení tasku
|
|
{
|
|
IsCompleted = false;
|
|
_onCompleted = onCompleted;
|
|
}
|
|
public void ExitTask(Action<ITask> onExit) //Zavøení tasku
|
|
{
|
|
onExit?.Invoke(this);
|
|
}
|
|
public void Complete() // Dokonèení tasku a zavøení
|
|
{
|
|
IsCompleted = true;
|
|
_onCompleted?.Invoke(this);
|
|
ExitTask(null);
|
|
}
|
|
|
|
|
|
|
|
}
|
|
*/ |