Răsfoiți Sursa

4/17更新

Home场景改成enum类型控制场景
Jees 1 lună în urmă
părinte
comite
b6b90f5f44

Fișier diff suprimat deoarece este prea mare
+ 8 - 14
Assembly-CSharp-Editor.csproj


Fișier diff suprimat deoarece este prea mare
+ 8 - 14
Assembly-CSharp-firstpass.csproj


+ 2 - 1
Assembly-CSharp.Player.csproj

@@ -76,6 +76,7 @@
     <Compile Include="Assets\Resources\Shopping\ShoppingController.cs" />
     <Compile Include="Assets\Scripts\GameControllers\DogInitialize.cs" />
     <Compile Include="Assets\Scripts\Functions\SceneSwitcher.cs" />
+    <Compile Include="Assets\Scripts\Login\StartGameUIController.cs" />
     <Compile Include="Assets\Resources\DogSelector\DogSelectorController.cs" />
     <Compile Include="Assets\Scripts\Functions\WebController.cs" />
     <Compile Include="Assets\Scripts\GameControllers\GameData.cs" />
@@ -127,7 +128,6 @@
     <None Include="Assets\TextMesh Pro\Shaders\TMPro_Mobile.cginc" />
     <None Include="Assets\TextMesh Pro\Shaders\TMP_SDF SSD.shader" />
     <None Include="Assets\Resources\Shopping\ShoppingUI.uxml" />
-    <None Include="Assets\Resources\Status\StatusUI backup.uxml" />
     <None Include="Assets\Packages\Fantasy Skybox FREE\ReleaseNotes.txt" />
     <None Include="Assets\Scenes\Login\LoginStyleSheet.uss" />
     <None Include="Assets\Scenes\Login\Reset UI.uxml" />
@@ -154,6 +154,7 @@
     <None Include="Assets\Scenes\Playground\playgroundUI.uxml" />
     <None Include="Assets\Scenes\Login\RegisterUI.uxml" />
     <None Include="Assets\TextMesh Pro\Shaders\TMP_SDF-Mobile Masking.shader" />
+    <None Include="Assets\Scenes\Login\StartGameUI.uxml" />
     <None Include="Assets\Resources\Status\backButton.uxml" />
     <None Include="Assets\Packages\Nicrom\Shaders\Wind\Assets\Shaders\ASE\LPW_Vegetation_Transparent.shader" />
     <None Include="Assets\Resources\Shopping\Item.uxml" />

Fișier diff suprimat deoarece este prea mare
+ 8 - 14
Assembly-CSharp.csproj


+ 88 - 1
Assets/Resources/Dog/AnimatorController/shibaInu/HomeDogInteractController.controller

@@ -231,13 +231,16 @@ AnimatorStateMachine:
   - serializedVersion: 1
     m_State: {fileID: -1898261574974550075}
     m_Position: {x: 550, y: 350, z: 0}
+  - serializedVersion: 1
+    m_State: {fileID: 1879509632108041412}
+    m_Position: {x: 330, y: 0, z: 0}
   m_ChildStateMachines:
   - serializedVersion: 1
     m_StateMachine: {fileID: -4310704879323197233}
     m_Position: {x: 610, y: 0, z: 0}
   - serializedVersion: 1
     m_StateMachine: {fileID: 5585714919224228239}
-    m_Position: {x: 180, y: 390, z: 0}
+    m_Position: {x: 40, y: 370, z: 0}
   - serializedVersion: 1
     m_StateMachine: {fileID: 311128966509873703}
     m_Position: {x: -260, y: 350, z: 0}
@@ -404,6 +407,28 @@ AnimatorState:
   m_MirrorParameter: 
   m_CycleOffsetParameter: 
   m_TimeParameter: 
+--- !u!1101 &-864979433127924982
+AnimatorStateTransition:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 
+  m_Conditions: []
+  m_DstStateMachine: {fileID: 0}
+  m_DstState: {fileID: 533779715773965248}
+  m_Solo: 0
+  m_Mute: 0
+  m_IsExit: 0
+  serializedVersion: 3
+  m_TransitionDuration: 0.25
+  m_TransitionOffset: 0
+  m_ExitTime: 0.94
+  m_HasExitTime: 1
+  m_HasFixedDuration: 1
+  m_InterruptionSource: 0
+  m_OrderedInterruption: 1
+  m_CanTransitionToSelf: 1
 --- !u!91 &9100000
 AnimatorController:
   m_ObjectHideFlags: 0
@@ -437,6 +462,12 @@ AnimatorController:
     m_DefaultInt: 0
     m_DefaultBool: 0
     m_Controller: {fileID: 9100000}
+  - m_Name: isListening
+    m_Type: 4
+    m_DefaultFloat: 0
+    m_DefaultInt: 0
+    m_DefaultBool: 0
+    m_Controller: {fileID: 9100000}
   - m_Name: activeIndex
     m_Type: 3
     m_DefaultFloat: 0
@@ -503,6 +534,12 @@ AnimatorController:
     m_DefaultInt: 0
     m_DefaultBool: 0
     m_Controller: {fileID: 9100000}
+  - m_Name: Listen
+    m_Type: 9
+    m_DefaultFloat: 0
+    m_DefaultInt: 0
+    m_DefaultBool: 0
+    m_Controller: {fileID: 9100000}
   m_AnimatorLayers:
   - serializedVersion: 5
     m_Name: Base Layer
@@ -516,6 +553,28 @@ AnimatorController:
     m_IKPass: 0
     m_SyncedLayerAffectsTiming: 0
     m_Controller: {fileID: 9100000}
+--- !u!1101 &289997888906454870
+AnimatorStateTransition:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 
+  m_Conditions: []
+  m_DstStateMachine: {fileID: 0}
+  m_DstState: {fileID: 1879509632108041412}
+  m_Solo: 0
+  m_Mute: 0
+  m_IsExit: 0
+  serializedVersion: 3
+  m_TransitionDuration: 1.156584
+  m_TransitionOffset: 0
+  m_ExitTime: 0.03024225
+  m_HasExitTime: 1
+  m_HasFixedDuration: 1
+  m_InterruptionSource: 0
+  m_OrderedInterruption: 1
+  m_CanTransitionToSelf: 1
 --- !u!1107 &311128966509873703
 AnimatorStateMachine:
   serializedVersion: 6
@@ -562,6 +621,7 @@ AnimatorState:
   - {fileID: -3026721099272024724}
   - {fileID: -2314655101060605358}
   - {fileID: -6130185709489123632}
+  - {fileID: 289997888906454870}
   m_StateMachineBehaviours: []
   m_Position: {x: 50, y: 50, z: 0}
   m_IKOnFeet: 0
@@ -651,6 +711,33 @@ AnimatorState:
   m_MirrorParameter: 
   m_CycleOffsetParameter: 
   m_TimeParameter: 
+--- !u!1102 &1879509632108041412
+AnimatorState:
+  serializedVersion: 6
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: Listen
+  m_Speed: 1
+  m_CycleOffset: 0
+  m_Transitions:
+  - {fileID: -864979433127924982}
+  m_StateMachineBehaviours: []
+  m_Position: {x: 50, y: 50, z: 0}
+  m_IKOnFeet: 0
+  m_WriteDefaultValues: 1
+  m_Mirror: 0
+  m_SpeedParameterActive: 0
+  m_MirrorParameterActive: 0
+  m_CycleOffsetParameterActive: 0
+  m_TimeParameterActive: 0
+  m_Motion: {fileID: -3339085233561973423, guid: 1a349bfe663f8a848a567303e35c613a, type: 3}
+  m_Tag: 
+  m_SpeedParameter: 
+  m_MirrorParameter: 
+  m_CycleOffsetParameter: 
+  m_TimeParameter: 
 --- !u!1101 &2207388671215494222
 AnimatorStateTransition:
   m_ObjectHideFlags: 1

+ 3 - 2
Assets/Resources/VoiceAndManu/VoiceController.cs

@@ -93,12 +93,13 @@ public class VoiceController : MonoBehaviour
         foreach (var dog in HomeController.dogsInScene)
         {
             dog.RemoveZzzParticle();
-            dog.animator.SetTrigger("listen");
+            dog.animator.SetTrigger("Listen");
+            dog.animator.SetBool("isListening", true);
         }
         StartRecording();
         waveForm.visible = true;
 
-        // 如果时间是在声音,就改变Home场景的光照
+        // 如果时间是在深夜,用户点击后恢复正常的场景的光照
         int hour = System.DateTime.Now.Hour;
         if (hour >= 22 || hour < 5)     // 深夜时间
         {

+ 2 - 2
Assets/Scripts/GameControllers/DogProperty.cs

@@ -43,8 +43,8 @@ public class DogProperty
     public int friendlyToOtherDSDog = 50;
     public int frisbeeSkill = 50;
     public int ballSkill = 50;
-    public int voiceCall = 50;      // 识别自己名字能力
-    public int voiceCommand = 50;       // 识别所有口令能力
+    public int voiceCall = 0;      // 识别自己名字能力
+    public int voiceCommand = 0;       // 识别所有口令能力
     //public int commandLieDown = 50;
     //public int commandRotate = 50;
     

+ 25 - 15
Assets/Scripts/Home/HomeController.cs

@@ -31,13 +31,14 @@ public class HomeController : MonoBehaviour
     private bool isSleepChecked = false;        // 用于检测第一次睡眠检测是否执行完成
     // Start is called once before the first execution of Update after the MonoBehaviour is created
     private GameObject centerOfDogs;
+    private SceneMode sceneMode = SceneMode.NORMAL;        // 当前场景处在的模式
 
-    private bool isInteractMode = false;        // 场景是否在交互状态
+    //private bool isInteractMode = false;        // 场景是否在交互状态
     private Vector2 previousPointerPosition = Vector2.zero;     // 前一帧鼠标位置
     private GameObject interactDog;        // 交互的狗
     float interactTime = 0f;        // 交互时间
 
-    private bool isTrainingMode = false;        // 是否在训练状态
+    //private bool isTrainingMode = false;        // 是否在训练状态
     private string trainingContent = "";        // 训练内容
     private int totalTrainingTimes = 2;        // 训练总次数
     private int currentTrainingTimes = 0;        // 当前训练次数
@@ -123,7 +124,8 @@ public class HomeController : MonoBehaviour
             {
                 if (dog.dogProperty.voiceCall == 0)
                 {
-                    isTrainingMode = true;
+                    //isTrainingMode = true;
+                    sceneMode = SceneMode.TRAINING;
 
                     trainingContent = "voiceCall";
                     trainingDogId = dog.dogProperty.d_id;
@@ -138,7 +140,7 @@ public class HomeController : MonoBehaviour
                 }
             }
 
-            if (isTrainingMode)
+            if (sceneMode == SceneMode.TRAINING)
             {
                 foreach (var dog in dogsInScene)
                 {
@@ -170,9 +172,7 @@ public class HomeController : MonoBehaviour
                     }
                 }
             }
-            else
-
-            if (isInteractMode)
+            else if (sceneMode == SceneMode.INACTIVE)
             {
                 foreach (var dog in dogsInScene)
                 {
@@ -188,7 +188,8 @@ public class HomeController : MonoBehaviour
                         else if (dog.InteractTimeout())        // 如果交互时间结束,结束交互状态
                         {
                             dog.ExitInteract();
-                            isInteractMode = false;        // 交互结束,退出交互状态
+                            sceneMode = SceneMode.NORMAL;       // 交互结束,退出交互状态
+                            //isInteractMode = false;        // 交互结束,退出交互状态
                             VoiceButtonOnlySwitch(false);        // 交互结束,打开其他菜单
                         }
                         else
@@ -414,8 +415,9 @@ public class HomeController : MonoBehaviour
         form.AddField("user_id", UserProperty.userId);
 
         // TODO 待后台开发完成后,开启网络通讯功能,目前暂用临时直接赋值
-        // StartCoroutine(WebController.PostRequest(url, form, filePath, callback: VoiceCallCallback));
-        isInteractMode = true;        // 场景进入交互模式
+        StartCoroutine(WebController.PostRequest(url, form, filePath, callback: VoiceCallCallback));
+        sceneMode = SceneMode.INACTIVE;     // 场景进入交互模式
+        //isInteractMode = true;        // 场景进入交互模式
         dogsInScene[0].SetupInteract();
         interactDog = dogsInScene[0].gameObject;
         VoiceButtonOnlySwitch(true);        // 交互模式下关闭其他菜单
@@ -480,7 +482,7 @@ public class HomeController : MonoBehaviour
     // 用户语音呼唤上传,Voice call指令用于呼唤所有的狗,得分最高的过来进入交互模式
     public void VoiceCommandRequest(string filePath)
     {
-        if (isInteractMode)
+        if (sceneMode == SceneMode.INACTIVE)
         {
             Debug.Log("Voice Command Post request");
 
@@ -491,7 +493,7 @@ public class HomeController : MonoBehaviour
 
             StartCoroutine(WebController.PostRequest(url, form, filePath, callback: VoiceCommandCallback));
         }
-        else if (isTrainingMode)
+        else if (sceneMode == SceneMode.TRAINING)
         {
             Debug.Log("Voice training Post request");
 
@@ -512,7 +514,7 @@ public class HomeController : MonoBehaviour
     // 语音呼唤上传回调函数
     void VoiceCommandCallback(string json)
     {
-        if (isInteractMode)
+        if (sceneMode == SceneMode.INACTIVE)
         {
             Debug.Log("Voice command callback");
             var data = JsonConvert.DeserializeObject<Dictionary<string, object>>(json);
@@ -564,7 +566,7 @@ public class HomeController : MonoBehaviour
                 Debug.Log(data["message"]);
             }
         }
-        else if (isTrainingMode)
+        else if (sceneMode == SceneMode.TRAINING)
         {
             Debug.Log("Voice training Callback");
             var data = JsonConvert.DeserializeObject<Dictionary<string, object>>(json);
@@ -580,7 +582,8 @@ public class HomeController : MonoBehaviour
                     MessageBoxController.ShowMessage(msg);
 
                     ResetTrainingModeParameters();
-                    isTrainingMode = false;
+                    sceneMode = SceneMode.NORMAL;
+                    //isTrainingMode = false;
                     foreach (var dog in dogsInScene)
                     {
                         if (dog.dogProperty.d_id == trainingDogId)
@@ -689,4 +692,11 @@ public enum ItemGroup
 {
     food,
     water
+}
+
+enum SceneMode
+{
+    TRAINING,
+    INACTIVE,
+    NORMAL,
 }

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff