PlantList
This commit is contained in:
1 parent
ba49ef5015
commit
7c207ef5b9
44 files changed
+2795
-1147
No files matched your search
@@ -22,7 +22,7 @@ namespace Code.Calendar.DataStructures
|
||||
public bool Active;
|
||||
|
||||
public string Description;
|
||||
public DateTime Date;
|
||||
public DateTime Date; // Если периодичная, то дата первого мероприятия
|
||||
|
||||
public bool IsPeriodic;
|
||||
public int PeriodicInterval;
|
||||
|
||||
@@ -28,11 +28,18 @@ namespace Code.Calendar.DataStructures
|
||||
{
|
||||
_eventBus = eventBus;
|
||||
|
||||
LoadJsonTasks().Forget();
|
||||
LoadJsonPlants().Forget();
|
||||
}
|
||||
|
||||
private async UniTaskVoid LoadJsonTasks()
|
||||
private async UniTaskVoid LoadJsonPlants()
|
||||
{
|
||||
if (_inAction)
|
||||
{
|
||||
_reUseLoadRequest = true;
|
||||
return;
|
||||
}
|
||||
_inAction = true;
|
||||
|
||||
var path = Path.Combine(Application.persistentDataPath, "Plants.json");
|
||||
|
||||
if (File.Exists(path))
|
||||
@@ -46,16 +53,19 @@ namespace Code.Calendar.DataStructures
|
||||
await using (File.Create(path)) { }
|
||||
}
|
||||
|
||||
_eventBus.RaiseEvent<IPlantsServiceInitHandle>(x=> x.PlantsLoaded());
|
||||
_inAction = false;
|
||||
|
||||
if(!_reUseLoadRequest) _eventBus.RaiseEvent<IPlantsServiceInitHandle>(x=> x.PlantsLoaded());
|
||||
else LoadJsonPlants().Forget();
|
||||
}
|
||||
|
||||
private bool _inAction, _reUseRequest;
|
||||
private bool _inAction, _reUseSaveRequest, _reUseLoadRequest;
|
||||
|
||||
private async UniTaskVoid SaveJsonTasks()
|
||||
private async UniTaskVoid SaveJsonPlants()
|
||||
{
|
||||
if (_inAction)
|
||||
{
|
||||
_reUseRequest = true;
|
||||
_reUseSaveRequest = true;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -69,8 +79,8 @@ namespace Code.Calendar.DataStructures
|
||||
|
||||
_inAction = false;
|
||||
|
||||
if(!_reUseRequest) _eventBus.RaiseEvent<IPlantsServiceInitHandle>(x=> x.PlantsSaved());
|
||||
else SaveJsonTasks().Forget();
|
||||
if(!_reUseSaveRequest) _eventBus.RaiseEvent<IPlantsServiceInitHandle>(x=> x.PlantsSaved());
|
||||
else SaveJsonPlants().Forget();
|
||||
}
|
||||
|
||||
public void AddPlant(Plant plant)
|
||||
@@ -79,20 +89,20 @@ namespace Code.Calendar.DataStructures
|
||||
|
||||
_plants.Add(plant);
|
||||
|
||||
SaveJsonTasks().Forget();
|
||||
SaveJsonPlants().Forget();
|
||||
}
|
||||
|
||||
public void EditPlant(Guid guid, Plant newPlant)
|
||||
{
|
||||
_plants[_plants.FindIndex(x => x.Id == guid)] = newPlant;
|
||||
|
||||
SaveJsonTasks().Forget();
|
||||
SaveJsonPlants().Forget();
|
||||
}
|
||||
public void DeletePlant(Plant plant)
|
||||
{
|
||||
_plants.Remove(plant);
|
||||
|
||||
SaveJsonTasks().Forget();
|
||||
SaveJsonPlants().Forget();
|
||||
}
|
||||
|
||||
public Plant GetPlant(Guid plantId) => _plants.FirstOrDefault(x => x.Id == plantId);
|
||||
@@ -100,7 +110,7 @@ namespace Code.Calendar.DataStructures
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
SaveJsonTasks().Forget();
|
||||
SaveJsonPlants().Forget();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -76,9 +76,9 @@ namespace Code.Calendar.DataStructures
|
||||
|
||||
public void AddTask(Task task)
|
||||
{
|
||||
_tasks.Add(task);
|
||||
|
||||
task.Id = Guid.NewGuid();
|
||||
|
||||
_tasks.Add(task);
|
||||
|
||||
SaveJsonTasks().Forget();
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user