200 lines
7.3 KiB
C#
200 lines
7.3 KiB
C#
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using UniRx.Triggers;
|
||
using UnityEngine;
|
||
|
||
/// <summary>
|
||
/// 拱痰깊
|
||
/// </summary>
|
||
public class Tool_Multimeter : Tool_Base
|
||
{
|
||
/// <summary>
|
||
/// 뎡貫
|
||
/// </summary>
|
||
public Multimeter_dangwei dangWei;
|
||
|
||
private TapGesture tapGesture;
|
||
public GameObject target;
|
||
public Multimeter_pen currentMultimeter_pen;
|
||
|
||
/// <summary>
|
||
/// 쥐窟
|
||
/// </summary>
|
||
public Multimeter_pen blackPen;
|
||
/// <summary>
|
||
/// 삽窟
|
||
/// </summary>
|
||
public Multimeter_pen redPen;
|
||
|
||
public GameObject tips;
|
||
|
||
|
||
private void Start()
|
||
{
|
||
tips.SetActive(GameManager.RunModelMgr.SceneType == E_SceneType.Site);
|
||
tapGesture = GetComponent<TapGesture>();
|
||
tapGesture.onOneClick += (() =>
|
||
{
|
||
if (LiveSceneManager.Instance == null) return;
|
||
tapGesture.OnRay(ref target);
|
||
if (currentMultimeter_pen == null)
|
||
{
|
||
if (target != null && target.name == "도貫")
|
||
{
|
||
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID($"데샌+{target.GetComponent<Multimeter_dangwei>().triggerName}", true) == 0)
|
||
{
|
||
dangWei.ChangeDangwei(true);
|
||
base.CallScoreAction(null, $"데샌+{target.GetComponent<Multimeter_dangwei>().triggerName}");
|
||
target = null;
|
||
}
|
||
}
|
||
|
||
if (target != null && target.GetComponent<Multimeter_pen>())
|
||
{
|
||
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID($"데샌+{target.GetComponent<Multimeter_pen>().triggerName}", true) == 0)
|
||
{
|
||
currentMultimeter_pen = target.GetComponent<Multimeter_pen>();
|
||
currentMultimeter_pen.ResetCurrentLineState();
|
||
currentMultimeter_pen.selfColldier.enabled = false;
|
||
currentMultimeter_pen.currentScrew = null;
|
||
CheckValue("든箕도貫");
|
||
}
|
||
}
|
||
else
|
||
{
|
||
target = null;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
///쇱꿎窟角뤠角攣끽
|
||
if (target != null && target.transform.parent.GetComponent<TPEMLine>())
|
||
{
|
||
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(target.GetComponent<TPEMLineTrigger>().triggerName, true) == 0)
|
||
{
|
||
TPEMLine t = target.transform.parent.GetComponent<TPEMLine>();
|
||
if (t.isCheckLine)
|
||
{
|
||
t.CheckLine(currentMultimeter_pen, target.GetComponent<Collider>(), (s) =>
|
||
{
|
||
CheckState(s);
|
||
});
|
||
if (LiveSceneManager.Instance.jiaoYanYi.tPEMLineController.IsCompeleteCheckLine())
|
||
{
|
||
Debug.Log("쌈窟供냥");
|
||
base.CallScoreAction(null, "拱痰깊繫뙤供냥");
|
||
}
|
||
currentMultimeter_pen.currentLine = t;
|
||
currentMultimeter_pen = null;
|
||
target = null;
|
||
}
|
||
}
|
||
}
|
||
else if(target != null && target.GetComponent<Tool_Screw>() != null)
|
||
{
|
||
//든궝갛陋돕쭁介<ECAD81>
|
||
Tool_Screw ts= target.GetComponent<Tool_Screw>();
|
||
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(ts.curretTriggerName(), true) == 0)
|
||
{
|
||
if (currentMultimeter_pen.currentScrew==null)
|
||
{
|
||
currentMultimeter_pen.SetLocalLocalPenTran(ts.installPos.localPosition,Vector3.zero, true, target.GetComponent<Collider>(), false);
|
||
currentMultimeter_pen.currentScrew = ts;
|
||
currentMultimeter_pen = null;
|
||
target = null;
|
||
CheckState("든箕도貫");
|
||
CheckValue("든箕도貫");
|
||
}
|
||
}
|
||
}
|
||
}
|
||
});
|
||
tapGesture.onDoubleClick += (() =>
|
||
{
|
||
if (LiveSceneManager.Instance == null) return;
|
||
if (currentMultimeter_pen != null)
|
||
{
|
||
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID($"崗샌+{currentMultimeter_pen.triggerName}", true) == 0)
|
||
{
|
||
currentMultimeter_pen.ResetTran();
|
||
currentMultimeter_pen = null;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
tapGesture.OnRay(ref target);
|
||
if (target != null && target.name == "도貫")
|
||
{
|
||
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID($"崗샌+{target.GetComponent<Multimeter_dangwei>().triggerName}", true) == 0)
|
||
{
|
||
dangWei.ChangeDangwei(false);
|
||
target = null;
|
||
}
|
||
}
|
||
if (target != null && target.GetComponent<Multimeter_pen>())
|
||
{
|
||
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID($"崗샌+{target.GetComponent<Multimeter_pen>().triggerName}", true) == 0)
|
||
{
|
||
target.GetComponent<Multimeter_pen>().ResetTran();
|
||
target = null;
|
||
}
|
||
}
|
||
}
|
||
});
|
||
}
|
||
private void Update()
|
||
{
|
||
if (currentMultimeter_pen != null)
|
||
{
|
||
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
|
||
|
||
currentMultimeter_pen.SetPenLocalTran(ray.origin + ray.direction * 0.5f, new Vector3(90, 0, 0), false, null, false);
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 鞫刻榴檄쭉서
|
||
/// </summary>
|
||
public void CheckState(string things)
|
||
{
|
||
//슥직든箕뎡貫
|
||
if (things == "든箕도貫" && dangWei.dangweiValue == 2)
|
||
{
|
||
Debug.Log("令된黨2");
|
||
}
|
||
if (things == "킹캠도貫" && dangWei.dangweiValue == 4) //┯뎡貫
|
||
{
|
||
Debug.Log("令된黨1");
|
||
TipPanel.ShowTip("唐룝츤<EBA39D>!");
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 岬劤鞫鑒
|
||
/// </summary>
|
||
/// <param name="things"></param>
|
||
public void CheckValue(string things)
|
||
{
|
||
//슥직든箕뎡貫
|
||
if (things == "든箕도貫" && dangWei.dangweiValue == 2)
|
||
{
|
||
if(blackPen.currentScrew!=null && redPen.currentScrew!=null)
|
||
{
|
||
//댔롸
|
||
var tmpdic=new Dictionary<string, string>();
|
||
tmpdic.Add(blackPen.triggerName, blackPen.currentScrew.triggerName);
|
||
tmpdic.Add(redPen.triggerName, redPen.currentScrew.triggerName);
|
||
CallScoreAction(tmpdic, "拱痰깊든箕꿎좆");
|
||
|
||
if(blackPen.currentScrew.hasElectricity && redPen.currentScrew.hasElectricity)
|
||
{
|
||
dangWei.SetValue(2,redPen.currentScrew.ElectricityVlaue);
|
||
return;
|
||
}
|
||
}
|
||
|
||
dangWei.SetValue(2, 0);
|
||
}
|
||
}
|
||
}
|
||
|