lvjincheng před 3 roky
rodič
revize
ec15070f35

+ 1 - 1
Assets/BowArrow/Scenes/GameChallengeScene/LocalPK/HunterGameView_LocalPK.cs

@@ -55,7 +55,7 @@ public class HunterGameView_LocalPK : MonoBehaviour
                 ShowPlayerDie(((WolfHuntGameMode_LocalPK)gameModeLocalPK).playerDieList);
             }
             if (GlobalData.pkMatchType == PKMatchType.OnlinePK) {
-                
+                ShowPlayerDie(((WolfHuntGameMode_OnlinePK)gameModeLocalPK).playerDieList);
             }
         }
         //游戏结束

+ 11 - 4
Assets/BowArrow/Scenes/GameChallengeScene/WolfHuntGameMode.cs

@@ -58,8 +58,9 @@ public class WolfHuntGameMode : ChallengeGameMode
     float baseCreateDistance = 25;
     // float baseCreateDistance = 15;
     float plusCreateDistance = 0;
-
+    public bool banCreateAnimal = false;
     void CreateAnimal() {
+        if (banCreateAnimal) return;
         if (animalCreateIndex >= animalCreateList.Length) return;
         int animalStyleID = animalCreateList[animalCreateIndex++];
 
@@ -82,6 +83,7 @@ public class WolfHuntGameMode : ChallengeGameMode
         wolf.transform.position = newPos;
 
         wolf.hp = animalStyleID == 1 ? 5 : 8;
+        wolf.onlineHandler.uid = animalCreateIndex + 1;
         wolf.ChangeColorByType(animalStyleID);
         wolf.RotateByWorldY(Random.value * 360);
         wolf.onDie += delegate(Wolf wf) {
@@ -99,9 +101,12 @@ public class WolfHuntGameMode : ChallengeGameMode
     public override void Update()
     {
         base.Update();
+        CheckAutoCreateAnimalByUpdate(Time.deltaTime);
+    }
+    public void CheckAutoCreateAnimalByUpdate(float dt) {
         //固定时间间隔生成一头狼
         if (!gameMgr.gameOver && canStartCreateAniaml) {
-            createAnimalCountDown -= Time.deltaTime;
+            createAnimalCountDown -= dt;
             if (createAnimalCountDown <= 0) {
                 createAnimalCountDown = createAnimalCountDownDefault;
                 CreateAnimal();
@@ -119,6 +124,7 @@ public class WolfHuntGameMode : ChallengeGameMode
     public int hp = 20;
     public int hpMax = 20;
     public System.Action onHpZero;
+    public System.Action onHurtEffect;
     public void OnAttacked(Wolf wolf, int hurtValue) {
         if (hp <= 0) return;
 
@@ -132,6 +138,7 @@ public class WolfHuntGameMode : ChallengeGameMode
         hp -= hurtValue;
         AudioMgr.ins.PlayAnimalEffect("man_injured", AudioMgr.GetAudioSource(this.gameMgr.gameObject));
         DoTweenHurt();
+        onHurtEffect?.Invoke();
         if (hp <= 0) {
             hp = 0;
             if (onHpZero == null) {
@@ -188,7 +195,7 @@ public class WolfHuntGameMode : ChallengeGameMode
     }
 
     public void QuicklyCreateAnimalForDebug() {
-        baseCreateDistance = 11;
-        createAnimalCountDownDefault = 5;
+        baseCreateDistance = 15;
+        createAnimalCountDownDefault = 10;
     }
 }

+ 0 - 3
Assets/BowArrow/Scripts/Game/ArrowCamera.cs

@@ -89,7 +89,6 @@ class ArrowCameraTemplate3 : ArrowCameraTemplate
                 seq.AppendCallback(delegate() {
                     if (!this.arrowCamera.isArrowSync) {
                         this.arrowCamera.arrow.nextShoot();
-                        this.arrowCamera.arrow.enabled = false;
                     }
                     GameObject.Destroy(container?container:this.arrowCamera.gameObject);
                 });
@@ -205,7 +204,6 @@ class ArrowCameraTemplate2 : ArrowCameraTemplate
                     seq.PrependInterval(2.2f);
                     seq.AppendCallback(delegate() {
                         this.arrowCamera.arrow.nextShoot();
-                        this.arrowCamera.arrow.enabled = false;
                         GameObject.Destroy(this.arrowCamera.gameObject);
                     });
                     return;
@@ -249,7 +247,6 @@ class ArrowCameraTemplate1 : ArrowCameraTemplate
                 seq.AppendCallback(delegate() {
                     if (!arrowCamera.isArrowSync) {
                         this.arrowCamera.arrow.nextShoot();
-                        this.arrowCamera.arrow.enabled = false;
                     }
                     GameObject.Destroy(this.arrowCamera.gameObject);
                 });

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

@@ -78,6 +78,7 @@ public class GameMgr : MonoBehaviour
         if (gameType == 9) gameMode = new PKGameMode_OnlinePK(this);
         if (gameType == 10) gameMode = new RabbitHuntGameMode_OnlinePK(this);
         if (gameType == 11) gameMode = new YejiHuntGameMode_OnlinePK(this);
+        if (gameType == 12) gameMode = new WolfHuntGameMode_OnlinePK(this);
     }
 
     public void StopGame() {
@@ -195,7 +196,7 @@ public abstract class GameMode
         ArmBow armBow =  GameObject.FindObjectOfType<ArmBow>();
         armBow.banReady = false;
         armBow.banShoot = false;
-        GameObject.FindObjectOfType<ArmBow>().readyShoot();
+        armBow.readyShoot();
     }
 }