164 lines
4.5 KiB
C#
164 lines
4.5 KiB
C#
|
|
using JetBrains.Annotations;
|
|||
|
|
using System.Collections;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using UnityEngine;
|
|||
|
|
using UnityEngine.UI;
|
|||
|
|
|
|||
|
|
public class NPCScreen : MonoBehaviour
|
|||
|
|
{
|
|||
|
|
static bool ScreenOn;
|
|||
|
|
public GameObject Screen;
|
|||
|
|
public int NPCID;
|
|||
|
|
public Text NPCName;
|
|||
|
|
private string NPCScreenName;
|
|||
|
|
public GameObject DialogueScreen;
|
|||
|
|
public Text Dialogue;
|
|||
|
|
public GameObject NameText;
|
|||
|
|
public MOW mOW;
|
|||
|
|
public bool AllowMove;
|
|||
|
|
|
|||
|
|
private int language;
|
|||
|
|
|
|||
|
|
public int LNPC ;
|
|||
|
|
public int NPC0QP;
|
|||
|
|
|
|||
|
|
private void Start()
|
|||
|
|
{
|
|||
|
|
LNPC = PlayerPrefs.GetInt("LNPC0");
|
|||
|
|
NPC0QP = PlayerPrefs.GetInt("NPC0QP");
|
|||
|
|
language = PlayerPrefs.GetInt("LanguageID");
|
|||
|
|
DialogueScreen.SetActive(false);
|
|||
|
|
mOW = GameObject.Find("Player").GetComponent<MOW>();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void CheckPlayer()
|
|||
|
|
{
|
|||
|
|
Collider2D[] collider = Physics2D.OverlapCircleAll(transform.position, 2);
|
|||
|
|
ScreenOn = collider.Length > 1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void Update()
|
|||
|
|
{
|
|||
|
|
CheckPlayer();
|
|||
|
|
Screen.SetActive(ScreenOn);
|
|||
|
|
switch(NPCID)
|
|||
|
|
{
|
|||
|
|
case 0:
|
|||
|
|
NPCScreenName = "Rainbow";
|
|||
|
|
break;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void OpenDialogue()
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
NPCName.text = NPCScreenName;
|
|||
|
|
DialogueScreen.SetActive(true);
|
|||
|
|
mOW.AllowMove = false;
|
|||
|
|
switch (NPCID)
|
|||
|
|
{
|
|||
|
|
case 0:
|
|||
|
|
RainbowD();
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void CloseDialogue()
|
|||
|
|
{
|
|||
|
|
DialogueScreen.SetActive(false);
|
|||
|
|
mOW.AllowMove=true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void NextMessage()
|
|||
|
|
{
|
|||
|
|
switch (NPCID)
|
|||
|
|
{
|
|||
|
|
case 0:
|
|||
|
|
if (LNPC == 3)
|
|||
|
|
{
|
|||
|
|
LNPC = -1;
|
|||
|
|
PlayerPrefs.SetInt("LNPC0", LNPC);
|
|||
|
|
NPC0QP = 1;
|
|||
|
|
PlayerPrefs.SetInt("NPC0QP", NPC0QP);
|
|||
|
|
RainbowD();
|
|||
|
|
}
|
|||
|
|
if (LNPC >= 0 && LNPC < 5)
|
|||
|
|
{
|
|||
|
|
LNPC += 1;
|
|||
|
|
PlayerPrefs.SetInt("LNPC0", LNPC);
|
|||
|
|
RainbowD();
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
switch (NPC0QP)
|
|||
|
|
{
|
|||
|
|
case 2:
|
|||
|
|
LNPC = 4;
|
|||
|
|
NPC0QP = 3;
|
|||
|
|
PlayerPrefs.SetInt("LNPC0", LNPC);
|
|||
|
|
PlayerPrefs.SetInt("NPC0QP", NPC0QP);
|
|||
|
|
break;
|
|||
|
|
case 5:
|
|||
|
|
LNPC = 9;
|
|||
|
|
PlayerPrefs.SetInt("LNPC0", LNPC);
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void RainbowD()
|
|||
|
|
{
|
|||
|
|
switch (language)
|
|||
|
|
{
|
|||
|
|
case 0:
|
|||
|
|
switch(LNPC)
|
|||
|
|
{
|
|||
|
|
case 0:
|
|||
|
|
Dialogue.text = "Hello";
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
break;
|
|||
|
|
|
|||
|
|
case 1:
|
|||
|
|
switch (LNPC)
|
|||
|
|
{
|
|||
|
|
case -1:
|
|||
|
|
Dialogue.text = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
|||
|
|
break;
|
|||
|
|
case 0:
|
|||
|
|
Dialogue.text = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.";
|
|||
|
|
break;
|
|||
|
|
case 1:
|
|||
|
|
Dialogue.text = "<22> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.";
|
|||
|
|
break;
|
|||
|
|
case 2:
|
|||
|
|
Dialogue.text = "<22> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>.";
|
|||
|
|
break;
|
|||
|
|
case 3:
|
|||
|
|
Dialogue.text = "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.";
|
|||
|
|
break;
|
|||
|
|
case 4:
|
|||
|
|
Dialogue.text = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. ";
|
|||
|
|
break;
|
|||
|
|
case 5:
|
|||
|
|
Dialogue.text = "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?";
|
|||
|
|
break;
|
|||
|
|
case 6:
|
|||
|
|
Dialogue.text = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ";
|
|||
|
|
break;
|
|||
|
|
case 9:
|
|||
|
|
Dialogue.text = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|