wuyu пре 1 година
родитељ
комит
4093c9eb42

+ 6 - 0
Assets/PaperFold/Test/TestLevel.cs

@@ -26,6 +26,7 @@ public class TestLevel : MonoBehaviour
         Paper levelPrefab = await LoadPaperLevel(0);
         currentPaper = Instantiate(levelPrefab, transform);
         onPaperInstantiated?.Invoke(currentPaper);
+        currentPaper.setPaperCallBack(this.levelComplete);
     }
 
     private async UniTask<Paper> LoadPaperLevel(int level)
@@ -41,4 +42,9 @@ public class TestLevel : MonoBehaviour
         }
         return paperGameObject.GetComponent<Paper>();
     }
+
+    private void levelComplete()
+    {
+        Debug.Log("Level Complete");
+    }
 }

+ 15 - 2
Assets/_Packages/PaperFoldAsset/Paper Fold/Scripts/Paper.cs

@@ -1,4 +1,5 @@
-using System.Collections;
+using System;
+using System.Collections;
 using System.Collections.Generic;
 using System.Linq;
 using _Packages.PaperFoldAsset.Paper_Fold.Scripts;
@@ -57,7 +58,7 @@ public class Paper : MonoBehaviour
     public PossibleCombination[] possibleCombinations;
 
     public IEnumerable<Folding> Folding => foldingsParent.Cast<Transform>().Select(x => x.GetComponent<Folding>());
-
+    private Action levelCompleteCallBack;
     private void Awake()
     {
         backFilter = paperBackRenderer.GetComponent<MeshFilter>();
@@ -74,6 +75,11 @@ public class Paper : MonoBehaviour
                  .setOnComplete(() => LoadingState.IsLoading = false);
     }
 
+    public void setPaperCallBack(Action levelCompleteCallBackTemp)
+    {
+        levelCompleteCallBack = levelCompleteCallBackTemp;
+    }
+
     // Start is called before the first frame update
     void Start()
     {
@@ -303,6 +309,7 @@ public class Paper : MonoBehaviour
         }
 
         onPaperStateChanged?.Invoke();
+       
     }
 
     private void CheckForLevelComplete()
@@ -384,6 +391,7 @@ public class Paper : MonoBehaviour
         }
 
         UIManager.setLevelCompleteDelegate?.Invoke();
+        levelCompleteCallBack?.Invoke();
         yield break;
     }
 
@@ -450,6 +458,11 @@ public class Paper : MonoBehaviour
 
         StartCoroutine(UnfoldingProcedureCoroutine());
     }
+
+    private void OnDisable()
+    {
+        levelCompleteCallBack = null;
+    }
 }
 
 [System.Serializable]