This commit is contained in:
2026-04-29 23:53:55 +08:00
parent 143f51d35d
commit 0055207c24
786 changed files with 24840 additions and 47796 deletions
@@ -107,6 +107,7 @@ public class MonsterContral : MonoBehaviour
/// <summary>主相机缓存</summary>
protected Camera mainCamera;
// ================================================================
// Unity 生命周期
// ================================================================
@@ -121,13 +122,12 @@ public class MonsterContral : MonoBehaviour
hurt.SetActive(false);
}
}
public virtual void Start()
public virtual void OnEnable()
{
fishenum = (FishTypeEnum)monsterData.fishTypeConfig.fishType;
uirootRect = UIManager.Instance.uiRoot.GetComponent<RectTransform>();
mainCamera = Camera.main;
moveTime=0f;
InitAnimList();
ChangeState(CharacterStateType.move);
}
@@ -136,11 +136,11 @@ public class MonsterContral : MonoBehaviour
{
OnUpdate(currState);
}
/// <summary>
/// 销毁时自动从 CreateFishManager 的三个字典中移除自身,避免野指针。
/// </summary>
public virtual void OnDestroy()
public virtual void OnDisable()
{
if (CreateFishManager.Instance == null) return;
@@ -197,7 +197,7 @@ public class MonsterContral : MonoBehaviour
fishenum = (FishTypeEnum)monsterData.fishTypeConfig.fishType;
// 路径结束后自动销毁
Destroy(gameObject, time);
Pool.Instance.Return(gameObject, time);
}
// ================================================================
@@ -391,8 +391,8 @@ public class MonsterContral : MonoBehaviour
{
AudioManager.Instance.PlayerFX(res.dieAudio[0]);
}
Destroy(gameObject);
Pool.Instance.Return(gameObject);
//Destroy(gameObject);
}
// ================================================================
@@ -31,9 +31,9 @@ public class MonsterControl_BossBase : MonsterContral
ZhuCam = GameManager.Instance.ZhuCam;
}
public override void Start()
public override void OnEnable()
{
base.Start();
base.OnEnable();
FishResourcesData fishResourcesData;
fishResourcesData = FishResourcesData.fishResourcesDatasDic[fishTypeID];
@@ -135,6 +135,7 @@ public class MonsterControl_BossBase : MonsterContral
}
public override void DieFish(RoomKillNotice obj = null)
{
GameManager.Instance.cameraShake.ShakePresets.Explosion2D(3f, 4f, 1f);
if (obj != null)
{
@@ -150,7 +151,7 @@ public class MonsterControl_BossBase : MonsterContral
int index = Random.Range(0, v.Count);
AudioManager.Instance.PlayerFX(v[index]);
}
Pool.Instance.Return(gameObject);
}
@@ -220,9 +221,10 @@ public class MonsterControl_BossBase : MonsterContral
BezierCurveData bezierCurveData = MonsterMoveLine.dic_BezierCurveDatas[bossName + pathId];
monsterData.moveLine.Init(bezierCurveData, Time);
}
public override void OnDestroy()
public override void OnDisable()
{
base.OnDestroy();
base.OnDisable();
GameManager.Instance.StartCoroutine(yanchidie());
}
@@ -26,6 +26,7 @@ using TMPro;
using Unity.Collections;
using Unity.Jobs;
using UnityEngine;
using static UnityEditor.FilePathAttribute;
using Random = UnityEngine.Random;
/// <summary>
@@ -542,6 +543,10 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
public void CloseSpawnSystem()
{
spawnList = null;
spawnDic = null;
yz_FishConfig_Line_Dic = null;
yz_FishConfig_Line = null;
yz_FishConfig_Line_Dic1 = null;
if (fishRoot == null) return;
for (int i = fishRoot.childCount - 1; i >= 0; i--)
@@ -648,8 +653,9 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
return false;
}
var prefab = FishResourcesData.GetFishPrefab(int.Parse(fishType.fishNumber));
var fish = Instantiate(prefab, new Vector3(9999, 9999, 0), prefab.transform.rotation, fishRoot);
//var prefab = FishResourcesData.GetFishPrefab(int.Parse(fishType.fishNumber));
//var fish = Instantiate(prefab, new Vector3(9999, 9999, 0), prefab.transform.rotation, fishRoot);
var fish = Pool.Instance.Get(int.Parse(createFishData.fishNumber), new Vector3(9999, 9999, 0), Quaternion.identity,fishRoot);
var mc = fish.GetComponent<MonsterContral>() ?? fish.AddComponent<MonsterContral>();
mc.monsterData.fishTypeConfig = FishDatas[createFishData.fishNumber];
@@ -775,7 +781,8 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
var rotation = Quaternion.Euler(
prefab.transform.eulerAngles + Vector3.forward * angle);
var fish = Instantiate(prefab, pos, rotation, fishRoot);
//var fish = Instantiate(prefab, pos, rotation, fishRoot);
var fish = Pool.Instance.Get(int.Parse(yz.fishNumber), pos, rotation, fishRoot);
var mc = fish.GetComponent<MonsterContral>();
mc.monsterData.fishTypeConfig = FishDatas[yz.fishNumber];
@@ -804,7 +811,9 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
var rotation = Quaternion.Euler(
prefab.transform.eulerAngles + Vector3.forward * angle);
var fish = Instantiate(prefab, pos, rotation, fishRoot);
//var fish = Instantiate(prefab, pos, rotation, fishRoot);
var fish = Pool.Instance.Get(int.Parse(yz.fishNumber), pos, rotation, fishRoot);
var mc = fish.GetComponent<MonsterContral>();
mc.monsterData.fishTypeConfig = FishDatas[yz.fishNumber];
@@ -828,7 +837,9 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
for (int i = 0; i < count; i++)
{
var fish = Instantiate(prefab, pos, prefab.transform.rotation, fishRoot);
//var fish = Instantiate(prefab, pos, prefab.transform.rotation, fishRoot);
var fish = Pool.Instance.Get(int.Parse(yz.fishNumber), pos, Quaternion.identity, fishRoot);
var mc = fish.GetComponent<MonsterContral>() ?? fish.AddComponent<MonsterContral>();
mc.monsterData.fishTypeConfig = FishDatas[yz.fishNumber];
@@ -51,6 +51,8 @@ public class GameManager : MonoSingleton<GameManager>
protected override async void Awake()
{
AudioResourcesData audioResourcesData=new AudioResourcesData();
Application.runInBackground = true;
base.Awake();
@@ -75,6 +75,7 @@ public class FishResourcesData
public static async void LoadFishAssetsData()
{
Pool.Instance.Clear();
if (fishPrefabDic != null)
return;
@@ -90,6 +91,8 @@ public class FishResourcesData
{
fishPrefabDic.Add(FishResourcesPrefabsDic[prefab.name], prefab);
prefab.GetComponent<MonsterContral>().fishTypeID = FishResourcesPrefabsDic[prefab.name];
Pool.Instance.dic.Add(FishResourcesPrefabsDic[prefab.name], new PoolData(prefab,CreateFishManager.Instance.fishRoot.gameObject));
}
}, MergeMode.Intersection).Task;
Debug.Log($"加载完成,共 {fishPrefabDic.Count} 个鱼Prefab");
@@ -538,5 +538,9 @@
{
"AudioID": 61105,
"AudioResourcesPath": "sd_t1_Shell_skill2"
},
{
"AudioID": 69001,
"AudioResourcesPath": "sound_ui_gow_bgm"
}
]