1
This commit is contained in:
@@ -802,7 +802,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4659075296069922
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -866,6 +866,8 @@ MonoBehaviour:
|
||||
isyz: 0
|
||||
yzID:
|
||||
colliderList: []
|
||||
lockPoint: {fileID: 4349160784336160}
|
||||
rotationPY: 60
|
||||
isRotate: 1
|
||||
ischild0: 1
|
||||
depthOffset: 560
|
||||
|
||||
@@ -5352,7 +5352,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4348932386223146
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -5415,6 +5415,8 @@ MonoBehaviour:
|
||||
isyz: 0
|
||||
yzID:
|
||||
colliderList: []
|
||||
lockPoint: {fileID: 0}
|
||||
rotationPY: 60
|
||||
isRotate: 1
|
||||
ischild0: 1
|
||||
depthOffset: 390
|
||||
@@ -5450,9 +5452,9 @@ CircleCollider2D:
|
||||
m_IsTrigger: 0
|
||||
m_UsedByEffector: 0
|
||||
m_UsedByComposite: 0
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Offset: {x: 0, y: 1.509161}
|
||||
serializedVersion: 2
|
||||
m_Radius: 0.5
|
||||
m_Radius: 1.63849
|
||||
--- !u!1 &1491235563968188
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -25,8 +25,8 @@ Transform:
|
||||
m_GameObject: {fileID: 1062672591814017}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0.18}
|
||||
m_LocalScale: {x: 0.049999997, y: 0.049999997, z: 0.049999997}
|
||||
m_LocalPosition: {x: -0.09, y: -3.3, z: 0.18}
|
||||
m_LocalScale: {x: 0.10000001, y: 0.10000001, z: 0.10000001}
|
||||
m_ConstrainProportionsScale: 1
|
||||
m_Children:
|
||||
- {fileID: 4562805979122256}
|
||||
|
||||
@@ -615,7 +615,7 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
return;
|
||||
foreach (var item in bossList)
|
||||
{
|
||||
if (item.fishNumber == "13030")
|
||||
if (item.fishNumber == "11025")
|
||||
{
|
||||
item.isCreate = 2;
|
||||
}
|
||||
@@ -1507,21 +1507,30 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
|
||||
|
||||
if (!fishDatas_hashCodekey.TryGetValue(killFish.fishId, out var monster)) return;
|
||||
monster.DieFish(killFish);
|
||||
|
||||
|
||||
// 死亡粒子特效
|
||||
Instantiate(
|
||||
monster.effect_Die != null ? monster.effect_Die : dieFXPrefab,
|
||||
monster.transform.position, Quaternion.identity, transform.parent);
|
||||
// 加分回调(在金币/加分面板飞完后执行)
|
||||
Action<int> onScoreAdd = audioID =>
|
||||
int goldToAdd = killFish.gold; // 立即复制需要的数据
|
||||
string fishId = killFish.fishId; // 如果需要的话
|
||||
Action<int> onScoreAdd = (audioID) =>
|
||||
{
|
||||
var sitList = GetCurrentPanelSitList();
|
||||
sitData.goldNum += killFish.gold;
|
||||
sitData.goldNum += goldToAdd; // 使用副本,不再依赖 killFish 对象
|
||||
sitData.tMP_GoldNum.text = sitData.goldNum.ToString();
|
||||
AudioManager.Instance.PlayerFX(audioID);
|
||||
};
|
||||
//// 加分回调(在金币/加分面板飞完后执行)
|
||||
//Action<int> onScoreAdd = (audioID) =>
|
||||
//{
|
||||
// var sitList = GetCurrentPanelSitList();
|
||||
// sitData.goldNum += killFish.gold;
|
||||
// sitData.tMP_GoldNum.text = sitData.goldNum.ToString();
|
||||
// AudioManager.Instance.PlayerFX(audioID);
|
||||
//};
|
||||
monster.DieFish(killFish);
|
||||
|
||||
switch (monster.fishenum)
|
||||
{
|
||||
case FishTypeEnum.普通鱼:
|
||||
|
||||
@@ -117,33 +117,59 @@ public class TurretData : MonoBehaviour
|
||||
{
|
||||
PlayState(TurretState.Idle);
|
||||
}
|
||||
//public Vector2 GetBulletStartWorldPos()
|
||||
//{
|
||||
// if (tra_BulletStartPosition == null)
|
||||
// return Vector2.zero;
|
||||
|
||||
// // 如果是 UI RectTransform(UGUI)
|
||||
// RectTransform rect = tra_BulletStartPosition.GetComponent<RectTransform>();
|
||||
// if (rect != null)
|
||||
// {
|
||||
// // 1. UI 本地坐标 → Canvas 坐标
|
||||
// Vector2 canvasPos = CoordinateTransformation.AnchoredPos_ToCanvas(
|
||||
// rect,
|
||||
// UIManager.Instance.uiRoot.GetComponent<Canvas>()
|
||||
// );
|
||||
|
||||
// // 2. Canvas 坐标 → 世界坐标
|
||||
// return CoordinateTransformation.CanvasToWorld(
|
||||
// canvasPos,
|
||||
// UIManager.Instance.uiRoot.GetComponent<RectTransform>(),
|
||||
// Camera.main
|
||||
// );
|
||||
// }
|
||||
|
||||
// // 如果不是 UI(比如 3D Transform)
|
||||
// return tra_BulletStartPosition.position;
|
||||
//}
|
||||
public Vector2 GetBulletStartWorldPos()
|
||||
{
|
||||
if (tra_BulletStartPosition == null)
|
||||
return Vector2.zero;
|
||||
|
||||
// 如果是 UI RectTransform(UGUI)
|
||||
// 如果是 UI(UGUI)
|
||||
RectTransform rect = tra_BulletStartPosition.GetComponent<RectTransform>();
|
||||
if (rect != null)
|
||||
{
|
||||
// 1. UI 本地坐标 → Canvas 坐标
|
||||
Vector2 canvasPos = CoordinateTransformation.AnchoredPos_ToCanvas(
|
||||
rect,
|
||||
UIManager.Instance.uiRoot.GetComponent<Canvas>()
|
||||
);
|
||||
Canvas canvas = UIManager.Instance.uiRoot.GetComponent<Canvas>();
|
||||
Camera cam = Camera.main;
|
||||
|
||||
// 2. Canvas 坐标 → 世界坐标
|
||||
return CoordinateTransformation.CanvasToWorld(
|
||||
canvasPos,
|
||||
UIManager.Instance.uiRoot.GetComponent<RectTransform>(),
|
||||
Camera.main
|
||||
// 方式1:通过屏幕坐标直接转世界坐标(推荐)
|
||||
Vector3 screenPos = RectTransformUtility.WorldToScreenPoint(
|
||||
canvas.renderMode == RenderMode.ScreenSpaceOverlay ? null : canvas.worldCamera,
|
||||
rect.position
|
||||
);
|
||||
// 需要计算 Z 轴距离(物体到相机的距离),这里假设子弹打在 Z=0 平面
|
||||
float distance = Mathf.Abs(cam.transform.position.z - 0f);
|
||||
Vector3 worldPos = cam.ScreenToWorldPoint(new Vector3(screenPos.x, screenPos.y, distance));
|
||||
worldPos.z = 0f;
|
||||
return worldPos;
|
||||
}
|
||||
|
||||
// 如果不是 UI(比如 3D Transform)
|
||||
// 非 UI(3D 物体)
|
||||
return tra_BulletStartPosition.position;
|
||||
}
|
||||
|
||||
public void SetFrenzy(bool value)
|
||||
{
|
||||
isFrenzy = value;
|
||||
@@ -209,6 +235,62 @@ public class TurretData : MonoBehaviour
|
||||
}
|
||||
}
|
||||
|
||||
//private void PlaySkeleton(TurretState state)
|
||||
//{
|
||||
// if (skeletonAnimation == null) return;
|
||||
|
||||
// string anim = state switch
|
||||
// {
|
||||
// TurretState.Idle => idleAnim,
|
||||
// TurretState.Attack => (isFrenzy && useFrenzyAnim) ? frenzyAttackAnim : attackAnim,
|
||||
// TurretState.LaserStart => laserStartAnim,
|
||||
// TurretState.LaserLoop => laserLoopAnim,
|
||||
// TurretState.LaserEnd => laserEndAnim,
|
||||
// _ => idleAnim
|
||||
// };
|
||||
|
||||
// bool loop = state == TurretState.Attack || state == TurretState.LaserLoop;
|
||||
// skeletonAnimation.AnimationState.SetAnimation(0, anim, loop);
|
||||
|
||||
// if (state == TurretState.LaserStart)
|
||||
// {
|
||||
// skeletonAnimation.AnimationState.AddAnimation(0, laserLoopAnim, true, 0f);
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
|
||||
//private void PlayLegacy(TurretState state)
|
||||
//{
|
||||
// if (old_CurrAnimation == null) return;
|
||||
|
||||
// string anim = state switch
|
||||
// {
|
||||
// TurretState.Idle => idleAnim,
|
||||
// TurretState.Attack => (isFrenzy && useFrenzyAnim) ? frenzyAttackAnim : attackAnim,
|
||||
// TurretState.LaserStart => laserStartAnim,
|
||||
// TurretState.LaserLoop => laserLoopAnim,
|
||||
// TurretState.LaserEnd => laserEndAnim,
|
||||
// _ => idleAnim
|
||||
// };
|
||||
|
||||
// old_CurrAnimation.Play(anim);
|
||||
//}
|
||||
|
||||
|
||||
//private void PlayAnimator(TurretState state)
|
||||
//{
|
||||
// if (new_CurrAnimation == null) return;
|
||||
|
||||
// if (state == TurretState.Attack && isFrenzy && useFrenzyAnim)
|
||||
// {
|
||||
// new_CurrAnimation.SetTrigger("FrenzyAttack");
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// new_CurrAnimation.SetInteger("State", (int)state);
|
||||
// }
|
||||
//}
|
||||
private void PlaySkeleton(TurretState state)
|
||||
{
|
||||
if (skeletonAnimation == null) return;
|
||||
@@ -223,17 +305,23 @@ public class TurretData : MonoBehaviour
|
||||
_ => idleAnim
|
||||
};
|
||||
|
||||
// 如果动画名为空 → 停止当前动画(暂停),不再播放任何动画
|
||||
if (string.IsNullOrEmpty(anim))
|
||||
{
|
||||
skeletonAnimation.AnimationState.ClearTrack(0);
|
||||
skeletonAnimation.AnimationState.SetEmptyAnimation(0, 0f);
|
||||
return;
|
||||
}
|
||||
|
||||
bool loop = state == TurretState.Attack || state == TurretState.LaserLoop;
|
||||
skeletonAnimation.AnimationState.SetAnimation(0, anim, loop);
|
||||
|
||||
if (state == TurretState.LaserStart)
|
||||
if (state == TurretState.LaserStart && !string.IsNullOrEmpty(laserLoopAnim))
|
||||
{
|
||||
skeletonAnimation.AnimationState.AddAnimation(0, laserLoopAnim, true, 0f);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void PlayLegacy(TurretState state)
|
||||
{
|
||||
if (old_CurrAnimation == null) return;
|
||||
@@ -248,22 +336,33 @@ public class TurretData : MonoBehaviour
|
||||
_ => idleAnim
|
||||
};
|
||||
|
||||
old_CurrAnimation.Play(anim);
|
||||
if (string.IsNullOrEmpty(anim))
|
||||
{
|
||||
old_CurrAnimation.Stop();
|
||||
return;
|
||||
}
|
||||
|
||||
old_CurrAnimation.Play(anim);
|
||||
}
|
||||
|
||||
private void PlayAnimator(TurretState state)
|
||||
{
|
||||
if (new_CurrAnimation == null) return;
|
||||
|
||||
if (state == TurretState.Attack && isFrenzy && useFrenzyAnim)
|
||||
// 如果缺少对应动画,暂停 animator(速度为0)或者设置一个空状态
|
||||
if (state == TurretState.Attack && isFrenzy && useFrenzyAnim && !string.IsNullOrEmpty(frenzyAttackAnim))
|
||||
{
|
||||
new_CurrAnimation.SetTrigger("FrenzyAttack");
|
||||
}
|
||||
else
|
||||
else if (!string.IsNullOrEmpty(attackAnim) || state == TurretState.Idle && !string.IsNullOrEmpty(idleAnim))
|
||||
{
|
||||
new_CurrAnimation.SetInteger("State", (int)state);
|
||||
}
|
||||
else
|
||||
{
|
||||
// 没有可用动画时暂停 animator,避免残留动作
|
||||
new_CurrAnimation.speed = 0f;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -34,7 +34,7 @@ public class FLZY_DLY_BOSS : MonsterControl_BossBase
|
||||
obj.gold, // goldCount
|
||||
item.posID, // posID
|
||||
obj.skillsGold, // paobei
|
||||
obj.fishScore, // fishScore
|
||||
obj.fishScore, // fishScore6
|
||||
obj.beishu, // beishu
|
||||
JiaFen // action<int>
|
||||
);
|
||||
|
||||
@@ -8,6 +8,10 @@ PrefabInstance:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 1167581238341417, guid: 4c7dd006793f4bb4b8e07709da46a243, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 901095073939263735, guid: 4c7dd006793f4bb4b8e07709da46a243,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
|
||||
@@ -60,7 +60,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
bjEndUI: {fileID: 0}
|
||||
useScorePanel: 1
|
||||
useScorePanel: 0
|
||||
tMP_Score: {fileID: 1728322933195366793}
|
||||
scorePanelPrefab: {fileID: 0}
|
||||
currScore: 0
|
||||
@@ -69,6 +69,7 @@ MonoBehaviour:
|
||||
posID: 0
|
||||
paoBei: 0
|
||||
fishScore: 0
|
||||
bJbeishu: 0
|
||||
showDelay: 3
|
||||
moveDuration: 0.5
|
||||
moveEase: 6
|
||||
|
||||
@@ -2319,6 +2319,8 @@ MonoBehaviour:
|
||||
isyz: 0
|
||||
yzID:
|
||||
colliderList: []
|
||||
lockPoint: {fileID: 0}
|
||||
rotationPY: 60
|
||||
isRotate: 0
|
||||
ischild0: 1
|
||||
depthOffset: 280
|
||||
|
||||
Reference in New Issue
Block a user