This commit is contained in:
2026-05-01 06:26:50 +08:00
parent 0055207c24
commit dff505d073
263 changed files with 13655 additions and 11640 deletions
@@ -28,6 +28,8 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
protected bool isOpenSetting;
public Button btn_SettingList;
public Transform SittingListParent;
public Button btn_TuiChu;
[Header("我在这")]
public GameObject mySitAnim;
[Header("Skill")]
@@ -54,17 +56,21 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
AudioClip bulletClip;
public async override void Awake()
public ProgressBar JinDuTiao;
public async void LoadResources()
{
base.Awake();
EventCenter.Instance.AddEventListener<SyncGameData>(ConstEventString.SyncGameData_Rotate, SyncGameData_Rotate);
EventCenter.Instance.AddEventListener<SyncGameData>(ConstEventString.SyncGameData_FireBullet, SyncGameData_FireBullit);
EventCenter.Instance.AddEventListener<SyncGameData>(ConstEventString.SyncGameData_ChangeTargetMonster, SyncGameData_ChangeTargetMonster);
EventCenter.Instance.AddEventListener<SyncGameData>(ConstEventString.SyncGameData_RendromDieFish, SyncGameData_RendromDieFish);
subUIManager.boardCast_Boss = boardCast_Boss;
FishResourcesData.LoadFishAssetsData();
MonsterMoveLine.LoadBezier();//初始化加载路线
AudioResourcesData.LoadAudioGame();
CreateFishManager.Instance.isResources = false;
await AudioResourcesData.LoadAudioGame();
JinDuTiao.SetProgress(0.2f);
await MonsterMoveLine.LoadBezier();//初始化加载路线
JinDuTiao.SetProgress(0.4f);
await FishResourcesData.LoadFishAssetsData();
JinDuTiao.SetProgress(0.6f);
await Addressables.LoadAssetsAsync<AudioClip>("Audio", clip =>
{
Debug.Log("clipName" + clip.name);
@@ -74,6 +80,43 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
bulletClip = clip;
}
}).Task;
JinDuTiao.SetProgress(0.8f);
//显示游戏界面
CreateFishManager.Instance.EnterRoom(gameType);
CreateFishManager.Instance.isResources = true;
JinDuTiao.SetProgress(0.9f);
await Task.Delay(2000);
JinDuTiao.SetProgress(1);
await Task.Delay(100);
JinDuTiao.Hide();
}
public async void UnLoadResources()
{
CreateFishManager.Instance.isResources = false;
await FishResourcesData.UnLoadFishAssetsData();
await AudioResourcesData.UnLoadAudioGame();
await MonsterMoveLine.UnLoadBezier();//初始化加载路线
//显示游戏界面
CreateFishManager.Instance.isResources = false;
CreateFishManager.Instance.ExitRoom();
}
public async override void Awake()
{
base.Awake();
btn_TuiChu.onClick.AddListener(() =>
{
WebSocketSendList.LeaveRoom(GameManager.Instance.gameData.currRoomData.roomId, currSitData.user);
CreateFishManager.Instance.fangzhu = false;
});
EventCenter.Instance.AddEventListener<SyncGameData>(ConstEventString.SyncGameData_Rotate, SyncGameData_Rotate);
EventCenter.Instance.AddEventListener<SyncGameData>(ConstEventString.SyncGameData_FireBullet, SyncGameData_FireBullit);
EventCenter.Instance.AddEventListener<SyncGameData>(ConstEventString.SyncGameData_ChangeTargetMonster, SyncGameData_ChangeTargetMonster);
EventCenter.Instance.AddEventListener<SyncGameData>(ConstEventString.SyncGameData_RendromDieFish, SyncGameData_RendromDieFish);
subUIManager.boardCast_Boss = boardCast_Boss;
}
public virtual void OnDestroy()
@@ -121,13 +164,14 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
});
CreateFishManager.Instance.EnterRoom(gameType);
}
public void TuiChuHHWK()
{
UIManager.Instance.Close(UIPanel.MainGamePanelHHWK);
//等待界面添加
UIManager.Instance.ShowAsync(UIPanel.HomeMainPanel, UIPanel.MainGamePanelHHWK);
//UIManager.Instance.Close(UIPanel.MainGamePanelHHWK);
////等待界面添加
//UIManager.Instance.ShowAsync(UIPanel.HomeMainPanel, UIPanel.MainGamePanelHHWK);
WebSocketSendList.LeaveRoom(GameManager.Instance.gameData.currRoomData.roomId, currSitData.user);
CreateFishManager.Instance.fangzhu = false;
}
public virtual void Update()
{
@@ -203,7 +247,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
{
if (item.isLock)
{
if (item.monCotl_Lock == null)
if (item.monCotl_Lock == null|| item.monCotl_Lock.gameObject.activeSelf==false)
{
CancelLock(item);
item.isLock = false;
@@ -214,9 +258,10 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
if (!item.lockFX.gameObject.activeSelf)
{
item.lockFX.gameObject.SetActive(true);
}
Vector2 v2 = item.monCotl_Lock.transform.position;
}
Vector3 v2 = item.monCotl_Lock_Position.transform.position;
v2.z = Camera.main.transform.position.z+1;
item.lockFX.transform.position = v2;
//FireBullit();
}
@@ -232,7 +277,8 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
if (item.monCotl_Lock != null)
{
SetSitRotate(item);
Vector2 v2 = item.monCotl_Lock.transform.position;
Vector3 v2 = item.monCotl_Lock_Position.transform.position;
v2.z = Camera.main.transform.position.z + 1;
item.lockFX.transform.position = v2;
//FireBullit();
}
@@ -252,7 +298,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
Vector2 worldPos = Camera.main.ScreenToWorldPoint(Touchscreen.current.primaryTouch.position.ReadValue());
RaycastHit2D hit = Physics2D.Raycast(worldPos, Vector2.zero, 50, LayerMask.GetMask("Fish"));
currSitData.monCotl_Lock = hit.transform?.GetComponentInParent<MonsterContral>();
currSitData.monCotl_Lock_Position = hit.transform;
if (currSitData.monCotl_Lock != null && currSitData.monCotl_Lock.gameObject.activeSelf) //这里为之后加对象池铺垫
{
@@ -271,6 +317,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
frameData = new FrameData_ChangeAutoTarget
{
targetGuid = currSitData.monCotl_Lock.guid,
targetPostName = currSitData.monCotl_Lock_Position.name,
}
};
@@ -435,14 +482,29 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
SetSitTurretRotame(sitPosData, angle);
}
}
//public void SyncGameData_Rotate(SyncGameData syncGameData)
//{
// if (syncGameData.sitPos != currSitData.posID)
// {
// var rotateData = JsonConvert.DeserializeObject<FrameData_Rotate>(syncGameData.frameData.ToString());
// SetSitTurretRotame(list_Sits[syncGameData.sitPos], rotateData.angle, false);
// }
//}
/// <summary>
/// 优化过的
/// </summary>
public void SyncGameData_Rotate(SyncGameData syncGameData)
{
if (syncGameData.sitPos != currSitData.posID)
{
var rotateData = JsonConvert.DeserializeObject<FrameData_Rotate>(syncGameData.frameData.ToString());
SetSitTurretRotame(list_Sits[syncGameData.sitPos], rotateData.angle, false);
var rotateData = FrameDataParser.Parse<FrameData_Rotate>(syncGameData.frameData);
if (rotateData != null)
SetSitTurretRotame(list_Sits[syncGameData.sitPos], rotateData.angle, false);
}
}
float frameTime = 0;
//IEnumerator RotateIE(SitPosData sitPosData, Quaternion qua)
//{
@@ -590,12 +652,27 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
private void CancelLock(SitPosData posData) { posData.monCotl_Lock = null; posData.lockFX.gameObject.SetActive(false); }
private void CancelLock() { currSitData.monCotl_Lock = null; currSitData.lockFX.gameObject.SetActive(false); }
//public void SyncGameData_FireBullit(SyncGameData syncGameData)
//{
// if (syncGameData.sitPos != currSitData.posID)
// {
// var fireBullet = JsonConvert.DeserializeObject<FrameData_FireBullit>(syncGameData.frameData.ToString());
// FireBullit(list_Sits[syncGameData.sitPos], fireBullet.angle, fireBullet.isSanShe, fireBullet.auto, fireBullet.isSuoDing, fireBullet.twoRTruuect, false);
// }
//}
/// <summary>
/// ai优化过的
/// </summary>
/// <param name="syncGameData"></param>
public void SyncGameData_FireBullit(SyncGameData syncGameData)
{
if (syncGameData.sitPos != currSitData.posID)
{
var fireBullet = JsonConvert.DeserializeObject<FrameData_FireBullit>(syncGameData.frameData.ToString());
FireBullit(list_Sits[syncGameData.sitPos], fireBullet.angle, fireBullet.isSanShe, fireBullet.auto, fireBullet.isSuoDing, fireBullet.twoRTruuect, false);
var fireBullet = FrameDataParser.Parse<FrameData_FireBullit>(syncGameData.frameData);
if (fireBullet != null)
FireBullit(list_Sits[syncGameData.sitPos], fireBullet.angle, fireBullet.isSanShe,
fireBullet.auto, fireBullet.isSuoDing, fireBullet.twoRTruuect, false);
}
}
@@ -606,6 +683,15 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
{
var fireBullet = JsonConvert.DeserializeObject<FrameData_ChangeAutoTarget>(syncGameData.frameData.ToString());
list_Sits[syncGameData.sitPos].monCotl_Lock = CreateFishManager.Instance.fishDatas_hashCodekey[fireBullet.targetGuid];
var va = list_Sits[syncGameData.sitPos].monCotl_Lock.GetComponentsInChildren<Collider2D>();
foreach (var item in va)
{
if (item.name== fireBullet.targetPostName)
{
list_Sits[syncGameData.sitPos].monCotl_Lock_Position = item.transform;
}
}
list_Sits[syncGameData.sitPos].isLock = true;
}
}
@@ -703,6 +789,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
protected override void OnShow(object args = null)
{
base.OnShow(args);
LoadResources();
//UIManager.Instance.ShowBoard("太好看了");
var v = JsonConvert.DeserializeObject<WebSocketResponseBase<RoomJoinNotice>>(args.ToString());
if (v.arguments.Count > 0)
@@ -746,8 +833,8 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
{
base.OnHide();
WebSocketSendList.LeaveRoom(GameManager.Instance.gameData.currRoomData.roomId, currSitData.user);
CreateFishManager.Instance.ExitRoom();
UnLoadResources();
SceneManager.UnloadSceneAsync(sceneName);
WebSocketManager.Instance.Close(SocketType.game);