| | |
| | | public class ClientTreasureDungeonStage : DungeonStage
|
| | | { |
| | | static readonly Vector3 PlayerBornPosition = new Vector3(24.496f, 0.048f, 8.258f); |
| | | static readonly Vector3 NpcBornPosition = new Vector3(9.45f, 0.04f, 8.258f); |
| | | static readonly Vector3 NpcBornPosition = new Vector3(7.5f, 0.04f, 8.02239f); |
| | | |
| | | bool initialized = false; |
| | | |
| | |
| | | static GA_NpcClientFunc m_Npc; |
| | | |
| | | Clock fightEndClock = null; |
| | | |
| | | bool npcClick = false; |
| | | |
| | | static bool IsCompleteDialogue = false; |
| | | |
| | |
| | | }
|
| | |
|
| | | IsCompleteDialogue = false;
|
| | | npcClick = true;
|
| | |
|
| | | NormalDialogueWin.onDialogueComplete -= OnDialogueComplete;
|
| | | NormalDialogueWin.onDialogueComplete += OnDialogueComplete;
|
| | | GlobalTimeEvent.Instance.secondEvent -= PerSecond;
|
| | | GlobalTimeEvent.Instance.secondEvent += PerSecond;
|
| | | } |
| | | |
| | | protected override void OnStageLoadFinish()
|
| | |
| | | NormalDialogueWin.dialogues = dialogues;
|
| | | NormalDialogueWin.speakTypes = speakTypes;
|
| | | NormalDialogueWin.npcId = dialogueNpcId;
|
| | | NormalDialogueWin.autoSeconds = 10;
|
| | | WindowCenter.Instance.Open<NormalDialogueWin>();
|
| | | }
|
| | |
|
| | |
| | | if (!IsCompleteDialogue)
|
| | | {
|
| | | ClientTreasureDungeon.RequestExit();
|
| | | }
|
| | | }
|
| | |
|
| | | private void PerSecond()
|
| | | {
|
| | | var hero = PlayerDatas.Instance.hero;
|
| | | if (hero == null || m_Npc == null)
|
| | | {
|
| | | return;
|
| | | }
|
| | | bool isAuto = hero.aiHandler != null && hero.aiHandler.IsAuto();
|
| | | if (!hero.IsIdle())
|
| | | {
|
| | | return;
|
| | | }
|
| | | var dis = MathUtility.DistanceSqrtXZ(m_Npc.Pos, hero.Pos);
|
| | | if (isAuto && dis <= 15f && !IsCompleteDialogue)
|
| | | {
|
| | | npcClick = false;
|
| | | hero.Behaviour.StopHandupAI(true);
|
| | | if (!WindowCenter.Instance.IsOpen<NormalDialogueWin>())
|
| | | {
|
| | | m_Npc.OnClick();
|
| | | }
|
| | | }
|
| | | if (dis <= 2f && !npcClick)
|
| | | {
|
| | | npcClick = true;
|
| | | m_Npc.OnClick();
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | UnInitializedNpc();
|
| | |
|
| | | NPCInteractProcessor.s_NpcInteractEvent -= OnNpcTalkEvent;
|
| | | NormalDialogueWin.onDialogueComplete -= OnDialogueComplete; |
| | | NormalDialogueWin.onDialogueComplete -= OnDialogueComplete;
|
| | | GlobalTimeEvent.Instance.secondEvent -= PerSecond; |
| | | }
|
| | | } |