1
This commit is contained in:
@@ -1467,7 +1467,7 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
|
||||
var coinScript = award.GetComponent<BJBase>();
|
||||
coinScript.Init(coinNum.Amount, v3Point);
|
||||
coinScript.endPoint = v3Point;
|
||||
//coinScript.endPoint = v3Point;
|
||||
coinScript.isBoss = true;
|
||||
coinScript.SetCoinCount();
|
||||
}
|
||||
@@ -1648,14 +1648,14 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
{
|
||||
// 普通鱼:金币飞向炮台
|
||||
var award = Instantiate(
|
||||
monster.effect_DieAward != null ? monster.effect_DieAward : dieFXPrefabAward,
|
||||
currGameType.subPanelParent.parent);
|
||||
monster.effect_DieAward != null ? monster.effect_DieAward : dieFXPrefabAward);
|
||||
try
|
||||
{
|
||||
award.GetComponent<RectTransform>().anchoredPosition =
|
||||
CoordinateTransformation.WorldPos_ToCanvas(
|
||||
monster.transform.position,
|
||||
UIManager.Instance.uiRoot.GetComponent<Canvas>());
|
||||
award.transform.SetParent(currGameType.subPanelParent.parent);
|
||||
}
|
||||
catch
|
||||
{
|
||||
@@ -1665,30 +1665,31 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
|
||||
|
||||
var coinScript = award.GetComponent<BJBase>();
|
||||
coinScript.startPoint = award.transform.position;
|
||||
coinScript.Init(killFish.gold, sitData.transform.position, killFish.userId, sitData.posID, killFish.param);
|
||||
|
||||
coinScript.startPoint = award.transform.position;
|
||||
coinScript.isBoss = false;
|
||||
coinScript.JiaFen = onScoreAdd;
|
||||
coinScript.SetCoinCount();
|
||||
|
||||
|
||||
// Boss 鱼:显示浮动分数文本
|
||||
var bossCtrl = (MonsterControl_BossBase)monster;
|
||||
// // Boss 鱼:显示浮动分数文本
|
||||
// var bossCtrl = (MonsterControl_BossBase)monster;
|
||||
|
||||
bossCtrl.v3 = sitData.transform.position;
|
||||
if (bossCtrl.isToUI)
|
||||
{
|
||||
bossCtrl.currEffect_DieAward = Instantiate(
|
||||
monster.effect_DieAward != null ? monster.effect_DieAward : dieFXPrefabAwardTmp,
|
||||
currGameType.subPanelParent.parent);
|
||||
}
|
||||
else
|
||||
{
|
||||
bossCtrl.currEffect_DieAward = Instantiate(
|
||||
monster.effect_DieAward != null ? monster.effect_DieAward : dieFXPrefabAwardTmp);
|
||||
}
|
||||
bossCtrl.action_effect_DieAward?.Invoke(bossCtrl.currEffect_DieAward);
|
||||
bossCtrl.JiaFen = onScoreAdd;
|
||||
// bossCtrl.v3 = sitData.transform.position;
|
||||
// if (bossCtrl.isToUI)
|
||||
// {
|
||||
// bossCtrl.currEffect_DieAward = Instantiate(
|
||||
//monster.effect_DieAward != null ? monster.effect_DieAward : dieFXPrefabAwardTmp,
|
||||
//currGameType.subPanelParent.parent);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// bossCtrl.currEffect_DieAward = Instantiate(
|
||||
//monster.effect_DieAward != null ? monster.effect_DieAward : dieFXPrefabAwardTmp);
|
||||
// }
|
||||
// bossCtrl.action_effect_DieAward?.Invoke(bossCtrl.currEffect_DieAward);
|
||||
// bossCtrl.JiaFen = onScoreAdd;
|
||||
}
|
||||
break;
|
||||
case FishTypeEnum.特殊Boss:
|
||||
|
||||
@@ -22,8 +22,8 @@ namespace Assets.MyGame.Scripts.Net
|
||||
//public const string baseURL = "http://8.137.8.46";
|
||||
|
||||
#else
|
||||
public const string baseURL = "http://8.137.8.46";
|
||||
//public const string baseURL = "http://8.137.163.153";
|
||||
//public const string baseURL = "http://8.137.8.46";
|
||||
public const string baseURL = "http://8.137.163.153";
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -29,8 +29,8 @@ namespace Assets.MyGame.Scripts.Net
|
||||
//private const string baseUrl = "ws://8.137.8.46";
|
||||
|
||||
#else
|
||||
private const string baseUrl = "ws://8.137.8.46";
|
||||
//private const string baseUrl = "ws://8.137.163.153";
|
||||
//private const string baseUrl = "ws://8.137.8.46";
|
||||
private const string baseUrl = "ws://8.137.163.153";
|
||||
|
||||
#endif
|
||||
public bool isGame=false;
|
||||
|
||||
@@ -3,6 +3,7 @@ using Assets.MyGame.Scripts.Net.WebResponses;
|
||||
using Assets.MyGame.Scripts.Net.WebResponses.ChineseChess;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Unity.VisualScripting;
|
||||
using UnityEngine;
|
||||
@@ -215,20 +216,105 @@ public partial class WebSocketSendList
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 数据同步
|
||||
/// 同步等级常量(秒)
|
||||
/// </summary>
|
||||
public const float SYNC_LV1 = 0.2f;
|
||||
public const float SYNC_LV2 = 0.5f;
|
||||
public const float SYNC_LV3 = 1f;
|
||||
|
||||
// 队列
|
||||
private static float _syncLv1Timer;
|
||||
private static float _syncLv2Timer;
|
||||
private static float _syncLv3Timer;
|
||||
private static Dictionary<int, SyncGameData> _syncLv1Cover = new Dictionary<int, SyncGameData>();
|
||||
private static List<SyncGameData> _syncLv1Append = new List<SyncGameData>();
|
||||
private static List<SyncGameData> _syncLv2Append = new List<SyncGameData>();
|
||||
private static List<SyncGameData> _syncLv3Append = new List<SyncGameData>();
|
||||
|
||||
/// <summary>数据同步(自动按类型分级入队)</summary>
|
||||
public static void SyncGameData(object obj)
|
||||
{
|
||||
WebSocketSendList sendObj = new WebSocketSendList
|
||||
var sgd = obj as SyncGameData;
|
||||
if (sgd == null)
|
||||
{
|
||||
SendImmediate(JsonConvert.SerializeObject(obj));
|
||||
return;
|
||||
}
|
||||
|
||||
switch (sgd.frameType)
|
||||
{
|
||||
case FrameDataType.fireBullet:
|
||||
SendImmediate(BuildJson(sgd));
|
||||
return;
|
||||
|
||||
case FrameDataType.rotateTurrect:
|
||||
case FrameDataType.changeAutoTarget:
|
||||
_syncLv1Cover[sgd.sitPos] = sgd;
|
||||
return;
|
||||
case FrameDataType.randomDieFish:
|
||||
_syncLv1Append.Add(sgd);
|
||||
return;
|
||||
|
||||
case FrameDataType.createFish:
|
||||
case FrameDataType.changeTurretState:
|
||||
case FrameDataType.changeTurret:
|
||||
case FrameDataType.freezeFish:
|
||||
_syncLv2Append.Add(sgd);
|
||||
return;
|
||||
|
||||
default:
|
||||
_syncLv3Append.Add(sgd);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>每帧调用,由 GameMainPanel.Update 驱动</summary>
|
||||
public static void FlushSyncQueues(float dt)
|
||||
{
|
||||
_syncLv1Timer += dt;
|
||||
if (_syncLv1Timer >= SYNC_LV1) { _syncLv1Timer = 0f; FlushLv1(); }
|
||||
_syncLv2Timer += dt;
|
||||
if (_syncLv2Timer >= SYNC_LV2) { _syncLv2Timer = 0f; FlushLv2(); }
|
||||
_syncLv3Timer += dt;
|
||||
if (_syncLv3Timer >= SYNC_LV3) { _syncLv3Timer = 0f; FlushLv3(); }
|
||||
}
|
||||
|
||||
private static void FlushLv1()
|
||||
{
|
||||
foreach (var kv in _syncLv1Cover) SendImmediate(BuildJson(kv.Value));
|
||||
foreach (var sgd in _syncLv1Append) SendImmediate(BuildJson(sgd));
|
||||
_syncLv1Cover.Clear();
|
||||
_syncLv1Append.Clear();
|
||||
}
|
||||
private static void FlushLv2()
|
||||
{
|
||||
foreach (var sgd in _syncLv2Append) SendImmediate(BuildJson(sgd));
|
||||
_syncLv2Append.Clear();
|
||||
}
|
||||
private static void FlushLv3()
|
||||
{
|
||||
foreach (var sgd in _syncLv3Append) SendImmediate(BuildJson(sgd));
|
||||
_syncLv3Append.Clear();
|
||||
}
|
||||
|
||||
private static void SendImmediate(string json)
|
||||
{
|
||||
WebSocketManager.Instance.Send(SocketType.game, json);
|
||||
}
|
||||
|
||||
private static string BuildJson(object obj)
|
||||
{
|
||||
var sendObj = new WebSocketSendList
|
||||
{
|
||||
type = 1,
|
||||
invocationId = "1",
|
||||
target = "SyncGameData",
|
||||
arguments = new System.Collections.Generic.List<object>()
|
||||
arguments = new System.Collections.Generic.List<object>
|
||||
{
|
||||
GameManager.Instance.gameData.currRoomData.roomId,
|
||||
obj
|
||||
}
|
||||
};
|
||||
|
||||
sendObj.arguments.Add(GameManager.Instance.gameData.currRoomData.roomId);
|
||||
sendObj.arguments.Add(obj);
|
||||
WebSocketManager.Instance.Send(SocketType.game, JsonConvert.SerializeObject(sendObj));
|
||||
return JsonConvert.SerializeObject(sendObj);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user