using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[System.Serializable]
public class Dialogue
{
// 여러줄을 쓸 수 있게 해준다.
[TextArea]
public string dialogue;
}
public class text_log : MonoBehaviour
{
static public int npc_talk_int=0;
public Text txt_Dialogue;
public Button button_1;
public Button button_2;
public Button button_3;
public GameObject panel;
public Button tip_button_1;
public Button tip_button_2;
public Button tip_button_exit;
// [SerializeField] 을 달면 유니티 inspector 창에서 해당 변수를 조작 할 수 있다.
static public bool isDialogue = true;
// 대화가 얼마나 진행 되었는지 확인
private int count = 0;
static private String[] dialogue; // 대화가 들어가는 배열
private void Awake()
{
dialogue = new String[100];
// 처음 intro 대사
dialogue[0] = "[농부]\n\n안녕하세요 플레이어님 반가워요";
dialogue[1] = "[농부]\n\n날씨가 아주 화창하군요! 감자 심기 좋은날이네요";
dialogue[2] = "[농부]\n\n그럼 지금 감자 심기를 배워 보도록 하겠습니다.";
dialogue[3] = "[농부]\n\n혹시 추가적으로 감자에 관해 알고 싶다면 앞에 저를 레이저 포인터로 클릭 해주세요";
dialogue[4] = "[농부]\n\n레이저 포인터는 뒤로가기 버튼을 클릭하면 켜집니다.";
dialogue[5] = "[농부]\n\n다시 누르면 꺼집니다.";
dialogue[6] = "[농부]\n\n레이저 포인터가 켜져있는 상태로, 리모컨의 큰 원을 클릭하세요 ";
dialogue[7] = "[농부]\n\n그럼 레이저 포인터가 가르키고 있는 대상과 상호 작용 할 수 있게 됩니다.";
dialogue[8] = "[농부]\n\n준비가 되었다면 저에게 알려주세요";
dialogue[9] = "[농부]\n\n준비가 되었다면 저에게 알려주세요";
dialogue[10] = "end";
//main_대사
dialogue[12] = "[농부]\n\n무었을 도와드릴까요?";
// 감자 특징 설명
dialogue[15] = "[농부]\n\n감자는 뿌리가 아닌 줄기가 비대 된 것으로 대표적인 구황작물(기후가 불순하여 흉년이 들어 곡식이 부족할 때 주곡 대신 소비할 수 있는 작물)입니다." +
"\n감자는 재배기간이 짧아서 서늘한 이른 봄에 심어 여름 장마가 시작되기 전에 수확할 수 있습니다.";
dialogue[16] = "[농부]\n\n더워지면서 힘들고 지루해 질 수 있는 텃밭 활동에 감자를 수확함으로써 즐거움과 성취감을 느낄 수 있습니다." +
"\n감자의 80 % 는 수분으로 이루어져 있으며 주성분은 전분이다.맛이 좋고, 포만감을 주어 다양한 요리에 쓰입니다.";
dialogue[17] = "[농부]\n\n또한 껍질은 주방에서 물때와 기름때, 옷에 묻은 얼룩을 쉽게 제거할 수 있습니다." +
"\n씨감자는 일반 종묘상에서 구할 수 있는데 초보자는 크기가 큰 수미감자를 선택하는 것이 좋습니다.";
dialogue[18] = "[농부]\n\n수확한 감자를 씨감자로 사용할 수 있으나 바이러스 감염이나 수확량에 영향을 줄 수 있으므로 사용하지 않는 것이 좋습니다." +
"\n휴면성이 있어서 수확 후 바로 싹이 나지 않으며 90~100일 정도 지나야 싹이 나므로 비교적 장기간 실온 보관을 할 수 있습니다.";
dialogue[19] = "[농부]\n\n수확한 감자를 씨감자로 사용할 수 있으나 바이러스 감염이나 수확량에 영향을 줄 수 있으므로 사용하지 않는 것이 좋습니다." +
"\n휴면성이 있어서 수확 후 바로 싹이 나지 않으며 90~100일 정도 지나야 싹이 나므로 비교적 장기간 실온 보관을 할 수 있습니다.";
dialogue[20] = "end";
dialogue[21] = "";
// 플레이어 이동 & 비료주기
dialogue[26] = "<TIP>\n\n- 플레이어는 원형 버튼 터치를 이용하여 플레이어가 바라보는 방향으로 이동 가능합니다." +
"\n- 플레이어는 빈 손 상태인 경우 아이템을 착용할 수 있습니다." +
"\n- 아이템이 착용된 상태인 경우 “뒤로가기” 버튼을 누르면 해제됩니다." +
"\n\n<HOW TO USE>\n- 비료가 담긴 바구니를 “트리거 버튼”을 이용하여 착용합니다. " +
"\n- 지정된 트리거에 위치하여 “트리거 버튼”을 눌러 비료를 뿌립니다.";
dialogue[27] = "<TIP>\n\n- 플레이어는 원형 버튼 터치를 이용하여 플레이어가 바라보는 방향으로 이동 가능합니다." +
"\n- 플레이어는 빈 손 상태인 경우 아이템을 착용할 수 있습니다." +
"\n- 아이템이 착용된 상태인 경우 “뒤로가기” 버튼을 누르면 해제됩니다." +
"\n\n<HOW TO USE>\n- 비료가 담긴 바구니를 “트리거 버튼”을 이용하여 착용합니다. " +
"\n- 지정된 트리거에 위치하여 “트리거 버튼”을 눌러 비료를 뿌립니다.";
dialogue[28] = "end";
// 삽 & 모종삽 사용하기
dialogue[29] = "<HOW TO USE>\n- 삽을 들고 “트리거 버튼”을 누르면 “두둑 트리거”가 활성화됩니다. "
+ "\n\n- 삽에 흙이 없는 상태인 경우\n - “삽질용 트리거”만 활성화되며, “트리거 버튼”을 누르면 삽질 가능. "
+ "\n - 특정 트리거에 삽질하면 해당 지점의 높이가 낮아지고, 삽에 흙이 쌓임."
+ "\n - 기준치 이상 삽질하면 비활성화됨."
+ "\n\n- 삽에 흙이 있는 상태인 경우"
+ "\n - “두둑용 트리거”만 활성화되며, “트리거 버튼”을 누르면 두둑 가능."
+ "\n - 특정 트리거에 두둑하면 해당 지점의 높이가 높아지고, 삽에 흙 x."
+ "\n - 기준치 이상 두둑하면 비활성화됨.";
dialogue[30] = "<HOW TO USE>\n"
+ "\n - 모종삽을 들고 “트리거 버튼”을 누르면 “두둑 구멍 트리거”가 활성화됩니다."
+ "\n - 모종삽을 든 상태에서 쌓인 흙을 향하여 “트리거 버튼”을 누르면 흙이 파집니다."
+ "\n - 일정량 흙을 파게 될 경우 “두둑 구멍 트리거”가 비활성화됩니다.";
dialogue[31] = "<HOW TO USE>\n"
+ "\n - 모종삽을 들고 “트리거 버튼”을 누르면 “두둑 구멍 트리거”가 활성화됩니다."
+ "\n - 모종삽을 든 상태에서 쌓인 흙을 향하여 “트리거 버튼”을 누르면 흙이 파집니다."
+ "\n - 일정량 흙을 파게 될 경우 “두둑 구멍 트리거”가 비활성화됩니다.";
dialogue[32] = "end";
//씨감자 사용하기
dialogue[33] = "<HOW TO USE>\n"
+ "\n - 씨감자가 담긴 박스를 향하여 “트리거 버튼”을 누르면 일정량의 씨감자(10개)를 얻습니다."
+ "\n - 씨감자를 드는 순간 “구멍 콜라이더”가 활성화됩니다."
+ "\n - 씨감자를 든 상태에서 구멍 콜라이더를 향하여 “트리거 버튼”을 누르면 심어집니다.";
dialogue[34] = "<HOW TO USE>\n"
+ "- 모종삽을 든 상태에서 주변의 흙을 향하여 “트리거 버튼”을 누르면 흙이 생성됩니다."
+ "\n - 흙이 담긴 모종삽을 이용하여 “구멍 콜라이더2”를 향하여 “트리거 버튼”을 누르면 흙이조금씩 올라갑니다."
+ "\n - 총 3회 이상 흙을 주면 “구멍 콜라이더2”가 비활성화됩니다.";
dialogue[35] = "<HOW TO USE>\n"
+ "- 모종삽을 든 상태에서 주변의 흙을 향하여 “트리거 버튼”을 누르면 흙이 생성됩니다."
+ "\n - 흙이 담긴 모종삽을 이용하여 “구멍 콜라이더2”를 향하여 “트리거 버튼”을 누르면 흙이조금씩 올라갑니다."
+ "\n - 총 3회 이상 흙을 주면 “구멍 콜라이더2”가 비활성화됩니다.";
dialogue[36] = "end";
// 호미삽으로 북주기
dialogue[37] = "<HOW TO USE>\n"
+ "\n - 호미삽을 향하여 “트리거 버튼”을 누르면 장착됩니다."
+ "\n - 호미삽을 드는 순간 “북주기 트리거”가 활성화됩니다."
+ "\n - 호미삽을 든 상태로 “트리거 버튼”을 누르면 호미삽이 일정 거리 앞으로 향합니다."
+ "\n - 만약 호미삽이 “북주기 트리거”에 닿을 경우 (Enter 호출될 시) 흙의 양이 소폭 증가합니다."
+ "\n - 5번 정도 트리거에 닿을 경우 해당 “북주기 트리거”는 비활성화됩니다.";
dialogue[38] = "<HOW TO USE>\n"
+ "\n - 호미삽을 향하여 “트리거 버튼”을 누르면 장착됩니다."
+ "\n - 호미삽을 드는 순간 “북주기 트리거”가 활성화됩니다."
+ "\n - 호미삽을 든 상태로 “트리거 버튼”을 누르면 호미삽이 일정 거리 앞으로 향합니다."
+ "\n - 만약 호미삽이 “북주기 트리거”에 닿을 경우 (Enter 호출될 시) 흙의 양이 소폭 증가합니다."
+ "\n - 5번 정도 트리거에 닿을 경우 해당 “북주기 트리거”는 비활성화됩니다.";
dialogue[39] = "end";
// 벌레 잡기 & 감자 재배
dialogue[40] = "<HOW TO USE>\n"
+ "\n - 맨손인 상태에서 “23점박이무당벌레”를 향하여 “트리거 버튼”을 누르면 병해충이 사라집니다."
+ "\n< HOW TO USE>\n"
+ "\n- 호미삽을 들고 다 자란 감자의 흙 부분에 있는 트리거를 5번 건들면 수확 완료";
dialogue[41] = "<HOW TO USE>\n"
+ "\n - 맨손인 상태에서 “23점박이무당벌레”를 향하여 “트리거 버튼”을 누르면 병해충이 사라집니다."
+ "\n< HOW TO USE>\n"
+ "\n- 호미삽을 들고 다 자란 감자의 흙 부분에 있는 트리거를 5번 건들면 수확 완료";
dialogue[42] = "end";
Button_SetActive(false);
}
private void Start()
{
NextDialogue();
}
public void talk_npc()
{
Button_SetActive(true);
count =12;
}
private void NextDialogue()
{
count++;
}
public void onClick_feature() // 감자 특징 알아보기
{
isDialogue = true;
Button_SetActive(false);
count = 15;
npc_talk_int = 0;
NextDialogue();
}
public void onClick_learning() // 감자 키우는법 학습하기
{
Button_SetActive(false);
npc_talk_int = 0;
panel.SetActive(true);
}
public void onClick_tip_1() // 플레이어 이동 & 비료주기
{
panel.SetActive(false);
isDialogue = true;
count = 26;
npc_talk_int = 0;
NextDialogue();
}
public void onClick_tip_2() // 삽 & 모종삽 사용하기
{
panel.SetActive(false);
isDialogue = true;
count = 29;
npc_talk_int = 0;
NextDialogue();
}
public void onClick_tip_exit() // 학습하기 창에서 나가기 클릭
{
panel.SetActive(false);
npc_talk_int = 1;
}
public void Button_SetActive(bool set)
{
button_1.gameObject.SetActive(set);
button_2.gameObject.SetActive(set);
button_3.gameObject.SetActive(set);
}
void Update()
{
// 감자 키우는법 학습하기 클릭시
if (Input.GetKeyDown(KeyCode.Keypad1))
{
if (button_1.gameObject.activeSelf == true)
{
}
}
// 감자 특징 알아보기 클릭시
else if (Input.GetKeyDown(KeyCode.Keypad3))
{
if (button_3.gameObject.activeSelf == true)
{
}
}
// 플레이어 이동 & 비료주기
else if (Input.GetKeyDown(KeyCode.Keypad7))
{
if (tip_button_1.gameObject.activeSelf == true && npc_talk_int !=1)
{
}
}
// 나가기
else if (Input.GetKeyDown(KeyCode.Keypad8))
{
if (tip_button_exit.gameObject.activeSelf == true)
{
}
}
// 모종삽 이용하기
else if (Input.GetKeyDown(KeyCode.Keypad9))
{
if (tip_button_2.gameObject.activeSelf == true && npc_talk_int != 1)
{
}
}
if (npc_talk_int == 1)
{
isDialogue = false;
talk_npc();
}
if (isDialogue && dialogue[count] != null)
{
if(dialogue[count].Equals("end"))
{
npc_talk_int = 1;
}
else if (Input.GetKeyDown(KeyCode.G))
{
NextDialogue();
}
}
}
}