ZXP 1 год назад
Родитель
Сommit
e9d29f6848

+ 325 - 0
Assets/Prefabs/ShowPrefab.prefab

@@ -0,0 +1,325 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &502081647147812264
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 502081647147812265}
+  - component: {fileID: 502081647147812267}
+  - component: {fileID: 502081647147812266}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &502081647147812265
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 502081647147812264}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 502081647257460532}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &502081647147812267
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 502081647147812264}
+  m_CullTransparentMesh: 1
+--- !u!114 &502081647147812266
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 502081647147812264}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 2100000, guid: 1d1b20c3709b35e4d9b18688941d1acc, type: 2}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 51
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 51
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u9898\u76EE1"
+--- !u!1 &502081647257460531
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 502081647257460532}
+  - component: {fileID: 502081647257460534}
+  - component: {fileID: 502081647257460533}
+  - component: {fileID: 8389718770035673986}
+  m_Layer: 5
+  m_Name: ShowPrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &502081647257460532
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 502081647257460531}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 502081648530083435}
+  - {fileID: 502081648646038950}
+  - {fileID: 502081647147812265}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 2154.8, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &502081647257460534
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 502081647257460531}
+  m_CullTransparentMesh: 1
+--- !u!114 &502081647257460533
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 502081647257460531}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 2100000, guid: 1d1b20c3709b35e4d9b18688941d1acc, type: 2}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!114 &8389718770035673986
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 502081647257460531}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c273758b5a2e69441907bf9d7e138a9e, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  trueObject: {fileID: 502081648646038949}
+  falseObject: {fileID: 502081648530083434}
+  text: {fileID: 502081647147812266}
+--- !u!1 &502081648530083434
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 502081648530083435}
+  - component: {fileID: 502081648530083437}
+  - component: {fileID: 502081648530083436}
+  m_Layer: 5
+  m_Name: Fales
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &502081648530083435
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 502081648530083434}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 502081647257460532}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &502081648530083437
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 502081648530083434}
+  m_CullTransparentMesh: 1
+--- !u!114 &502081648530083436
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 502081648530083434}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 2100000, guid: 1d1b20c3709b35e4d9b18688941d1acc, type: 2}
+  m_Color: {r: 0.5803922, g: 0, b: 0, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &502081648646038949
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 502081648646038950}
+  - component: {fileID: 502081648646038952}
+  - component: {fileID: 502081648646038951}
+  m_Layer: 5
+  m_Name: True
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &502081648646038950
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 502081648646038949}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 502081647257460532}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &502081648646038952
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 502081648646038949}
+  m_CullTransparentMesh: 1
+--- !u!114 &502081648646038951
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 502081648646038949}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 2100000, guid: 1d1b20c3709b35e4d9b18688941d1acc, type: 2}
+  m_Color: {r: 0, g: 0.5803922, b: 0, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1

+ 7 - 0
Assets/Prefabs/ShowPrefab.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: c4a5c15281064364984473d3345fe3d7
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

Разница между файлами не показана из-за своего большого размера
+ 978 - 24
Assets/Scenes/Main.unity


+ 25 - 5
Assets/Scripts/PlayList.cs

@@ -18,7 +18,9 @@ public class PlayList : MonoBehaviour
     /// 答案数据
     /// </summary>
     [Header("答案数据")]
-    public List<bool> saveData;
+    public List<QuestionData> saveData;
+
+    public UpData upData;
     private void Awake()
     {
         DateTime now = DateTime.Now;
@@ -59,7 +61,7 @@ public class PlayList : MonoBehaviour
     public void StartPlayState1()
     {
         gameObject.SetActive(true);
-        saveData = new List<bool>();
+        saveData = new List<QuestionData>();
         StartCoroutine(StartPlayState2Coroutine(playListObjects1));
     }
     /// <summary>
@@ -68,7 +70,7 @@ public class PlayList : MonoBehaviour
     public void StartPlayState2()
     {
         gameObject.SetActive(true);
-        saveData = new List<bool>();
+        saveData = new List<QuestionData>();
         StartCoroutine(StartPlayState2Coroutine(playListObjects));
     }
     private IEnumerator StartPlayState2Coroutine(GameObject[] objects)
@@ -77,7 +79,9 @@ public class PlayList : MonoBehaviour
         {
             yield return StartCoroutine(WaitTime(objects[i]));
         }
-
+        upData.Init(saveData);
+        Debug.Log("完成");
+        StopAll();
     }
     private IEnumerator WaitTime(GameObject obj)
     {
@@ -92,7 +96,7 @@ public class PlayList : MonoBehaviour
         {
             skipButton.SetActive(false);
             waitTime = 9999999;
-            selectPrefab.SelectPrefabCreateInit((bool value) =>
+            selectPrefab.SelectPrefabCreateInit((QuestionData value) =>
             {
                 saveData.Add(value);
                 waitTime = 0;
@@ -107,3 +111,19 @@ public class PlayList : MonoBehaviour
         obj.SetActive(false);
     }
 }
+/// <summary>
+/// 题目数据
+/// </summary>
+[Serializable]
+public class QuestionData
+{
+    /// <summary>
+    /// 文本
+    /// </summary>
+    public string text;
+    /// <summary>
+    /// 选择的题号
+    /// </summary>
+    public string selectIndex;
+    public bool isRight;
+}

+ 19 - 3
Assets/Scripts/SelectPrefab.cs

@@ -51,7 +51,7 @@ public class SelectPrefab : MonoBehaviour
     /// <summary>
     /// Ìá½»»Øµ÷
     /// </summary>
-    private Action<bool> selectCallBack;
+    private Action<QuestionData> selectCallBack;
     private ToggleGroup toggleGroup;
     private bool isRight;
     /// <summary>
@@ -150,12 +150,28 @@ public class SelectPrefab : MonoBehaviour
     /// </summary>
     private void CloseButtonOnClick()
     {
-        selectCallBack?.Invoke(isRight);
+        QuestionData questionData = new QuestionData();
+        questionData.text = text.text;
+        for (int i = 0; i < answerPrefabList.Count; i++)
+        {
+            if (i == 0)
+            {
+                questionData.selectIndex = answerPrefabList[i].isOn.ToString();
+            }
+            else
+            {
+                questionData.selectIndex += "," + answerPrefabList[i].isOn.ToString();
+            }
+
+        }
+
+        questionData.isRight = isRight;
+        selectCallBack?.Invoke(questionData);
     }
     /// <summary>
     /// ³õʼ»¯
     /// </summary>
-    public void SelectPrefabCreateInit(Action<bool> callBack)
+    public void SelectPrefabCreateInit(Action<QuestionData> callBack)
     {
         selectCallBack = callBack;
         text.gameObject.SetActive(true);

+ 21 - 0
Assets/ShowPrefab.cs

@@ -0,0 +1,21 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class ShowPrefab : MonoBehaviour
+{
+    public GameObject trueObject;
+    public GameObject falseObject;
+    public Text text;
+    void Start()
+    {
+        
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+}

+ 11 - 0
Assets/ShowPrefab.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c273758b5a2e69441907bf9d7e138a9e
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 66 - 0
Assets/UpData.cs

@@ -0,0 +1,66 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class UpData : MonoBehaviour
+{
+    public ShowPrefab showPrefab;
+    public Transform showParent;
+    private List<GameObject> createGameObjects;
+    private ArrayData arrayData;
+    void Start()
+    {
+
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+
+    }
+
+    public void Init(List<QuestionData> saveData)
+    {
+        if (createGameObjects != null)
+        {
+            foreach (GameObject item in createGameObjects)
+            {
+                Destroy(item);
+            }
+        }
+        createGameObjects = new List<GameObject>();
+        arrayData = new ArrayData();
+        arrayData.wrongCount = 0;
+        arrayData.correctCount = 0;
+        arrayData.wrongQuestions = new List<WrongQuestionsItem>();
+        for (int i = 0; i < saveData.Count; i++)
+        {
+            ShowPrefab obj = Instantiate(showPrefab, showParent);
+            obj.text.text = "ÌâºÅ" + i;
+            createGameObjects.Add(showPrefab.gameObject);
+            if (saveData[i].isRight)
+            {
+                obj.falseObject.SetActive(false);
+                obj.trueObject.SetActive(true);
+                arrayData.correctCount += 1;
+            }
+            else
+            {
+                obj.falseObject.SetActive(true);
+                obj.trueObject.SetActive(false);
+                WrongQuestionsItem item = new WrongQuestionsItem();
+                item.questionId = i.ToString();
+                item.userWrongOption = saveData[i].selectIndex;
+                arrayData.wrongQuestions.Add(item);
+                arrayData.wrongCount += 1;
+            }
+
+
+        }
+    }
+    public void StartUpDate()
+    {
+        Login.Instance.SendList(arrayData);
+    }
+}

+ 11 - 0
Assets/UpData.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 811411af8c718e34b8f30d9d99bb5c00
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

Некоторые файлы не были показаны из-за большого количества измененных файлов

粤ICP备19079148号