diff --git a/Assets/Resources/Image.meta b/Assets/Resources/Images.meta similarity index 100% rename from Assets/Resources/Image.meta rename to Assets/Resources/Images.meta diff --git a/Assets/Resources/Image/background.png b/Assets/Resources/Images/background.png similarity index 100% rename from Assets/Resources/Image/background.png rename to Assets/Resources/Images/background.png diff --git a/Assets/Resources/Image/background.png.meta b/Assets/Resources/Images/background.png.meta similarity index 100% rename from Assets/Resources/Image/background.png.meta rename to Assets/Resources/Images/background.png.meta diff --git a/Assets/Resources/Image/backspace.png b/Assets/Resources/Images/backspace.png similarity index 100% rename from Assets/Resources/Image/backspace.png rename to Assets/Resources/Images/backspace.png diff --git a/Assets/Resources/Image/backspace.png.meta b/Assets/Resources/Images/backspace.png.meta similarity index 100% rename from Assets/Resources/Image/backspace.png.meta rename to Assets/Resources/Images/backspace.png.meta diff --git a/Assets/Resources/Image/button_create.png b/Assets/Resources/Images/button_create.png similarity index 100% rename from Assets/Resources/Image/button_create.png rename to Assets/Resources/Images/button_create.png diff --git a/Assets/Resources/Image/button_create.png.meta b/Assets/Resources/Images/button_create.png.meta similarity index 100% rename from Assets/Resources/Image/button_create.png.meta rename to Assets/Resources/Images/button_create.png.meta diff --git a/Assets/Resources/Image/button_num.png b/Assets/Resources/Images/button_num.png similarity index 100% rename from Assets/Resources/Image/button_num.png rename to Assets/Resources/Images/button_num.png diff --git a/Assets/Resources/Image/button_num.png.meta b/Assets/Resources/Images/button_num.png.meta similarity index 100% rename from Assets/Resources/Image/button_num.png.meta rename to Assets/Resources/Images/button_num.png.meta diff --git a/Assets/Resources/Image/download.png b/Assets/Resources/Images/download.png similarity index 100% rename from Assets/Resources/Image/download.png rename to Assets/Resources/Images/download.png diff --git a/Assets/Resources/Image/download.png.meta b/Assets/Resources/Images/download.png.meta similarity index 100% rename from Assets/Resources/Image/download.png.meta rename to Assets/Resources/Images/download.png.meta diff --git a/Assets/Resources/Image/logo_program.png b/Assets/Resources/Images/logo_program.png similarity index 100% rename from Assets/Resources/Image/logo_program.png rename to Assets/Resources/Images/logo_program.png diff --git a/Assets/Resources/Image/logo_program.png.meta b/Assets/Resources/Images/logo_program.png.meta similarity index 100% rename from Assets/Resources/Image/logo_program.png.meta rename to Assets/Resources/Images/logo_program.png.meta diff --git a/Assets/Resources/Materials.meta b/Assets/Resources/Materials.meta new file mode 100644 index 0000000..e2fbbae --- /dev/null +++ b/Assets/Resources/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bcb92e77bd548574f8f4b48f5fd1e3c1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Materials/Mat_Red.mat b/Assets/Resources/Materials/Mat_Red.mat new file mode 100644 index 0000000..8b5817a --- /dev/null +++ b/Assets/Resources/Materials/Mat_Red.mat @@ -0,0 +1,136 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-8305441673117509560 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Mat_Red + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 0.6666667, b: 0.6666667, a: 1} + - _Color: {r: 1, g: 0.6666667, b: 0.6666667, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/Resources/Materials/Mat_Red.mat.meta b/Assets/Resources/Materials/Mat_Red.mat.meta new file mode 100644 index 0000000..8560500 --- /dev/null +++ b/Assets/Resources/Materials/Mat_Red.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: df96bbc2c295a7d4bbb26fdeab9193dd +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/AppManager.cs b/Assets/Scripts/AppManager.cs index 064f5a1..67de408 100644 --- a/Assets/Scripts/AppManager.cs +++ b/Assets/Scripts/AppManager.cs @@ -3,13 +3,15 @@ using UnityEngine; public class AppManager : MonoBehaviour { [SerializeField] private ProgramView view; + [SerializeField] private RobotController robotController; void Start() { ProgramModel model = new ProgramModel(); - ProgramPresenter presenter = new ProgramPresenter(model, view); + presenter.RegisterControlledRobot(robotController); + view.DisplayProgram(null); } } diff --git a/Assets/Scripts/Model/RobotProgram.cs b/Assets/Scripts/Model/RobotProgram.cs index 18b683f..7e2aa44 100644 --- a/Assets/Scripts/Model/RobotProgram.cs +++ b/Assets/Scripts/Model/RobotProgram.cs @@ -7,10 +7,12 @@ public class RobotProgram { public string programId; public List endpointPositions; + private bool motorState; public RobotProgram(string id) { programId = id; endpointPositions = new List(); + motorState = true; } } \ No newline at end of file diff --git a/Assets/Scripts/Presenter/ProgramPresenter.cs b/Assets/Scripts/Presenter/ProgramPresenter.cs index 4797463..b10c0e2 100644 --- a/Assets/Scripts/Presenter/ProgramPresenter.cs +++ b/Assets/Scripts/Presenter/ProgramPresenter.cs @@ -4,6 +4,7 @@ public class ProgramPresenter { private ProgramModel model; private ProgramView view; + private RobotController controlledRobot; public ProgramPresenter(ProgramModel model, ProgramView view) { @@ -17,11 +18,31 @@ public class ProgramPresenter this.view.OnAddPointClicked += HandleAddPoint; } + public void RegisterControlledRobot(RobotController robot) + { + this.controlledRobot = robot; + } + + public void OnApplicationStart() + { + if (controlledRobot != null) + { + Debug.Log("·Îº¿ ¸ðÅ͸¦ ON »óÅ·Π¼³Á¤ÇÕ´Ï´Ù."); + controlledRobot.SetMotorState(true); + } + else + { + Debug.LogError("Á¦¾îÇÒ ·Îº¿ÀÌ µî·ÏµÇÁö ¾Ê¾Ò½À´Ï´Ù"); + } + } + private void HandleCreateProgram(string programId) { if (model.CreateNewProgram(programId)) { view.DisplayProgram(model.CurrentProgram); + view.HideProgramSelectPanel(); + OnApplicationStart(); } else { @@ -40,8 +61,11 @@ public class ProgramPresenter if (model.LoadProgram(programId)) { view.DisplayProgram(model.CurrentProgram); + view.HideProgramSelectPanel(); + view.HideProgramList(); + + OnApplicationStart(); } - view.HideProgramList(); } private void HandleSaveProgram() diff --git a/Assets/Scripts/View/ProgramView.cs b/Assets/Scripts/View/ProgramView.cs index a6e1ce9..501c70b 100644 --- a/Assets/Scripts/View/ProgramView.cs +++ b/Assets/Scripts/View/ProgramView.cs @@ -15,6 +15,7 @@ public class ProgramView : MonoBehaviour //[SerializeField] private TextMeshProUGUI endpointListText; // --- ÇÁ·Î±×·¥ ¸ñ·Ï ÆÐ³Î --- + [SerializeField] private GameObject programSelectPanel; [SerializeField] private GameObject programListPanel; [SerializeField] private Transform programButtonContent; [SerializeField] private GameObject programButtonPrefab; @@ -49,6 +50,7 @@ public class ProgramView : MonoBehaviour loadIconButton.onClick.AddListener(HandleLoadIconClick); closeProgramListButton.onClick.AddListener(HideProgramList); + programSelectPanel.SetActive(true); programListPanel.SetActive(false); loadProgramButton.gameObject.SetActive(false); programIdText.text = string.Empty; @@ -86,12 +88,14 @@ public class ProgramView : MonoBehaviour public void DisplayProgram(RobotProgram program) { - //if (program == null) - //{ - // currentProgramIdText.text = "No Program Loaded"; - // endpointListText.text = ""; - // return; - //} + if (program == null) + { + //currentProgramIdText.text = "No Program Loaded"; + //endpointListText.text = ""; + Debug.Log("No Program Loaded"); + return; + } + Debug.Log($"¿¬°áµÈ ÇÁ·Î±×·¥: {program.programId}.job"); //currentProgramIdText.text = "Current: " + program.programId; @@ -137,4 +141,9 @@ public class ProgramView : MonoBehaviour { programListPanel.SetActive(false); } + + public void HideProgramSelectPanel() + { + programSelectPanel.SetActive(false); + } } \ No newline at end of file