<feat> 스플래쉬 화면전환 및 프로그램 생성
This commit is contained in:
62
Assets/Scripts/Presenter/ProgramPresenter.cs
Normal file
62
Assets/Scripts/Presenter/ProgramPresenter.cs
Normal file
@@ -0,0 +1,62 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class ProgramPresenter
|
||||
{
|
||||
private ProgramModel model;
|
||||
private ProgramView view;
|
||||
|
||||
public ProgramPresenter(ProgramModel model, ProgramView view)
|
||||
{
|
||||
this.model = model;
|
||||
this.view = view;
|
||||
|
||||
this.view.OnCreateProgramClicked += HandleCreateProgram;
|
||||
this.view.OnLoadProgramListRequested += HandleLoadProgramList;
|
||||
this.view.OnProgramSelectedToLoad += HandleProgramSelected;
|
||||
this.view.OnSaveClicked += HandleSaveProgram;
|
||||
this.view.OnAddPointClicked += HandleAddPoint;
|
||||
}
|
||||
|
||||
private void HandleCreateProgram(string programId)
|
||||
{
|
||||
if (model.CreateNewProgram(programId))
|
||||
{
|
||||
view.DisplayProgram(model.CurrentProgram);
|
||||
}
|
||||
else
|
||||
{
|
||||
view.ShowMessage($"Error: Program ID '{programId}.job' already exists or is invalid.");
|
||||
}
|
||||
}
|
||||
|
||||
private void HandleLoadProgramList()
|
||||
{
|
||||
var programIds = model.GetAllProgramIds();
|
||||
view.ShowProgramList(programIds);
|
||||
}
|
||||
|
||||
private void HandleProgramSelected(string programId)
|
||||
{
|
||||
if (model.LoadProgram(programId))
|
||||
{
|
||||
view.DisplayProgram(model.CurrentProgram);
|
||||
}
|
||||
view.HideProgramList();
|
||||
}
|
||||
|
||||
private void HandleSaveProgram()
|
||||
{
|
||||
model.SaveCurrentProgram();
|
||||
// UI 갱신이 필요하다면 여기에 추가 (예: 저장 완료 메시지)
|
||||
}
|
||||
|
||||
private void HandleAddPoint()
|
||||
{
|
||||
// 실제로는 UI상의 좌표나 로봇 엔드포인트 좌표를 받아와야 함
|
||||
// 여기서는 예시로 랜덤 좌표를 사용
|
||||
Vector3 newPoint = new Vector3(Random.Range(-1f, 1f), Random.Range(0f, 1f), Random.Range(-1f, 1f));
|
||||
|
||||
model.AddPointToCurrentProgram(newPoint);
|
||||
view.DisplayProgram(model.CurrentProgram);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user