修改连线bug

This commit is contained in:
lujiajian 2026-03-04 09:29:15 +08:00
parent d12f7185fb
commit 976827cc14
7 changed files with 924 additions and 173 deletions

File diff suppressed because one or more lines are too long

View File

@ -3217,7 +3217,7 @@ GameObject:
m_Component:
- component: {fileID: 23614235}
m_Layer: 0
m_Name: "_10uF_left\u8FDEIN1_100K"
m_Name: "_10uF_star\u8FDEIN1_100K"
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -11512,6 +11512,7 @@ MonoBehaviour:
- {fileID: 1735319917}
- {fileID: 871829737}
- {fileID: 2033294241}
- {fileID: 2085638285}
- {fileID: 270167579}
- {fileID: 338281663}
- {fileID: 2031216179}
@ -11982,18 +11983,18 @@ MonoBehaviour:
- Name:
Entry: 10
Data: 19
- Name:
Entry: 10
Data: 11
- Name:
Entry: 10
Data: 20
- Name:
Entry: 10
Data: 24
- Name:
Entry: 10
Data: 20
- Name:
Entry: 10
Data: 20
- Name:
Entry: 10
Data: 11
- Name:
Entry: 10
Data: 12
@ -12064,18 +12065,18 @@ MonoBehaviour:
- Name:
Entry: 10
Data: 19
- Name:
Entry: 10
Data: 26
- Name:
Entry: 10
Data: 20
- Name:
Entry: 10
Data: 20
- Name:
Entry: 10
Data: 11
- Name:
Entry: 10
Data: 20
- Name:
Entry: 10
Data: 26
- Name:
Entry: 10
Data: 12
@ -12115,7 +12116,7 @@ MonoBehaviour:
mscorlib
- Name:
Entry: 12
Data: 24
Data: 22
- Name:
Entry: 10
Data: 0
@ -12143,12 +12144,6 @@ MonoBehaviour:
- Name:
Entry: 10
Data: 6
- Name:
Entry: 10
Data: 8
- Name:
Entry: 10
Data: 6
- Name:
Entry: 10
Data: 27
@ -12209,7 +12204,7 @@ MonoBehaviour:
mscorlib
- Name:
Entry: 12
Data: 24
Data: 22
- Name:
Entry: 10
Data: 0
@ -12237,12 +12232,6 @@ MonoBehaviour:
- Name:
Entry: 10
Data: 6
- Name:
Entry: 10
Data: 8
- Name:
Entry: 10
Data: 6
- Name:
Entry: 10
Data: 30
@ -12418,7 +12407,7 @@ MonoBehaviour:
Data: 15
- Name:
Entry: 10
Data: 6
Data: 32
- Name:
Entry: 10
Data: 7
@ -12430,13 +12419,13 @@ MonoBehaviour:
Data: 13
- Name:
Entry: 10
Data: 29
Data: 31
- Name:
Entry: 10
Data: 28
- Name:
Entry: 10
Data: 27
Data: 30
- Name:
Entry: 10
Data: 9
@ -12500,9 +12489,6 @@ MonoBehaviour:
- Name:
Entry: 12
Data: 9
- Name:
Entry: 10
Data: 32
- Name:
Entry: 10
Data: 33
@ -12527,6 +12513,9 @@ MonoBehaviour:
- Name:
Entry: 10
Data: 40
- Name:
Entry: 10
Data: 41
- Name:
Entry: 13
Data:
@ -12549,9 +12538,6 @@ MonoBehaviour:
- Name:
Entry: 12
Data: 9
- Name:
Entry: 10
Data: 41
- Name:
Entry: 10
Data: 42
@ -12576,6 +12562,9 @@ MonoBehaviour:
- Name:
Entry: 10
Data: 49
- Name:
Entry: 10
Data: 50
- Name:
Entry: 13
Data:
@ -12598,9 +12587,6 @@ MonoBehaviour:
- Name:
Entry: 12
Data: 8
- Name:
Entry: 10
Data: 50
- Name:
Entry: 10
Data: 51
@ -12622,6 +12608,9 @@ MonoBehaviour:
- Name:
Entry: 10
Data: 57
- Name:
Entry: 10
Data: 58
- Name:
Entry: 13
Data:
@ -12644,9 +12633,6 @@ MonoBehaviour:
- Name:
Entry: 12
Data: 8
- Name:
Entry: 10
Data: 58
- Name:
Entry: 10
Data: 59
@ -12668,6 +12654,9 @@ MonoBehaviour:
- Name:
Entry: 10
Data: 65
- Name:
Entry: 10
Data: 66
- Name:
Entry: 13
Data:
@ -12690,9 +12679,6 @@ MonoBehaviour:
- Name:
Entry: 12
Data: 9
- Name:
Entry: 10
Data: 66
- Name:
Entry: 10
Data: 67
@ -12717,6 +12703,9 @@ MonoBehaviour:
- Name:
Entry: 10
Data: 74
- Name:
Entry: 10
Data: 75
- Name:
Entry: 13
Data:
@ -12739,9 +12728,6 @@ MonoBehaviour:
- Name:
Entry: 12
Data: 9
- Name:
Entry: 10
Data: 75
- Name:
Entry: 10
Data: 76
@ -12766,6 +12752,9 @@ MonoBehaviour:
- Name:
Entry: 10
Data: 83
- Name:
Entry: 10
Data: 84
- Name:
Entry: 13
Data:
@ -12788,9 +12777,6 @@ MonoBehaviour:
- Name:
Entry: 12
Data: 10
- Name:
Entry: 10
Data: 84
- Name:
Entry: 10
Data: 85
@ -12818,6 +12804,9 @@ MonoBehaviour:
- Name:
Entry: 10
Data: 93
- Name:
Entry: 10
Data: 94
- Name:
Entry: 13
Data:
@ -12840,9 +12829,6 @@ MonoBehaviour:
- Name:
Entry: 12
Data: 10
- Name:
Entry: 10
Data: 94
- Name:
Entry: 10
Data: 95
@ -12870,6 +12856,9 @@ MonoBehaviour:
- Name:
Entry: 10
Data: 103
- Name:
Entry: 10
Data: 104
- Name:
Entry: 13
Data:
@ -12892,9 +12881,6 @@ MonoBehaviour:
- Name:
Entry: 12
Data: 10
- Name:
Entry: 10
Data: 104
- Name:
Entry: 10
Data: 105
@ -12922,6 +12908,9 @@ MonoBehaviour:
- Name:
Entry: 10
Data: 113
- Name:
Entry: 10
Data: 114
- Name:
Entry: 13
Data:
@ -12944,9 +12933,6 @@ MonoBehaviour:
- Name:
Entry: 12
Data: 10
- Name:
Entry: 10
Data: 114
- Name:
Entry: 10
Data: 115
@ -12974,6 +12960,9 @@ MonoBehaviour:
- Name:
Entry: 10
Data: 123
- Name:
Entry: 10
Data: 124
- Name:
Entry: 13
Data:
@ -14256,7 +14245,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 162645134}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 14.733, y: 6.93, z: -3.0306625}
m_LocalPosition: {x: 14.733, y: 8.1, z: -3.0306625}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@ -34287,7 +34276,7 @@ GameObject:
m_Component:
- component: {fileID: 383741735}
m_Layer: 0
m_Name: "_10uF_right\u8FDEIN3_200K"
m_Name: "_1uF_end\u8FDEIN3_200K"
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -74489,7 +74478,7 @@ GameObject:
m_Component:
- component: {fileID: 871225318}
m_Layer: 0
m_Name: "_10uF_left\u8FDEIN1"
m_Name: "_10uF_star\u8FDEIN1"
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -77683,7 +77672,7 @@ GameObject:
m_Component:
- component: {fileID: 915982564}
m_Layer: 0
m_Name: "_1uF_right\u8FDEIN3_200K"
m_Name: "_1uF_star\u8FDEIN3_200K"
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -79900,7 +79889,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 994420802}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 12.211607, y: 7.08, z: -3.0306625}
m_LocalPosition: {x: 12.211607, y: 8.13, z: -3.0306625}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@ -80246,7 +80235,7 @@ GameObject:
m_Component:
- component: {fileID: 1002678976}
m_Layer: 0
m_Name: "_10uF_right\u8FDEIN3_200K"
m_Name: "_10uF_end\u8FDEIN3_200K"
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -81684,7 +81673,7 @@ GameObject:
m_Component:
- component: {fileID: 1039578517}
m_Layer: 0
m_Name: "_10uF_right\u8FDEIN3_200K"
m_Name: "_10uF_end\u8FDEIN3_200K"
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -93323,7 +93312,7 @@ GameObject:
m_Component:
- component: {fileID: 1137665131}
m_Layer: 0
m_Name: "_1uF_left\u8FDEIN1"
m_Name: "_1uF_end\u8FDEIN1"
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -142747,7 +142736,7 @@ GameObject:
m_Component:
- component: {fileID: 1757986796}
m_Layer: 0
m_Name: "_10uF_left\u8FDEIN2_200K"
m_Name: "_1uF_star\u8FDEIN2_200K"
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -179104,7 +179093,7 @@ GameObject:
m_Component:
- component: {fileID: 2132570220}
m_Layer: 0
m_Name: "OUT1\u8FDEIN2_100K"
m_Name: "OUT1\u8FDEIN2_200K"
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0

View File

@ -35,10 +35,10 @@ public enum InterfaceType
OUT2,
O1,
O2,
_1uF_left,
_1uF_right,
_10uF_left,
_10uF_right,
_1uF_star,
_1uF_end,
_10uF_star,
_10uF_end,
_51K_star,
_51K_end,
_100K_star,

View File

@ -64,14 +64,80 @@ public class LineManager : SerializedMonoBehaviour
public float Addtime = 0;
public string Laboratorycourse = "";
/// <summary>
/// 是否是初始化
/// </summary>
bool isInit = true;
private void Awake()
{
instance = this;
PlayerPrefs.SetString("LineData", "");
// PlayerPrefs.SetString("LineData", "");
}
public void ResetLine()
{
#region 线
if (PlayerPrefs.GetString("LineData") != "")
{
int index = PlayerPrefs.GetInt("classnum");
if (UI_ExperimentChooesPanel.instance != null)
{
for (int i = 0; i < UI_ExperimentChooesPanel.instance.SubjectTog.Count; i++)
{
if (UI_ExperimentChooesPanel.instance.SubjectTog[i].name.Replace("-", "") == (index.ToString()))
{
UI_ExperimentChooesPanel.instance.SubjectTog[i].isOn = true;
}
}
}
Models = new List<GameObject>();
Highlights = new List<HighlightEffect>();
Highlights_Backup = new List<HighlightEffect>();
lineData = JsonConvert.DeserializeObject<LineData>(PlayerPrefs.GetString("LineData"));
Models = Modeldic[index].ToList();
Highlights_Backup = highlightsdic[index].ToList();
Highlights = highlightsdic[index].ToList();
for (int i = 0; i < lineData.Modelname.Count; i++)
{
for (int j = 0; j < Models.Count; j++)
{
if (lineData.Modelname[i].Contains(Models[j].name))
{
Models[j].SetActive(true);
}
}
}
allline = lineData.Modelname.Count;
for (int j = 0; j < lineData.Modelname.Count; j++)
{
for (int i = 0; i < Highlights.Count - 2; i++)
{
string linename1 = Highlights[i].name + "连" + Highlights[i + 1].name;
string linename2 = Highlights[i + 1].name + "连" + Highlights[i].name;
if (linename1 == lineData.Modelname[j] ||
linename2 == lineData.Modelname[j])
{
Highlights.Remove(Highlights[i]);
Highlights.Remove(Highlights[i]);
}
}
}
for (int i = 0; i < Highlights_Backup.Count; i++)
{
Highlights_Backup[i].highlighted = false;
}
LineName = Highlights[0].GetComponent<LineConnect>().interfaceType.ToString();
UI_TopTipPanel.instance.Init("提示:" + "当前实验是" + Laboratorycourse, ",请点击" + LineName + "。");
Highlights[0].highlighted = true;
Highlights[0].GetComponent<BoxCollider>().enabled = true;
}
#endregion
}
void Start()
{
Initialization();
//ResetLine();
}
/// <summary>
/// 初始化
@ -80,29 +146,12 @@ public class LineManager : SerializedMonoBehaviour
private void Initialization(int ExperimentNumber = 0)
{
lineData = new LineData();
#region ÆúÓñ£´æÁ¬Ïß·½·¨
//if (PlayerPrefs.GetString("LineData") != "")
//{
// lineData = JsonConvert.DeserializeObject<LineData>(PlayerPrefs.GetString("LineData"));
// for (int i = 0; i < lineData.Modelname.Count; i++)
// {
// for (int j = 0; j < Models.Count; j++)
// {
// if (lineData.Modelname[i].Contains(Models[j].name))
// {
// Models[j].SetActive(true);
// }
// if (lineData.Modelname[i].Equals(Models[j].name) && Models[j].name.Equals("diannaoxian"))
// {
// Models[j].transform.DOLocalMove(new Vector3(-0.56f, -0.293f, -0.163f), 0.5f);
// }
// }
// }
//}
#endregion
//重新选择初始化
ComputerPanel.gameObject.SetActive(false);
if (ComputerPanel != null)
{
ComputerPanel.gameObject.SetActive(false);
}
allline = 0;
Highlights_Backup.ForEach((x) => { x.highlighted = false; });
HighlightInit("");
@ -182,13 +231,14 @@ public class LineManager : SerializedMonoBehaviour
bool isshow;
void Update()
{
//Debug.Log("面板是否显示:" + Bootstrap.Instance.uiManager.GetPanel<UI_RoamingPanel>().gameObject.activeInHierarchy);
if (Input.GetMouseButtonDown(2))
{
point1 = null;
point2 = null;
PlayerPrefs.SetString("LineData", "");
}
if (allline >= Models.Count && !isshow)
if (allline >= Models.Count && !isshow && !Bootstrap.Instance.uiManager.GetPanel<UI_RoamingPanel>().gameObject.activeInHierarchy)
{
isshow = true;
TipTexts.text = "导线已全部连接,请先打开电源开关再打开按钮开关!";
@ -218,6 +268,12 @@ public class LineManager : SerializedMonoBehaviour
Initialization(indext);
Models.ForEach((x) => { x.SetActive(false); });
Models = Modeldic[indext].ToList();
PlayerPrefs.SetInt("classnum", indext);
if (!isInit)//初始化不清空数据
{
PlayerPrefs.SetString("LineData", "");
}
isInit = false;
}
}
/// <summary>
@ -242,13 +298,17 @@ public class LineManager : SerializedMonoBehaviour
}
if (point.name.Equals("diannaoxian"))
{
if (!lineData.Modelname.Contains(point.name))
{
allline++;
lineData.Modelname.Add(point.name);
string json = JsonConvert.SerializeObject(lineData);
PlayerPrefs.SetString("LineData", json);
}
//if (!lineData.Modelname.Contains(point.name))
//{
// allline++;
// lineData.Modelname.Add(point.name);
// string json = JsonConvert.SerializeObject(lineData);
// PlayerPrefs.SetString("LineData", json);
//}
allline++;
lineData.Modelname.Add(point.name);
string json = JsonConvert.SerializeObject(lineData);
PlayerPrefs.SetString("LineData", json);
point.DOLocalMove(new Vector3(-0.56f, -0.293f, -0.163f), 0.5f);
}
@ -374,13 +434,16 @@ public class LineManager : SerializedMonoBehaviour
if (splitname[0] == line1.interfaceType.ToString() && splitname[1] == line2.interfaceType.ToString() ||
splitname[0] == line2.interfaceType.ToString() && splitname[1] == line1.interfaceType.ToString())
{
if (!lineData.Modelname.Contains(Models[i].name))
{
lineData.Modelname.Add(Models[i].name);
string json = JsonConvert.SerializeObject(lineData);
PlayerPrefs.SetString("LineData", json);
//if (!lineData.Modelname.Contains(Models[i].name))
//{
// lineData.Modelname.Add(Models[i].name);
// string json = JsonConvert.SerializeObject(lineData);
// PlayerPrefs.SetString("LineData", json);
}
//}
lineData.Modelname.Add(Models[i].name);
string json = JsonConvert.SerializeObject(lineData);
PlayerPrefs.SetString("LineData", json);
if (Models[i].activeInHierarchy)
{
continue;

View File

@ -20,7 +20,7 @@ public class UI_ExperimentChooesPanel : BasePanel
public void OnInit()
{
}
public override void ShowMe()
{
@ -66,7 +66,6 @@ public class UI_ExperimentChooesPanel : BasePanel
break;
case "5-5-1":
LineManager.instance.ChangeClass(551);
break;
case "5-5-2":
LineManager.instance.ChangeClass(552);

View File

@ -61,6 +61,7 @@ public class UI_RoamingPanel : BasePanel
GameManager.Instance.MoveCamera.transform.SetLocalPositionAndRotation(GameManager.Instance.MoveAndRotatePonit[3].position,
GameManager.Instance.MoveAndRotatePonit[3].rotation);
yield return new WaitForSeconds(3.6f);
LineManager.instance.ResetLine();
Bootstrap.Instance.uiManager.HidePanel<UI_RoamingPanel>();
}

View File

@ -11,19 +11,20 @@ public class UI_TopTipPanel : BasePanel
public TextMeshProUGUI text_Content;
public TextMeshProUGUI text_Title;
public static UI_TopTipPanel instance;
private void Start()
private void Awake()
{
instance = this;
}
public void Init(string title, string content)
{
text_Title = GetControl<TextMeshProUGUI>("Text_Title");
text_Content = GetControl<TextMeshProUGUI>("Text_Content");
bg = GetControl<Image>("UI_TopTipPanelBG");
//text_Title = GetControl<TextMeshProUGUI>("Text_Title");
//text_Content = GetControl<TextMeshProUGUI>("Text_Content");
//bg = GetControl<Image>("UI_TopTipPanelBG");
text_Title.text = "<color=#00EEE6>" + title + "</color>";
text_Content.text = "<color=#00CCFF>" + content + "</color>";
TextMeshProUGUI tempText = text_Title.preferredWidth > text_Content.preferredWidth ? text_Title : text_Content;
AdjustImageWidth(tempText, bg.rectTransform, 30, 21);
// LineManager.instance.ResetLine();
}
/// <summary>
/// Ãæ°åÏûʧ