177 lines
8.0 KiB
C#
177 lines
8.0 KiB
C#
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using TMPro;
|
||
using UnityEngine;
|
||
using UnityEngine.UI;
|
||
|
||
public class NPC_Attach10002_2002 : NPC_Attach_Base
|
||
{
|
||
[HideInInspector]
|
||
public NPCController header;
|
||
[HideInInspector]
|
||
public NPCController custom;
|
||
public int headTalkIndex;
|
||
public int customIndex;
|
||
private void Awake()
|
||
{
|
||
var npcs = GameObject.FindObjectsOfType<NPCController>().ToList();
|
||
header = npcs.Find(a => a.triggerName == "NPC负责人");
|
||
custom = npcs.Find(a => a.triggerName == "NPC客户");
|
||
|
||
header.talkAction += HeadTalk;
|
||
custom.talkAction += CustomTalk;
|
||
}
|
||
|
||
public void Init()
|
||
{
|
||
headTalkIndex = 0;
|
||
customIndex = 0;
|
||
header.spriteRenderer.gameObject.SetActive(true);
|
||
custom.spriteRenderer.gameObject.SetActive(true);
|
||
}
|
||
/// <summary>
|
||
/// 工作负责人对话
|
||
/// </summary>
|
||
private void HeadTalk()
|
||
{
|
||
if (ProcessManager.Instance.IsRightSubProcessStepsTriggerID(header.triggerName, false) == 0)
|
||
{
|
||
if (headTalkIndex == 0)
|
||
{
|
||
//班前会
|
||
|
||
//人物站位
|
||
GameObject player=GameObject.FindGameObjectWithTag("Player");
|
||
player.transform.position = new Vector3(-41.85512f, 1.15004f, -96.16238f);
|
||
player.transform.eulerAngles = new Vector3(0, 1081.997f, 0);
|
||
|
||
GameManager.UIMgr.ShowPanel<UI_CustomSessionPanel>(E_UI_Layer.Mid, (panel) =>
|
||
{
|
||
string tmpstr = "";
|
||
if (GameManager.RunModelMgr.ModeType == E_ModeType.Study)
|
||
{
|
||
tmpstr = "着装规范、个人防护用品合格齐备、人员精神状态良好,可以开展工作!";
|
||
}
|
||
else
|
||
{
|
||
if (PacksackBagMgr.Instance.wearDic.ContainsKey("国网安全帽") && PacksackBagMgr.Instance.wearDic.ContainsKey("工作服") && PacksackBagMgr.Instance.wearDic.ContainsKey("编织手套") && PacksackBagMgr.Instance.wearDic.ContainsKey("绝缘靴") && PacksackBagMgr.Instance.wearDic.ContainsKey("护目镜"))
|
||
tmpstr = "着装规范、个人防护用品合格齐备、人员精神状态良好,可以开展工作!";
|
||
else
|
||
tmpstr = "着装不规范、个人防护用品合格齐备、人员精神状态良好,可以开展工作!";
|
||
}
|
||
|
||
panel.Init(header.triggerName, tmpstr, "工作负责人", 1, (intTemp) =>
|
||
{
|
||
GameManager.UIMgr.ShowPanel<UI_CustomSessionPanel>(E_UI_Layer.Mid, (panel2) =>
|
||
{
|
||
panel2.Init(header.triggerName, "今天工作内容是直接接入式电能计量装置轮换作业,工作地点是xxx,带电部分,计量箱及金属裸露部分等,现场作业安全措施根据工作票所列安全要求,落实安全措施.......。", "工作负责人", 1, (intTemp2) =>
|
||
{
|
||
ProcessManager.Instance.IsRightSubProcessStepsTriggerID(header.triggerName, true);
|
||
header.StopAnimator();
|
||
headTalkIndex++;
|
||
ScoreManager.instance.Check("班前会", null);
|
||
});
|
||
});
|
||
|
||
});
|
||
});
|
||
}
|
||
else if (headTalkIndex == 1)
|
||
{
|
||
if (customIndex > 2)
|
||
{
|
||
//工作票终结
|
||
GameManager.UIMgr.ShowPanel<UI_PlayerSessionPanel>(E_UI_Layer.Mid, (panel) =>
|
||
{
|
||
panel.Init("自己", "负责人,今日换表工作已完成", (intTemp) =>
|
||
{
|
||
GameManager.UIMgr.ShowPanel<UI_CustomSessionPanel>(E_UI_Layer.Mid, (panel2) =>
|
||
{
|
||
panel2.Init(header.triggerName, "好的", "工作负责人", 1, (initTmp) =>
|
||
{
|
||
//弹出工作票
|
||
ShowWorkTicket(() =>
|
||
{
|
||
ProcessManager.Instance.IsRightSubProcessStepsTriggerID(header.triggerName, true);
|
||
header.StopAnimator();
|
||
headTalkIndex++;
|
||
ScoreManager.instance.Check("工作票终结", null);
|
||
});
|
||
});
|
||
panel2.transform.Find("ClientSessionPanel/DOWN/ClientContinueBtn/Text (TMP)").GetComponent<TextMeshProUGUI>().text = "办理工作票终结";
|
||
});
|
||
}, 0);
|
||
});
|
||
}
|
||
}
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 客户对话
|
||
/// </summary>
|
||
private void CustomTalk()
|
||
{
|
||
if (ProcessManager.Instance.IsRightSubProcessStepsTriggerID(custom.triggerName, false) == 0)
|
||
{
|
||
if (customIndex == 0)
|
||
{
|
||
//与客户沟通
|
||
GameManager.UIMgr.ShowPanel<UI_CustomSessionPanel>(E_UI_Layer.Mid, (panel) =>
|
||
{
|
||
panel.Init(custom.triggerName, "您好。", "客户", 0, (intTemp) =>
|
||
{
|
||
ProcessManager.Instance.IsRightSubProcessStepsTriggerID(custom.triggerName, true);
|
||
custom.StopAnimator();
|
||
customIndex++;
|
||
});
|
||
});
|
||
}
|
||
else if (customIndex == 1)
|
||
{
|
||
//断电后对话
|
||
if ((LiveSceneManager.Instance.device_Control as Device_Control_2002).outSwitch.isOpen == false)
|
||
{
|
||
GameManager.UIMgr.ShowPanel<UI_CustomSessionPanel>(E_UI_Layer.Mid, (panel) =>
|
||
{
|
||
panel.Init(custom.triggerName, "您好,截止到目前,您家累计用电量是891.34度。", "客户", 0, (intTemp) =>
|
||
{
|
||
ProcessManager.Instance.IsRightSubProcessStepsTriggerID(custom.triggerName, true);
|
||
custom.StopAnimator();
|
||
customIndex++;
|
||
ScoreManager.instance.Check("告知用户电量", null);
|
||
});
|
||
});
|
||
}
|
||
}
|
||
else if (customIndex == 2)
|
||
{
|
||
//现场完工
|
||
Device_Control_2002 dc = LiveSceneManager.Instance.device_Control as Device_Control_2002;
|
||
if (!dc.sundries.gameObject.activeInHierarchy && !dc.meteringDevice.gameObject.name.Contains("原") && !dc.meteringDevice.cover.cover_seal_Left.isCut && !dc.meteringDevice.cover.cover_seal_Right.isCut)
|
||
{
|
||
GameManager.UIMgr.ShowPanel<UI_PlayerSessionPanel>(E_UI_Layer.Mid, (panel) =>
|
||
{
|
||
//弹出告知单
|
||
GameManager.UIMgr.ShowPanel<UI_DisassemblyAssemblyNoticePanel>();
|
||
panel.Init("自己", "感谢您对我们工作的支持,如果您日后在用电方面有什么疑问需求的,可以来电向我们咨询,这是我们台区经理的联系方式,请您惠存,谢谢!", (intTemp) =>
|
||
{
|
||
GameManager.UIMgr.ShowPanel<UI_CustomSessionPanel>(E_UI_Layer.Mid, (panel) =>
|
||
{
|
||
panel.Init(custom.triggerName, "已签字确认", "客户", 0, intTemp =>
|
||
{
|
||
GameManager.UIMgr.HidePanel<UI_DisassemblyAssemblyNoticePanel>();
|
||
ProcessManager.Instance.IsRightSubProcessStepsTriggerID(custom.triggerName, true);
|
||
custom.StopAnimator();
|
||
customIndex++;
|
||
ScoreManager.instance.Check("现场完工", null);
|
||
});
|
||
});
|
||
}, 0);
|
||
});
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|