From 436f0ab66f5eded4367e61edb46edcab57b5787b Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期四, 05 六月 2025 14:07:53 +0800
Subject: [PATCH] 1.Path增加Unit,因为BakeCooling比较特殊,它分为烧烤笔冷却,相当于两单元

---
 SourceCode/Bond/Servo/CEquipment.cpp |   23 +++++++++++------------
 1 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/SourceCode/Bond/Servo/CEquipment.cpp b/SourceCode/Bond/Servo/CEquipment.cpp
index 0a7d384..03f4b5d 100644
--- a/SourceCode/Bond/Servo/CEquipment.cpp
+++ b/SourceCode/Bond/Servo/CEquipment.cpp
@@ -756,7 +756,7 @@
 		return 0;
 	}
 
-	int CEquipment::storedJob(CJobDataB* pJobDataB, short& putSlot)
+	int CEquipment::storedJob(CJobDataB* pJobDataB, short putSlot)
 	{
 		if (m_pArm == nullptr) {
 			return -1;
@@ -770,23 +770,26 @@
 
 		ASSERT(pGlass);
 		Lock();
-		pGlass->addPath(m_nID);
+		pGlass->addPath(m_nID, getSlotUnit(putSlot));
 		m_slot[putSlot - 1].setContext(pGlass);
 		pGlass->release();				// tempFetchOut需要调用一次release
 		Unlock();
 
 
 		// 如果此玻璃已经贴合,贴合的玻璃也要从加入到列表中
-		/*
 		CGlass* pBuddy = pGlass->getBuddy();
 		if (pBuddy != nullptr) {
 			Lock();
-			pBuddy->addPath(m_nID);
-			pBuddy->addRef();					// 加入list,addRef
-			m_glassList.push_back(pBuddy);
+			pBuddy->addPath(m_nID, 0);
+			if (putSlot % 2 == 0) {
+				m_slot[putSlot - 2].setContext(pBuddy);
+			}
+			else {
+				m_slot[putSlot].setContext(pBuddy);
+			}
 			Unlock();
 		}
-		*/
+
 
 		if (m_listener.onDataChanged != nullptr) {
 			m_listener.onDataChanged(this, EDCC_STORED_JOB);
@@ -1115,7 +1118,7 @@
 			MaterialsType glassType = pGlass->getType();
 			if (glassType == MaterialsType::G1 && putSlotType == MaterialsType::G2) continue;
 			if (glassType == MaterialsType::G2 && putSlotType == MaterialsType::G1) continue;
-			if (!pGlass->isProcessed(m_nID)) continue;
+			if (!pGlass->isProcessed(m_nID, 0)) continue;
 
 			return &m_slot[i];
 		}
@@ -1438,10 +1441,6 @@
 	int CEquipment::onProcessData(CProcessData* pProcessData)
 	{
 		LOGI("<CEquipment-%s>onProcessData.", m_strName.c_str());
-		CGlass* pGlass = getGlass(pProcessData->getGlassId().c_str());
-		if (pGlass != nullptr) {
-			pGlass->processEnd(m_nID);
-		}
 
 		return 0;
 	}

--
Gitblit v1.9.3