Browse Source

整理代码

lvjincheng 3 years ago
parent
commit
2b5e0b1306
100 changed files with 439 additions and 349 deletions
  1. 8 0
      Assets/BowArrow/Scripts/GameChallenge.meta
  2. 8 0
      Assets/BowArrow/Scripts/GameChallenge/Animals.meta
  3. 0 0
      Assets/BowArrow/Scripts/GameChallenge/Animals/Rabbit.cs
  4. 0 0
      Assets/BowArrow/Scripts/GameChallenge/Animals/Rabbit.cs.meta
  5. 0 0
      Assets/BowArrow/Scripts/GameChallenge/Animals/Wolf.cs
  6. 0 0
      Assets/BowArrow/Scripts/GameChallenge/Animals/Wolf.cs.meta
  7. 0 0
      Assets/BowArrow/Scripts/GameChallenge/Animals/Yeji.cs
  8. 0 0
      Assets/BowArrow/Scripts/GameChallenge/Animals/Yeji.cs.meta
  9. 0 0
      Assets/BowArrow/Scripts/GameChallenge/CameraCopyer.cs
  10. 0 0
      Assets/BowArrow/Scripts/GameChallenge/CameraCopyer.cs.meta
  11. 0 0
      Assets/BowArrow/Scripts/GameChallenge/DayToNight.cs
  12. 0 0
      Assets/BowArrow/Scripts/GameChallenge/DayToNight.cs.meta
  13. 8 0
      Assets/BowArrow/Scripts/GameChallenge/Debug.meta
  14. 0 0
      Assets/BowArrow/Scripts/GameChallenge/Debug/FogCameraToggle.cs
  15. 0 0
      Assets/BowArrow/Scripts/GameChallenge/Debug/FogCameraToggle.cs.meta
  16. 0 0
      Assets/BowArrow/Scripts/GameChallenge/FogDoTween.cs
  17. 0 0
      Assets/BowArrow/Scripts/GameChallenge/FogDoTween.cs.meta
  18. 0 0
      Assets/BowArrow/Scripts/GameChallenge/LocalPK.meta
  19. 0 0
      Assets/BowArrow/Scripts/GameChallenge/LocalPK/HunterGamePlayerScoreCounter.cs
  20. 0 0
      Assets/BowArrow/Scripts/GameChallenge/LocalPK/HunterGamePlayerScoreCounter.cs.meta
  21. 0 0
      Assets/BowArrow/Scripts/GameChallenge/LocalPK/HunterGameView_LocalPK.cs
  22. 0 0
      Assets/BowArrow/Scripts/GameChallenge/LocalPK/HunterGameView_LocalPK.cs.meta
  23. 0 0
      Assets/BowArrow/Scripts/GameChallenge/TreeAreaRecorder.cs
  24. 0 0
      Assets/BowArrow/Scripts/GameChallenge/TreeAreaRecorder.cs.meta
  25. 8 0
      Assets/BowArrow/Scripts/GameChallenge/Views.meta
  26. 0 0
      Assets/BowArrow/Scripts/GameChallenge/Views/HuntGameSelectLevelView.cs
  27. 0 0
      Assets/BowArrow/Scripts/GameChallenge/Views/HuntGameSelectLevelView.cs.meta
  28. 0 0
      Assets/BowArrow/Scripts/GameChallenge/Views/HunterGameSettleView.cs
  29. 0 0
      Assets/BowArrow/Scripts/GameChallenge/Views/HunterGameSettleView.cs.meta
  30. 0 0
      Assets/BowArrow/Scripts/GameChallenge/Views/HunterGameView.cs
  31. 0 0
      Assets/BowArrow/Scripts/GameChallenge/Views/HunterGameView.cs.meta
  32. 0 0
      Assets/BowArrow/Scripts/GameChallenge/WoldActGird.meta
  33. 0 0
      Assets/BowArrow/Scripts/GameChallenge/WoldActGird/SphereColorRed.mat
  34. 0 0
      Assets/BowArrow/Scripts/GameChallenge/WoldActGird/SphereColorRed.mat.meta
  35. 0 0
      Assets/BowArrow/Scripts/GameChallenge/WoldActGird/SphereColorWhite.mat
  36. 0 0
      Assets/BowArrow/Scripts/GameChallenge/WoldActGird/SphereColorWhite.mat.meta
  37. 0 0
      Assets/BowArrow/Scripts/GameChallenge/WoldActGird/WolfActGrid.cs
  38. 0 0
      Assets/BowArrow/Scripts/GameChallenge/WoldActGird/WolfActGrid.cs.meta
  39. 0 0
      Assets/BowArrow/Scripts/GameChallenge/WoldActGird/WolfActGrid.json
  40. 0 0
      Assets/BowArrow/Scripts/GameChallenge/WoldActGird/WolfActGrid.json.meta
  41. 0 0
      Assets/BowArrow/Scripts/GameChallenge/WoldActGird/WolfLineRender.cs
  42. 0 0
      Assets/BowArrow/Scripts/GameChallenge/WoldActGird/WolfLineRender.cs.meta
  43. 0 0
      Assets/BowArrow/Scripts/GameChallenge/WoldActGird/WolfLineRender.mat
  44. 0 0
      Assets/BowArrow/Scripts/GameChallenge/WoldActGird/WolfLineRender.mat.meta
  45. 0 0
      Assets/BowArrow/Scripts/GameMode.meta
  46. 0 0
      Assets/BowArrow/Scripts/GameMode/ChallengeGameMode.cs
  47. 0 0
      Assets/BowArrow/Scripts/GameMode/ChallengeGameMode.cs.meta
  48. 46 0
      Assets/BowArrow/Scripts/GameMode/GameMode.cs
  49. 11 0
      Assets/BowArrow/Scripts/GameMode/GameMode.cs.meta
  50. 17 0
      Assets/BowArrow/Scripts/GameMode/GameModeTest.cs
  51. 11 0
      Assets/BowArrow/Scripts/GameMode/GameModeTest.cs.meta
  52. 0 0
      Assets/BowArrow/Scripts/GameMode/OnlineObject.meta
  53. 0 0
      Assets/BowArrow/Scripts/GameMode/OnlineObject/ArrowSync.cs
  54. 0 0
      Assets/BowArrow/Scripts/GameMode/OnlineObject/ArrowSync.cs.meta
  55. 0 0
      Assets/BowArrow/Scripts/GameMode/OnlineObject/RabbitSyncData.cs
  56. 0 0
      Assets/BowArrow/Scripts/GameMode/OnlineObject/RabbitSyncData.cs.meta
  57. 0 0
      Assets/BowArrow/Scripts/GameMode/OnlineObject/SyncDataUtil.cs
  58. 0 0
      Assets/BowArrow/Scripts/GameMode/OnlineObject/SyncDataUtil.cs.meta
  59. 0 0
      Assets/BowArrow/Scripts/GameMode/OnlineObject/WolfSyncData.cs
  60. 0 0
      Assets/BowArrow/Scripts/GameMode/OnlineObject/WolfSyncData.cs.meta
  61. 0 0
      Assets/BowArrow/Scripts/GameMode/OnlineObject/YejiSyncData.cs
  62. 0 0
      Assets/BowArrow/Scripts/GameMode/OnlineObject/YejiSyncData.cs.meta
  63. 0 0
      Assets/BowArrow/Scripts/GameMode/OnlinePKTest.cs
  64. 0 0
      Assets/BowArrow/Scripts/GameMode/OnlinePKTest.cs.meta
  65. 202 0
      Assets/BowArrow/Scripts/GameMode/PKGameMode_LocalPK.cs
  66. 11 0
      Assets/BowArrow/Scripts/GameMode/PKGameMode_LocalPK.cs.meta
  67. 0 0
      Assets/BowArrow/Scripts/GameMode/PKGameMode_OnlinePK.cs
  68. 0 0
      Assets/BowArrow/Scripts/GameMode/PKGameMode_OnlinePK.cs.meta
  69. 0 0
      Assets/BowArrow/Scripts/GameMode/RabbitHuntGameMode.cs
  70. 0 0
      Assets/BowArrow/Scripts/GameMode/RabbitHuntGameMode.cs.meta
  71. 0 0
      Assets/BowArrow/Scripts/GameMode/RabbitHuntGameMode_LocalPK.cs
  72. 0 0
      Assets/BowArrow/Scripts/GameMode/RabbitHuntGameMode_LocalPK.cs.meta
  73. 0 0
      Assets/BowArrow/Scripts/GameMode/RabbitHuntGameMode_OnlinePK.cs
  74. 0 0
      Assets/BowArrow/Scripts/GameMode/RabbitHuntGameMode_OnlinePK.cs.meta
  75. 97 0
      Assets/BowArrow/Scripts/GameMode/TimeLimitGameMode.cs
  76. 11 0
      Assets/BowArrow/Scripts/GameMode/TimeLimitGameMode.cs.meta
  77. 0 0
      Assets/BowArrow/Scripts/GameMode/WolfHuntGameMode.cs
  78. 0 0
      Assets/BowArrow/Scripts/GameMode/WolfHuntGameMode.cs.meta
  79. 0 0
      Assets/BowArrow/Scripts/GameMode/WolfHuntGameMode_LocalPK.cs
  80. 0 0
      Assets/BowArrow/Scripts/GameMode/WolfHuntGameMode_LocalPK.cs.meta
  81. 0 0
      Assets/BowArrow/Scripts/GameMode/WolfHuntGameMode_OnlinePK.cs
  82. 0 0
      Assets/BowArrow/Scripts/GameMode/WolfHuntGameMode_OnlinePK.cs.meta
  83. 0 0
      Assets/BowArrow/Scripts/GameMode/YejiHuntGameMode.cs
  84. 0 0
      Assets/BowArrow/Scripts/GameMode/YejiHuntGameMode.cs.meta
  85. 0 0
      Assets/BowArrow/Scripts/GameMode/YejiHuntGameMode_LocalPK.cs
  86. 0 0
      Assets/BowArrow/Scripts/GameMode/YejiHuntGameMode_LocalPK.cs.meta
  87. 0 0
      Assets/BowArrow/Scripts/GameMode/YejiHuntGameMode_OnlinePK.cs
  88. 0 0
      Assets/BowArrow/Scripts/GameMode/YejiHuntGameMode_OnlinePK.cs.meta
  89. 1 349
      Assets/BowArrow/Scripts/Manager/GameMgr.cs
  90. 0 0
      Assets/BowArrow/Scripts/Manager/GameSceneManager.cs
  91. 0 0
      Assets/BowArrow/Scripts/Manager/GameSceneManager.cs.meta
  92. 0 0
      Assets/BowArrow/Scripts/Manager/LoginMgr.meta
  93. 0 0
      Assets/BowArrow/Scripts/Manager/LoginMgr/AgreementPopup.cs
  94. 0 0
      Assets/BowArrow/Scripts/Manager/LoginMgr/AgreementPopup.cs.meta
  95. 0 0
      Assets/BowArrow/Scripts/Manager/LoginMgr/AgreementView.cs
  96. 0 0
      Assets/BowArrow/Scripts/Manager/LoginMgr/AgreementView.cs.meta
  97. 0 0
      Assets/BowArrow/Scripts/Manager/LoginMgr/AgreenmentOption.cs
  98. 0 0
      Assets/BowArrow/Scripts/Manager/LoginMgr/AgreenmentOption.cs.meta
  99. 0 0
      Assets/BowArrow/Scripts/Manager/LoginMgr/LoginMgr.cs
  100. 0 0
      Assets/BowArrow/Scripts/Manager/LoginMgr/LoginMgr.cs.meta

+ 8 - 0
Assets/BowArrow/Scripts/GameChallenge.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ad40b6f13d5af2842be077aadc9fb16a
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/BowArrow/Scripts/GameChallenge/Animals.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7db016c8fb9cf7a4380f55b5b5d7c1af
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/Rabbit.cs → Assets/BowArrow/Scripts/GameChallenge/Animals/Rabbit.cs


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/Rabbit.cs.meta → Assets/BowArrow/Scripts/GameChallenge/Animals/Rabbit.cs.meta


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/Wolf.cs → Assets/BowArrow/Scripts/GameChallenge/Animals/Wolf.cs


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/Wolf.cs.meta → Assets/BowArrow/Scripts/GameChallenge/Animals/Wolf.cs.meta


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/Yeji.cs → Assets/BowArrow/Scripts/GameChallenge/Animals/Yeji.cs


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/Yeji.cs.meta → Assets/BowArrow/Scripts/GameChallenge/Animals/Yeji.cs.meta


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/CameraCopyer.cs → Assets/BowArrow/Scripts/GameChallenge/CameraCopyer.cs


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/CameraCopyer.cs.meta → Assets/BowArrow/Scripts/GameChallenge/CameraCopyer.cs.meta


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/DayToNight.cs → Assets/BowArrow/Scripts/GameChallenge/DayToNight.cs


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/DayToNight.cs.meta → Assets/BowArrow/Scripts/GameChallenge/DayToNight.cs.meta


+ 8 - 0
Assets/BowArrow/Scripts/GameChallenge/Debug.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2e88ece55f7dddb4ebacfc537ec704f1
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/FogCameraToggle.cs → Assets/BowArrow/Scripts/GameChallenge/Debug/FogCameraToggle.cs


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/FogCameraToggle.cs.meta → Assets/BowArrow/Scripts/GameChallenge/Debug/FogCameraToggle.cs.meta


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/FogDoTween.cs → Assets/BowArrow/Scripts/GameChallenge/FogDoTween.cs


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/FogDoTween.cs.meta → Assets/BowArrow/Scripts/GameChallenge/FogDoTween.cs.meta


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/LocalPK.meta → Assets/BowArrow/Scripts/GameChallenge/LocalPK.meta


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/LocalPK/HunterGamePlayerScoreCounter.cs → Assets/BowArrow/Scripts/GameChallenge/LocalPK/HunterGamePlayerScoreCounter.cs


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/LocalPK/HunterGamePlayerScoreCounter.cs.meta → Assets/BowArrow/Scripts/GameChallenge/LocalPK/HunterGamePlayerScoreCounter.cs.meta


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/LocalPK/HunterGameView_LocalPK.cs → Assets/BowArrow/Scripts/GameChallenge/LocalPK/HunterGameView_LocalPK.cs


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/LocalPK/HunterGameView_LocalPK.cs.meta → Assets/BowArrow/Scripts/GameChallenge/LocalPK/HunterGameView_LocalPK.cs.meta


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/TreeAreaRecorder.cs → Assets/BowArrow/Scripts/GameChallenge/TreeAreaRecorder.cs


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/TreeAreaRecorder.cs.meta → Assets/BowArrow/Scripts/GameChallenge/TreeAreaRecorder.cs.meta


+ 8 - 0
Assets/BowArrow/Scripts/GameChallenge/Views.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7f35028b73d60ea4891bd6c4d09e6383
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/HuntGameSelectLevelView.cs → Assets/BowArrow/Scripts/GameChallenge/Views/HuntGameSelectLevelView.cs


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/HuntGameSelectLevelView.cs.meta → Assets/BowArrow/Scripts/GameChallenge/Views/HuntGameSelectLevelView.cs.meta


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/HunterGameSettleView.cs → Assets/BowArrow/Scripts/GameChallenge/Views/HunterGameSettleView.cs


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/HunterGameSettleView.cs.meta → Assets/BowArrow/Scripts/GameChallenge/Views/HunterGameSettleView.cs.meta


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/HunterGameView.cs → Assets/BowArrow/Scripts/GameChallenge/Views/HunterGameView.cs


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/HunterGameView.cs.meta → Assets/BowArrow/Scripts/GameChallenge/Views/HunterGameView.cs.meta


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/WoldActGird.meta → Assets/BowArrow/Scripts/GameChallenge/WoldActGird.meta


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/WoldActGird/SphereColorRed.mat → Assets/BowArrow/Scripts/GameChallenge/WoldActGird/SphereColorRed.mat


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/WoldActGird/SphereColorRed.mat.meta → Assets/BowArrow/Scripts/GameChallenge/WoldActGird/SphereColorRed.mat.meta


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/WoldActGird/SphereColorWhite.mat → Assets/BowArrow/Scripts/GameChallenge/WoldActGird/SphereColorWhite.mat


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/WoldActGird/SphereColorWhite.mat.meta → Assets/BowArrow/Scripts/GameChallenge/WoldActGird/SphereColorWhite.mat.meta


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/WoldActGird/WolfActGrid.cs → Assets/BowArrow/Scripts/GameChallenge/WoldActGird/WolfActGrid.cs


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/WoldActGird/WolfActGrid.cs.meta → Assets/BowArrow/Scripts/GameChallenge/WoldActGird/WolfActGrid.cs.meta


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/WoldActGird/WolfActGrid.json → Assets/BowArrow/Scripts/GameChallenge/WoldActGird/WolfActGrid.json


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/WoldActGird/WolfActGrid.json.meta → Assets/BowArrow/Scripts/GameChallenge/WoldActGird/WolfActGrid.json.meta


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/WoldActGird/WolfLineRender.cs → Assets/BowArrow/Scripts/GameChallenge/WoldActGird/WolfLineRender.cs


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/WoldActGird/WolfLineRender.cs.meta → Assets/BowArrow/Scripts/GameChallenge/WoldActGird/WolfLineRender.cs.meta


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/WoldActGird/WolfLineRender.mat → Assets/BowArrow/Scripts/GameChallenge/WoldActGird/WolfLineRender.mat


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/WoldActGird/WolfLineRender.mat.meta → Assets/BowArrow/Scripts/GameChallenge/WoldActGird/WolfLineRender.mat.meta


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode.meta → Assets/BowArrow/Scripts/GameMode.meta


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/ChallengeGameMode.cs → Assets/BowArrow/Scripts/GameMode/ChallengeGameMode.cs


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/ChallengeGameMode.cs.meta → Assets/BowArrow/Scripts/GameMode/ChallengeGameMode.cs.meta


+ 46 - 0
Assets/BowArrow/Scripts/GameMode/GameMode.cs

@@ -0,0 +1,46 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public abstract class GameMode 
+{
+    public GameMgr gameMgr;
+    public bool pauseTimeCounting {
+        get {
+            return timeCountingPauseLockers.Count > 0;
+        }
+    }
+    HashSet<System.Object> timeCountingPauseLockers = new HashSet<System.Object>();
+    public void PauseTimeCounting(System.Object o) 
+    {
+        timeCountingPauseLockers.Add(o);
+    }
+    public void ResumeTimeCounting(System.Object o) 
+    {
+        timeCountingPauseLockers.Remove(o);
+    }
+    public GameMode(GameMgr gameMgr) {
+        this.gameMgr = gameMgr;
+    }
+    public virtual void HitTarget(float score) {}
+    public virtual bool DoNextShoot() { return true; }
+    public virtual object[] Settle() {return null; }
+    public virtual void Start() {}
+    public virtual void Update() {} //fixedUpdate
+    public virtual void FrameUpdate() {}
+    public virtual void onBowReady() {}
+    public virtual void onBowShoot() {}
+    public void BanBowReady() {
+        PauseTimeCounting(this);
+        ArmBow armBow =  GameObject.FindObjectOfType<ArmBow>();
+        armBow.banReady = true;
+        armBow.banShoot = true;
+    }
+    public void UnbanBowReady() {
+        ResumeTimeCounting(this);
+        ArmBow armBow =  GameObject.FindObjectOfType<ArmBow>();
+        armBow.banReady = false;
+        armBow.banShoot = false;
+        armBow.readyShoot();
+    }
+}

+ 11 - 0
Assets/BowArrow/Scripts/GameMode/GameMode.cs.meta

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

+ 17 - 0
Assets/BowArrow/Scripts/GameMode/GameModeTest.cs

@@ -0,0 +1,17 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.SceneManagement;
+
+public class GameModeTest : GameMode {
+    public GameModeTest(GameMgr gameMgr) : base(gameMgr) {
+        //记录可射击的靶子
+        if (SceneManager.GetActiveScene().name == "Game") {
+            TargetBody targetBody = GameObject.Find("GameArea/TargetObject/TargetBody").GetComponent<TargetBody>();
+            GameObject.FindObjectOfType<ArmBow>().validTargets.Add(targetBody);
+        }
+    }
+    public override void HitTarget(float score) {
+        HitTargetNumber.Create(score);
+    }
+}

+ 11 - 0
Assets/BowArrow/Scripts/GameMode/GameModeTest.cs.meta

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

+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/OnlineObject.meta → Assets/BowArrow/Scripts/GameMode/OnlineObject.meta


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/OnlineObject/ArrowSync.cs → Assets/BowArrow/Scripts/GameMode/OnlineObject/ArrowSync.cs


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/OnlineObject/ArrowSync.cs.meta → Assets/BowArrow/Scripts/GameMode/OnlineObject/ArrowSync.cs.meta


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/OnlineObject/RabbitSyncData.cs → Assets/BowArrow/Scripts/GameMode/OnlineObject/RabbitSyncData.cs


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/OnlineObject/RabbitSyncData.cs.meta → Assets/BowArrow/Scripts/GameMode/OnlineObject/RabbitSyncData.cs.meta


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/OnlineObject/SyncDataUtil.cs → Assets/BowArrow/Scripts/GameMode/OnlineObject/SyncDataUtil.cs


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/OnlineObject/SyncDataUtil.cs.meta → Assets/BowArrow/Scripts/GameMode/OnlineObject/SyncDataUtil.cs.meta


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/OnlineObject/WolfSyncData.cs → Assets/BowArrow/Scripts/GameMode/OnlineObject/WolfSyncData.cs


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/OnlineObject/WolfSyncData.cs.meta → Assets/BowArrow/Scripts/GameMode/OnlineObject/WolfSyncData.cs.meta


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/OnlineObject/YejiSyncData.cs → Assets/BowArrow/Scripts/GameMode/OnlineObject/YejiSyncData.cs


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/OnlineObject/YejiSyncData.cs.meta → Assets/BowArrow/Scripts/GameMode/OnlineObject/YejiSyncData.cs.meta


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/OnlinePKTest.cs → Assets/BowArrow/Scripts/GameMode/OnlinePKTest.cs


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/OnlinePKTest.cs.meta → Assets/BowArrow/Scripts/GameMode/OnlinePKTest.cs.meta


+ 202 - 0
Assets/BowArrow/Scripts/GameMode/PKGameMode_LocalPK.cs

@@ -0,0 +1,202 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using DG.Tweening;
+using UnityEngine.UI;
+
+/**静止靶-本地pk模式 */
+public class PKGameMode : GameMode {
+    public int currentPlayerIndex = 0;
+    public int[] totalScores = {0, 0};
+    public float[] currentScores = {0, 0};
+    public int round = 1;
+    public int showRoundValue = 0; //回合开始提示值,如果已经提示,则showRoundValue == round
+    float[] targetDistancesOnRound = {10, 20, 30, 50, 70, 70};
+    int maxRound = 5;
+    int[] shootCount = {0, 0};
+    int maxShootCount = 3;
+    public float singleShootReadyTime = 20;
+    public float singleShootReadyMaxTime = 20;
+    bool singleShootTimeRunning = false;
+    public static int[] playerRoleIDs = {1, 2};
+    string[] gameRes = {"平局", "平局"};
+    //玩家出场顺序
+    Queue<int> appearPlayerIndexes = new Queue<int>();
+    //记录可射击的靶子
+    TargetBody targetBody;
+
+    public PKGameMode(GameMgr gameMgr) : base(gameMgr) {
+        playerRoleIDs = GlobalData.localPK_playerRoleIDs;
+        InitAppearPlayerIndexes();
+        currentPlayerIndex = appearPlayerIndexes.Dequeue();
+        //记录可射击的靶子
+        targetBody = GameObject.Find("GameArea/TargetObject/TargetBody").GetComponent<TargetBody>();
+        GameObject.FindObjectOfType<ArmBow>().validTargets.Add(targetBody);
+        targetBody.SetDistance(targetDistancesOnRound[round - 1]);
+        //添加游戏界面
+        GameObject view = Resources.Load<GameObject>("Prefabs/Views/PKGameView");
+        GameObject.Instantiate(view);
+        //禁止动作-相机和手臂
+        BanBowReady();
+    }
+
+    public override void Start() {
+        TargetView.ins.Show(true);
+        //添加预备界面
+        AddReadyView();
+    }
+
+    int[] sequencePlayerIndexes = new int[]{0, 1};
+    void InitAppearPlayerIndexes()
+    {
+        if (round >= 2)
+        {
+            if (totalScores[0] < totalScores[1])
+            {
+                sequencePlayerIndexes = new int[]{0, 1};
+            }
+            else if (totalScores[1] < totalScores[0])
+            {
+                sequencePlayerIndexes = new int[]{1, 0};
+            }
+        }
+        for (int i = 0; i < maxShootCount; i++) {
+            appearPlayerIndexes.Enqueue(sequencePlayerIndexes[0]);
+            appearPlayerIndexes.Enqueue(sequencePlayerIndexes[1]);
+        }
+    }
+
+    void AddReadyView() 
+    {
+        GameObject view = Resources.Load<GameObject>("Prefabs/Views/PKGameReadyView");
+        GameObject.Instantiate(view);
+    }
+
+    public override void HitTarget(float score) {
+        currentScores[currentPlayerIndex] += score;
+        shootCount[currentPlayerIndex]++;
+        HitTargetNumber.Create(score);
+    }
+
+    public override bool DoNextShoot() {
+        if (gameMgr.gameOver) return false;
+        bool nextRound = false;
+        bool gameEnd = false; //游戏是否结束
+        if (shootCount[0] == maxShootCount && shootCount[1] == maxShootCount ) {
+            shootCount = new int[]{0, 0};
+            nextRound = true;
+            //更新总比分
+            if (currentScores[0] == currentScores[1]) {
+                totalScores[0] += 1;
+                totalScores[1] += 1;
+            } else if (currentScores[0] > currentScores[1]) {
+                totalScores[0] += 2;
+            } else if (currentScores[0] < currentScores[1]) {
+                totalScores[1] += 2;
+            }
+            //根据总比分判断游戏是否结束
+            if (totalScores[0] == totalScores[1]) {
+                if (round == maxRound) {
+                    if (round == 5) {
+                        maxShootCount = 1;
+                        maxRound = 6;
+                    } else {
+                        gameEnd = true;    
+                        gameRes = new string[]{"平局", "平局"};
+                    }
+                }
+            } else if (totalScores[0] >= 6 && totalScores[0] > totalScores[1]) {
+                gameEnd = true;
+                gameRes = new string[]{"胜利", "失败"};
+            } else if (totalScores[1] >= 6 && totalScores[1] > totalScores[0]) {
+                gameEnd = true;
+                gameRes = new string[]{"失败", "胜利"};
+            }
+        }
+        if (gameEnd) {
+            gameMgr.StopGame();
+            GameObject view = Resources.Load<GameObject>("Prefabs/Views/PKGameSettleView");
+            GameObject.Instantiate(view);
+            return false;
+        } else {
+            //进入下一回合?
+            if (nextRound) {
+                round++;
+                currentScores[0] = currentScores[1] = 0;
+                InitAppearPlayerIndexes();
+                targetBody.SetDistance(targetDistancesOnRound[round - 1]);
+            }
+            //本轮玩家登记
+            currentPlayerIndex = appearPlayerIndexes.Dequeue();
+            //准备切换玩家
+            BanBowReady();
+            AddReadyView();
+            //清除箭矢
+            Arrow[] arrows = GameObject.FindObjectsOfType<Arrow>();
+            foreach (var arrow in arrows)
+            {
+                try {
+                    GameObject.Destroy(arrow.gameObject);
+                } catch (UnityException e) {
+                    Debug.Log("Delete Arrow Error\n" + e.Message);
+                }
+            }
+        }
+        return true; 
+    }
+
+    public override object[] Settle() {
+        return gameRes;
+    }
+
+    public override void Update() {
+        if (singleShootTimeRunning && !pauseTimeCounting) {
+            singleShootReadyTime -= Time.deltaTime;
+            if (singleShootReadyTime <= 0) {
+                singleShootReadyTime = 0;
+                singleShootTimeRunning = false;
+                HitTarget(0);
+                BanBowReady();
+                //超时显示
+                Text timeoutText = PKGameView.ins.transform.Find("TimeoutText").GetComponent<Text>();
+                Sequence seq = DOTween.Sequence();
+                seq.Append(timeoutText.DOFade(1, 0.5f));
+                seq.AppendInterval(1);
+                seq.Append(timeoutText.DOFade(0, 0.5f));
+                seq.AppendCallback(delegate(){
+                    if (DoNextShoot()) {
+                        UnbanBowReady();
+                    }
+                });
+            }
+        }
+    }
+
+    public string GetTimeStr()
+    {
+        int seconds = (int) Mathf.Ceil(this.singleShootReadyTime);
+        string str = "";
+        int m = seconds / 60; 
+        if (m < 10) {
+            str += 0;
+        }
+        str += m;
+        str += " : ";
+        int s = seconds % 60;
+        if (s < 10)
+        {
+            str += 0;
+        }
+        str += s;
+        return str;
+    }
+
+    public override void onBowReady() {
+        singleShootReadyTime = singleShootReadyMaxTime;
+        singleShootTimeRunning = true;
+    }
+
+    public override void onBowShoot() {
+        singleShootTimeRunning = false;   
+    }
+}

+ 11 - 0
Assets/BowArrow/Scripts/GameMode/PKGameMode_LocalPK.cs.meta

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

+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/PKGameMode_OnlinePK.cs → Assets/BowArrow/Scripts/GameMode/PKGameMode_OnlinePK.cs


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/PKGameMode_OnlinePK.cs.meta → Assets/BowArrow/Scripts/GameMode/PKGameMode_OnlinePK.cs.meta


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/RabbitHuntGameMode.cs → Assets/BowArrow/Scripts/GameMode/RabbitHuntGameMode.cs


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/RabbitHuntGameMode.cs.meta → Assets/BowArrow/Scripts/GameMode/RabbitHuntGameMode.cs.meta


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/RabbitHuntGameMode_LocalPK.cs → Assets/BowArrow/Scripts/GameMode/RabbitHuntGameMode_LocalPK.cs


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/RabbitHuntGameMode_LocalPK.cs.meta → Assets/BowArrow/Scripts/GameMode/RabbitHuntGameMode_LocalPK.cs.meta


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/RabbitHuntGameMode_OnlinePK.cs → Assets/BowArrow/Scripts/GameMode/RabbitHuntGameMode_OnlinePK.cs


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/RabbitHuntGameMode_OnlinePK.cs.meta → Assets/BowArrow/Scripts/GameMode/RabbitHuntGameMode_OnlinePK.cs.meta


+ 97 - 0
Assets/BowArrow/Scripts/GameMode/TimeLimitGameMode.cs

@@ -0,0 +1,97 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+/**单人限时模式 */
+public class TimeLimitGameMode : GameMode {
+    public static int[] distanceCanSelected = {10, 20, 30, 50, 70};
+    public static int distance = 10;
+    public float score = 0;
+    int oneStarScore = 10;
+    float time = 60;
+    TargetBody targetBody;
+
+    public TimeLimitGameMode(GameMgr gameMgr) : base(gameMgr) {
+        //记录可射击的靶子
+        targetBody = GameObject.Find("GameArea/TargetObject/TargetBody").GetComponent<TargetBody>();
+        GameObject.FindObjectOfType<ArmBow>().validTargets.Add(targetBody);
+        //添加游戏界面
+        GameObject view = Resources.Load<GameObject>("Prefabs/Views/TimeLimitGameView");
+        GameObject.Instantiate(view);
+
+        BanBowReady();
+    }
+
+    public override void Start()
+    {
+        UnbanBowReady();
+        GameObject.Instantiate(Resources.Load<GameObject>("Prefabs/Views/TimeLimitGameDistanceSelectView"));
+    }
+
+    public void ConfirmSelectedTargetDistance()
+    {
+        targetBody.SetDistance(distance);
+        if (TimeLimitGameView.ins) TimeLimitGameView.ins.RenderHighestScoreByDistance(distance);
+        TargetView.ins.Show(true);
+    }
+
+    public override void HitTarget(float score) {
+        this.score += score;
+        HitTargetNumber.Create(score);
+    }
+
+    public override bool DoNextShoot() { 
+        return !GameMgr.ins.gameOver; 
+    }
+
+    public override object[] Settle() {
+        int starCount = Mathf.FloorToInt(this.score / this.oneStarScore);
+        float highestScore = 0;
+        string distanceStr = distance.ToString();
+        if (LoginMgr.myUserInfo.timeLimitGameScores.ContainsKey(distanceStr)) {
+            highestScore = LoginMgr.myUserInfo.timeLimitGameScores[distanceStr];
+        }
+        if (this.score > highestScore) {
+            LoginMgr.myUserInfo.timeLimitGameScores.Remove(distanceStr);
+            LoginMgr.myUserInfo.timeLimitGameScores.Add(distanceStr, this.score);
+            LoginMgr.myUserInfo.Save();
+        }
+        return new object[]{starCount, this.score};
+    }
+
+    public override void Update() {
+        if (gameMgr.gameOver || pauseTimeCounting) return;
+        if (this.time > 0) {
+            if (GlobalData.pkMatchType == PKMatchType.None && UserSettings.ins.trainMode) {
+                //单人且为训练模式,就不要倒计时了
+            } else {
+                this.time -= Time.deltaTime;
+            }
+        } else {
+            this.time = 0;
+            gameMgr.StopGame();
+            //添加结算界面
+            GameObject view = Resources.Load<GameObject>("Prefabs/Views/TimeLimitGameSettleView");
+            GameObject.Instantiate(view);
+        }
+    }
+
+    public string GetTimeStr()
+    {
+        int seconds = (int) Mathf.Ceil(this.time);
+        string str = "";
+        int m = seconds / 60; 
+        if (m < 10) {
+            str += 0;
+        }
+        str += m;
+        str += " : ";
+        int s = seconds % 60;
+        if (s < 10)
+        {
+            str += 0;
+        }
+        str += s;
+        return str;
+    }
+}

+ 11 - 0
Assets/BowArrow/Scripts/GameMode/TimeLimitGameMode.cs.meta

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

+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/WolfHuntGameMode.cs → Assets/BowArrow/Scripts/GameMode/WolfHuntGameMode.cs


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/WolfHuntGameMode.cs.meta → Assets/BowArrow/Scripts/GameMode/WolfHuntGameMode.cs.meta


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/WolfHuntGameMode_LocalPK.cs → Assets/BowArrow/Scripts/GameMode/WolfHuntGameMode_LocalPK.cs


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/WolfHuntGameMode_LocalPK.cs.meta → Assets/BowArrow/Scripts/GameMode/WolfHuntGameMode_LocalPK.cs.meta


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/WolfHuntGameMode_OnlinePK.cs → Assets/BowArrow/Scripts/GameMode/WolfHuntGameMode_OnlinePK.cs


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/WolfHuntGameMode_OnlinePK.cs.meta → Assets/BowArrow/Scripts/GameMode/WolfHuntGameMode_OnlinePK.cs.meta


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/YejiHuntGameMode.cs → Assets/BowArrow/Scripts/GameMode/YejiHuntGameMode.cs


+ 0 - 0
Assets/BowArrow/Scenes/GameChallengeScene/YejiHuntGameMode.cs.meta → Assets/BowArrow/Scripts/GameMode/YejiHuntGameMode.cs.meta


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/YejiHuntGameMode_LocalPK.cs → Assets/BowArrow/Scripts/GameMode/YejiHuntGameMode_LocalPK.cs


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/YejiHuntGameMode_LocalPK.cs.meta → Assets/BowArrow/Scripts/GameMode/YejiHuntGameMode_LocalPK.cs.meta


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/YejiHuntGameMode_OnlinePK.cs → Assets/BowArrow/Scripts/GameMode/YejiHuntGameMode_OnlinePK.cs


+ 0 - 0
Assets/BowArrow/Scripts/Manager/GameMode/YejiHuntGameMode_OnlinePK.cs.meta → Assets/BowArrow/Scripts/GameMode/YejiHuntGameMode_OnlinePK.cs.meta


+ 1 - 349
Assets/BowArrow/Scripts/Manager/GameMgr.cs

@@ -1,9 +1,7 @@
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
-using DG.Tweening;
-using UnityEngine.UI;
-using UnityEngine.SceneManagement;
+
 /* 游戏管理者(游戏模式:单人模式、PK模式) */
 public class GameMgr : MonoBehaviour
 {
@@ -167,349 +165,3 @@ public class GameMgr : MonoBehaviour
         return gameSize;
     }
 }
-
-public abstract class GameMode 
-{
-    public GameMgr gameMgr;
-    public bool pauseTimeCounting {
-        get {
-            return timeCountingPauseLockers.Count > 0;
-        }
-    }
-    HashSet<System.Object> timeCountingPauseLockers = new HashSet<System.Object>();
-    public void PauseTimeCounting(System.Object o) 
-    {
-        timeCountingPauseLockers.Add(o);
-    }
-    public void ResumeTimeCounting(System.Object o) 
-    {
-        timeCountingPauseLockers.Remove(o);
-    }
-    public GameMode(GameMgr gameMgr) {
-        this.gameMgr = gameMgr;
-    }
-    public virtual void HitTarget(float score) {}
-    public virtual bool DoNextShoot() { return true; }
-    public virtual object[] Settle() {return null; }
-    public virtual void Start() {}
-    public virtual void Update() {} //fixedUpdate
-    public virtual void FrameUpdate() {}
-    public virtual void onBowReady() {}
-    public virtual void onBowShoot() {}
-    public void BanBowReady() {
-        PauseTimeCounting(this);
-        ArmBow armBow =  GameObject.FindObjectOfType<ArmBow>();
-        armBow.banReady = true;
-        armBow.banShoot = true;
-    }
-    public void UnbanBowReady() {
-        ResumeTimeCounting(this);
-        ArmBow armBow =  GameObject.FindObjectOfType<ArmBow>();
-        armBow.banReady = false;
-        armBow.banShoot = false;
-        armBow.readyShoot();
-    }
-}
-
-public class GameModeTest : GameMode {
-    public GameModeTest(GameMgr gameMgr) : base(gameMgr) {
-        //记录可射击的靶子
-        if (SceneManager.GetActiveScene().name == "Game") {
-            TargetBody targetBody = GameObject.Find("GameArea/TargetObject/TargetBody").GetComponent<TargetBody>();
-            GameObject.FindObjectOfType<ArmBow>().validTargets.Add(targetBody);
-        }
-    }
-    public override void HitTarget(float score) {
-        HitTargetNumber.Create(score);
-    }
-}
-
-/**单人限时模式 */
-public class TimeLimitGameMode : GameMode {
-    public static int[] distanceCanSelected = {10, 20, 30, 50, 70};
-    public static int distance = 10;
-    public float score = 0;
-    int oneStarScore = 10;
-    float time = 60;
-    TargetBody targetBody;
-
-    public TimeLimitGameMode(GameMgr gameMgr) : base(gameMgr) {
-        //记录可射击的靶子
-        targetBody = GameObject.Find("GameArea/TargetObject/TargetBody").GetComponent<TargetBody>();
-        GameObject.FindObjectOfType<ArmBow>().validTargets.Add(targetBody);
-        //添加游戏界面
-        GameObject view = Resources.Load<GameObject>("Prefabs/Views/TimeLimitGameView");
-        GameObject.Instantiate(view);
-
-        BanBowReady();
-    }
-
-    public override void Start()
-    {
-        UnbanBowReady();
-        GameObject.Instantiate(Resources.Load<GameObject>("Prefabs/Views/TimeLimitGameDistanceSelectView"));
-    }
-
-    public void ConfirmSelectedTargetDistance()
-    {
-        targetBody.SetDistance(distance);
-        if (TimeLimitGameView.ins) TimeLimitGameView.ins.RenderHighestScoreByDistance(distance);
-        TargetView.ins.Show(true);
-    }
-
-    public override void HitTarget(float score) {
-        this.score += score;
-        HitTargetNumber.Create(score);
-    }
-
-    public override bool DoNextShoot() { 
-        return !GameMgr.ins.gameOver; 
-    }
-
-    public override object[] Settle() {
-        int starCount = Mathf.FloorToInt(this.score / this.oneStarScore);
-        float highestScore = 0;
-        string distanceStr = distance.ToString();
-        if (LoginMgr.myUserInfo.timeLimitGameScores.ContainsKey(distanceStr)) {
-            highestScore = LoginMgr.myUserInfo.timeLimitGameScores[distanceStr];
-        }
-        if (this.score > highestScore) {
-            LoginMgr.myUserInfo.timeLimitGameScores.Remove(distanceStr);
-            LoginMgr.myUserInfo.timeLimitGameScores.Add(distanceStr, this.score);
-            LoginMgr.myUserInfo.Save();
-        }
-        return new object[]{starCount, this.score};
-    }
-
-    public override void Update() {
-        if (gameMgr.gameOver || pauseTimeCounting) return;
-        if (this.time > 0) {
-            if (GlobalData.pkMatchType == PKMatchType.None && UserSettings.ins.trainMode) {
-                //单人且为训练模式,就不要倒计时了
-            } else {
-                this.time -= Time.deltaTime;
-            }
-        } else {
-            this.time = 0;
-            gameMgr.StopGame();
-            //添加结算界面
-            GameObject view = Resources.Load<GameObject>("Prefabs/Views/TimeLimitGameSettleView");
-            GameObject.Instantiate(view);
-        }
-    }
-
-    public string GetTimeStr()
-    {
-        int seconds = (int) Mathf.Ceil(this.time);
-        string str = "";
-        int m = seconds / 60; 
-        if (m < 10) {
-            str += 0;
-        }
-        str += m;
-        str += " : ";
-        int s = seconds % 60;
-        if (s < 10)
-        {
-            str += 0;
-        }
-        str += s;
-        return str;
-    }
-}
-/**双人PK模式 */
-public class PKGameMode : GameMode {
-    public int currentPlayerIndex = 0;
-    public int[] totalScores = {0, 0};
-    public float[] currentScores = {0, 0};
-    public int round = 1;
-    public int showRoundValue = 0; //回合开始提示值,如果已经提示,则showRoundValue == round
-    float[] targetDistancesOnRound = {10, 20, 30, 50, 70, 70};
-    int maxRound = 5;
-    int[] shootCount = {0, 0};
-    int maxShootCount = 3;
-    public float singleShootReadyTime = 20;
-    public float singleShootReadyMaxTime = 20;
-    bool singleShootTimeRunning = false;
-    public static int[] playerRoleIDs = {1, 2};
-    string[] gameRes = {"平局", "平局"};
-    //玩家出场顺序
-    Queue<int> appearPlayerIndexes = new Queue<int>();
-    //记录可射击的靶子
-    TargetBody targetBody;
-
-    public PKGameMode(GameMgr gameMgr) : base(gameMgr) {
-        playerRoleIDs = GlobalData.localPK_playerRoleIDs;
-        InitAppearPlayerIndexes();
-        currentPlayerIndex = appearPlayerIndexes.Dequeue();
-        //记录可射击的靶子
-        targetBody = GameObject.Find("GameArea/TargetObject/TargetBody").GetComponent<TargetBody>();
-        GameObject.FindObjectOfType<ArmBow>().validTargets.Add(targetBody);
-        targetBody.SetDistance(targetDistancesOnRound[round - 1]);
-        //添加游戏界面
-        GameObject view = Resources.Load<GameObject>("Prefabs/Views/PKGameView");
-        GameObject.Instantiate(view);
-        //禁止动作-相机和手臂
-        BanBowReady();
-    }
-
-    public override void Start() {
-        TargetView.ins.Show(true);
-        //添加预备界面
-        AddReadyView();
-    }
-
-    int[] sequencePlayerIndexes = new int[]{0, 1};
-    void InitAppearPlayerIndexes()
-    {
-        if (round >= 2)
-        {
-            if (totalScores[0] < totalScores[1])
-            {
-                sequencePlayerIndexes = new int[]{0, 1};
-            }
-            else if (totalScores[1] < totalScores[0])
-            {
-                sequencePlayerIndexes = new int[]{1, 0};
-            }
-        }
-        for (int i = 0; i < maxShootCount; i++) {
-            appearPlayerIndexes.Enqueue(sequencePlayerIndexes[0]);
-            appearPlayerIndexes.Enqueue(sequencePlayerIndexes[1]);
-        }
-    }
-
-    void AddReadyView() 
-    {
-        GameObject view = Resources.Load<GameObject>("Prefabs/Views/PKGameReadyView");
-        GameObject.Instantiate(view);
-    }
-
-    public override void HitTarget(float score) {
-        currentScores[currentPlayerIndex] += score;
-        shootCount[currentPlayerIndex]++;
-        HitTargetNumber.Create(score);
-    }
-
-    public override bool DoNextShoot() {
-        if (gameMgr.gameOver) return false;
-        bool nextRound = false;
-        bool gameEnd = false; //游戏是否结束
-        if (shootCount[0] == maxShootCount && shootCount[1] == maxShootCount ) {
-            shootCount = new int[]{0, 0};
-            nextRound = true;
-            //更新总比分
-            if (currentScores[0] == currentScores[1]) {
-                totalScores[0] += 1;
-                totalScores[1] += 1;
-            } else if (currentScores[0] > currentScores[1]) {
-                totalScores[0] += 2;
-            } else if (currentScores[0] < currentScores[1]) {
-                totalScores[1] += 2;
-            }
-            //根据总比分判断游戏是否结束
-            if (totalScores[0] == totalScores[1]) {
-                if (round == maxRound) {
-                    if (round == 5) {
-                        maxShootCount = 1;
-                        maxRound = 6;
-                    } else {
-                        gameEnd = true;    
-                        gameRes = new string[]{"平局", "平局"};
-                    }
-                }
-            } else if (totalScores[0] >= 6 && totalScores[0] > totalScores[1]) {
-                gameEnd = true;
-                gameRes = new string[]{"胜利", "失败"};
-            } else if (totalScores[1] >= 6 && totalScores[1] > totalScores[0]) {
-                gameEnd = true;
-                gameRes = new string[]{"失败", "胜利"};
-            }
-        }
-        if (gameEnd) {
-            gameMgr.StopGame();
-            GameObject view = Resources.Load<GameObject>("Prefabs/Views/PKGameSettleView");
-            GameObject.Instantiate(view);
-            return false;
-        } else {
-            //进入下一回合?
-            if (nextRound) {
-                round++;
-                currentScores[0] = currentScores[1] = 0;
-                InitAppearPlayerIndexes();
-                targetBody.SetDistance(targetDistancesOnRound[round - 1]);
-            }
-            //本轮玩家登记
-            currentPlayerIndex = appearPlayerIndexes.Dequeue();
-            //准备切换玩家
-            BanBowReady();
-            AddReadyView();
-            //清除箭矢
-            Arrow[] arrows = GameObject.FindObjectsOfType<Arrow>();
-            foreach (var arrow in arrows)
-            {
-                try {
-                    GameObject.Destroy(arrow.gameObject);
-                } catch (UnityException e) {
-                    Debug.Log("Delete Arrow Error\n" + e.Message);
-                }
-            }
-        }
-        return true; 
-    }
-
-    public override object[] Settle() {
-        return gameRes;
-    }
-
-    public override void Update() {
-        if (singleShootTimeRunning && !pauseTimeCounting) {
-            singleShootReadyTime -= Time.deltaTime;
-            if (singleShootReadyTime <= 0) {
-                singleShootReadyTime = 0;
-                singleShootTimeRunning = false;
-                HitTarget(0);
-                BanBowReady();
-                //超时显示
-                Text timeoutText = PKGameView.ins.transform.Find("TimeoutText").GetComponent<Text>();
-                Sequence seq = DOTween.Sequence();
-                seq.Append(timeoutText.DOFade(1, 0.5f));
-                seq.AppendInterval(1);
-                seq.Append(timeoutText.DOFade(0, 0.5f));
-                seq.AppendCallback(delegate(){
-                    if (DoNextShoot()) {
-                        UnbanBowReady();
-                    }
-                });
-            }
-        }
-    }
-
-    public string GetTimeStr()
-    {
-        int seconds = (int) Mathf.Ceil(this.singleShootReadyTime);
-        string str = "";
-        int m = seconds / 60; 
-        if (m < 10) {
-            str += 0;
-        }
-        str += m;
-        str += " : ";
-        int s = seconds % 60;
-        if (s < 10)
-        {
-            str += 0;
-        }
-        str += s;
-        return str;
-    }
-
-    public override void onBowReady() {
-        singleShootReadyTime = singleShootReadyMaxTime;
-        singleShootTimeRunning = true;
-    }
-
-    public override void onBowShoot() {
-        singleShootTimeRunning = false;   
-    }
-}

+ 0 - 0
Assets/BowArrow/Scenes/GameSceneManager.cs → Assets/BowArrow/Scripts/Manager/GameSceneManager.cs


+ 0 - 0
Assets/BowArrow/Scenes/GameSceneManager.cs.meta → Assets/BowArrow/Scripts/Manager/GameSceneManager.cs.meta


+ 0 - 0
Assets/BowArrow/Scripts/Manager/LoginView.meta → Assets/BowArrow/Scripts/Manager/LoginMgr.meta


+ 0 - 0
Assets/BowArrow/Scripts/Manager/LoginView/AgreementPopup.cs → Assets/BowArrow/Scripts/Manager/LoginMgr/AgreementPopup.cs


+ 0 - 0
Assets/BowArrow/Scripts/Manager/LoginView/AgreementPopup.cs.meta → Assets/BowArrow/Scripts/Manager/LoginMgr/AgreementPopup.cs.meta


+ 0 - 0
Assets/BowArrow/Scripts/Manager/LoginView/AgreementView.cs → Assets/BowArrow/Scripts/Manager/LoginMgr/AgreementView.cs


+ 0 - 0
Assets/BowArrow/Scripts/Manager/LoginView/AgreementView.cs.meta → Assets/BowArrow/Scripts/Manager/LoginMgr/AgreementView.cs.meta


+ 0 - 0
Assets/BowArrow/Scripts/Manager/LoginView/AgreenmentOption.cs → Assets/BowArrow/Scripts/Manager/LoginMgr/AgreenmentOption.cs


+ 0 - 0
Assets/BowArrow/Scripts/Manager/LoginView/AgreenmentOption.cs.meta → Assets/BowArrow/Scripts/Manager/LoginMgr/AgreenmentOption.cs.meta


+ 0 - 0
Assets/BowArrow/Scripts/Manager/LoginMgr.cs → Assets/BowArrow/Scripts/Manager/LoginMgr/LoginMgr.cs


+ 0 - 0
Assets/BowArrow/Scripts/Manager/LoginMgr.cs.meta → Assets/BowArrow/Scripts/Manager/LoginMgr/LoginMgr.cs.meta


Some files were not shown because too many files changed in this diff