Merge branch 'main' of http://10.27.17.121:3000/kawagiri/TH1 into main
This commit is contained in:
commit
4ca091a1cc
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@ -66,7 +66,7 @@ MonoBehaviour:
|
||||
FeelingStrategyInfoList:
|
||||
- FeelingStrategy: 0
|
||||
FeelingStrategyTitle: "\u660E\u667A\u7684"
|
||||
FeelingStrategyDesc: "\u60A8\u5BF9\u5176\u4ED6\u56FD\u5BB6\u7684\u5916\u4EA4\u7B56\u7565\u4E0E\u5979\u4EEC\u76F8\u8FD1"
|
||||
FeelingStrategyDesc: "\u4F60\u4EEC\u6709\u76F8\u540C\u7684\u654C\u4EBA\u6216\u8005\u76DF\u53CB"
|
||||
FeelingStrategyColor: {r: 0, g: 1, b: 0, a: 0}
|
||||
- FeelingStrategy: 1
|
||||
FeelingStrategyTitle: "\u8FF7\u4EBA\u7684"
|
||||
@ -106,7 +106,7 @@ MonoBehaviour:
|
||||
FeelingStrategyColor: {r: 1, g: 0, b: 0, a: 0}
|
||||
- FeelingStrategy: 10
|
||||
FeelingStrategyTitle: "\u611A\u8822\u7684"
|
||||
FeelingStrategyDesc: "\u60A8\u5BF9\u5176\u4ED6\u56FD\u5BB6\u7684\u5916\u4EA4\u7B56\u7565\u4E0E\u5979\u4EEC\u7684\u5F88\u4E0D\u4E00\u81F4"
|
||||
FeelingStrategyDesc: "\u60A8\u7684\u654C\u4EBA/\u76DF\u53CB\u662F\u5979\u4EEC\u7684\u76DF\u53CB/\u654C\u4EBA"
|
||||
FeelingStrategyColor: {r: 1, g: 0, b: 0, a: 0}
|
||||
- FeelingStrategy: 11
|
||||
FeelingStrategyTitle: "\u8B66\u60D5\u7684"
|
||||
|
||||
@ -12,7 +12,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: c659b850b20e460f866ed3f696be406b, type: 3}
|
||||
m_Name: VersionConfig
|
||||
m_EditorClassIdentifier:
|
||||
CurVersionId: 10201
|
||||
CurVersionId: 10300
|
||||
Versions:
|
||||
- MajorVersion: 1
|
||||
MinorVersion: 0
|
||||
@ -74,3 +74,7 @@ MonoBehaviour:
|
||||
PatchVersion: 1
|
||||
Description: "[\u8865\u4E01\u7248\u672C\uFF1ADemo 1.2.1.1]\n\u53D1\u5E03\u65E5\u671F\uFF1A25.8.17\n[\u7D27\u6025\u4FEE\u590D]\n\u4FEE\u590D\u4E86\u53EF\u4EE5\u654C\u65B9\u5355\u4F4D\u884C\u52A8\u680F\u663E\u793A\u9519\u8BEF\u7684bug\u3002\n[\u82F1\u96C4\u8BBE\u8BA1\u8C03\u6574]\n1.\u5E15\u79CB\u8389\xB7\u8BFA\u857E\u59ECLv.0\u79FB\u9664\u7687\u5BB6\u70C8\u7130\u6280\u80FD\uFF0C\u65B0\u589E\u6280\u80FD\u5723\u7231\u5C14\u6469\u706B\u67F1\uFF0C\u65B0\u589E\u57FA\u7840\u6280\u80FD\u51B2\u950B\uFF0C\u8C03\u6574\u4E86\u751F\u547D\u503C\u6210\u957F10/15/20/25/30/30\n2.\u857E\u7C73\u8389\u4E9A\xB7\u65AF\u5361\u96F7\u7279Lv.0\u8C03\u6574\u751F\u547D\u503C15->20\n3.\u8299\u5170\u6735\u9732Lv.0\u79FB\u9664\u65E0\u89C6\u654C\u65B9\u63A7\u5236\u533A\u6280\u80FD\uFF0C\u539F\u56DB\u91CD\u5B58\u5728\u6280\u80FD\u8C03\u6574\u4E3A\uFF1ALv.1\u53CC\u91CD\u5B58\u5728\uFF0CLv2\u4E09\u91CD\u5B58\u5728\uFF0CLv3\u56DB\u91CD\u5B58\u5728\n\n[Bug\u4E0E\u4F18\u5316]\n1.\u4FEE\u590D\u4E86\u8299\u5170\u6735\u9732\u548C\u9A91\u5175\u53EF\u4EE5\u8FDE\u7EED\u653B\u51FB\u4E24\u6B21\u7684bug\n2.\u4FEE\u590D\u4E86\u6D77\u4E0A\u9057\u8FF9\u53EF\u80FD\u4F1A\u8BA9\u5F53\u524D\u5355\u4F4D\u6D88\u5931\u7684bug\n3.\u4FEE\u590D\u4E86\u5404\u79CD\u63CF\u8FF0\u63D0\u793A\u6846\u9519\u4F4D\u7684bug\n4.\u4FEE\u590D\u4E86\u90E8\u5206\u6280\u80FD\u63CF\u8FF0\u4E2D\u6587\u5B57\u4E22\u5931\u663E\u793A\u4E3A\u65B9\u6846\u7684bug\n5.\u4FEE\u590D\u4E86\u857E\u7C73\u5728\u654C\u4EBA\u9996\u90FD\u4E5F\u80FD\u4F20\u9001\u7684bug\n6.\u4FEE\u590D\u4E86\u79D1\u6280\u70B9\u548C\u91D1\u5E01\u6DF7\u7528\u65F6\uFF0C\u663E\u793A\u91D1\u94B1\u4E0D\u591F\u7684bug\n7.\u4FEE\u590D\u4E86\u9635\u8425\u9009\u62E9\u754C\u9762\u63D0\u793A\u4FE1\u606F\u663E\u793A\u4E0D\u5168\u7684bug\n8.\u4FEE\u590D\u4E86\u53EF\u4EE5\u79FB\u52A8\u7684\u5355\u4F4D\u6CA1\u6709\u88AB\u9AD8\u4EAE\u7684bug\n9.\u4FEE\u590D\u4E86\u53EF\u653B\u51FB\u5176\u4ED6\u654C\u4EBA\u6216\u8005\u4E0D\u53EF\u653B\u51FB\u5176\u4ED6\u654C\u4EBA\u65F6\uFF0C\u5355\u4F4D\u7684\u9AD8\u4EAE\u663E\u793A\u51FA\u9519\u7684bug\n10.\u4FEE\u590D\u4E86\u70B9\u51FB\u79D1\u6280\u8FC7\u5FEB\u4F1A\u6263\u8D39\u4E24\u6B21\u7684bug\n11.\u4FEE\u590D\u4E86\u654C\u65B9\u5DE8\u4EBA\u6218\u8239\u4F1A\u5BF9\u53CB\u519B\u9020\u6210\u6E85\u5C04\u4F24\u5BB3\u7684bug\n12.\u4F18\u5316\u4E86\u9057\u8FF9\u83B7\u5F97\u7684\u5355\u4F4D\uFF0C\u73B0\u5728\u83B7\u5F97\u5355\u4F4D\u5C06\u4F1A\u662F\u5DF2\u7ECF\u5347\u7EA7\u5B8C\u6210\u7684\u5355\u4F4D\n13.\u4FEE\u590D\u4E86\u654C\u519B\u63A7\u5236\u533A\u5728\u9053\u8DEF\u52A0\u6301\u4E0B\u5931\u6548\u7684bug\n14.\u4FEE\u590D\u4E86\u654C\u4EBA\u9886\u5730\u865A\u7EBF\u663E\u793A\u4E0D\u6E05\u6670\u7684bug\n15.\u4FEE\u590D\u4E86\u5F80\u671F\u7248\u672C\u516C\u544A\u754C\u9762
|
||||
\u5C45\u4E2D\u663E\u793A\u6587\u5B57\u7684bug\n16.\u4FEE\u590D\u4E86\u6211\u65B9\u4F4E\u9762\u5355\u4F4D\u51FB\u6740\u654C\u65B9\u6E2F\u53E3\u5355\u4F4D\u540E\u53D8\u6210\u8239\u7684bug\n17.\u4FEE\u590D\u4E86\u6211\u65B9\u5355\u4F4D\u51FB\u6740\u654C\u65B9\u6E2F\u53E3\u7684\u654C\u519B\u540E\uFF0C\u4E0D\u4F1A\u4E0B\u6D77\u7684bug\n18.\u518D\u6B21\u4FEE\u590D\u4E86AI\u7A7A\u57CE\u62F1\u624B\u8BA9\u4EBA\u7684bug\n19.\u4FEE\u590D\u4E86\u519B\u8425\u65E0\u6CD5\u751F\u4EA7\u82F1\u96C4\u7684bug"
|
||||
- MajorVersion: 1
|
||||
MinorVersion: 3
|
||||
PatchVersion: 0
|
||||
Description: 11
|
||||
|
||||
@ -66,7 +66,7 @@ MonoBehaviour:
|
||||
FeelingStrategyInfoList:
|
||||
- FeelingStrategy: 0
|
||||
FeelingStrategyTitle: 1686
|
||||
FeelingStrategyDesc: 1710
|
||||
FeelingStrategyDesc: 1731
|
||||
FeelingStrategyColor: {r: 0, g: 1, b: 0, a: 0}
|
||||
- FeelingStrategy: 1
|
||||
FeelingStrategyTitle: 1688
|
||||
@ -106,7 +106,7 @@ MonoBehaviour:
|
||||
FeelingStrategyColor: {r: 1, g: 0, b: 0, a: 0}
|
||||
- FeelingStrategy: 10
|
||||
FeelingStrategyTitle: 1704
|
||||
FeelingStrategyDesc: 1705
|
||||
FeelingStrategyDesc: 1732
|
||||
FeelingStrategyColor: {r: 1, g: 0, b: 0, a: 0}
|
||||
- FeelingStrategy: 11
|
||||
FeelingStrategyTitle: 1706
|
||||
|
||||
@ -10908,4 +10908,16 @@ MonoBehaviour:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1731
|
||||
ZH: "\u4F60\u4EEC\u6709\u76F8\u540C\u7684\u654C\u4EBA\u6216\u8005\u76DF\u53CB"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1732
|
||||
ZH: "\u60A8\u7684\u654C\u4EBA/\u76DF\u53CB\u662F\u5979\u4EEC\u7684\u76DF\u53CB/\u654C\u4EBA"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
TargetTypes: 0100000001000000010000000100000001000000
|
||||
|
||||
@ -826,9 +826,12 @@ namespace Logic.Action
|
||||
// 执行后逻辑
|
||||
protected virtual void AfterExecute(CommonActionParams actionParams, bool isMoment)
|
||||
{
|
||||
//更新所有人的外交好感情况。临时用的
|
||||
foreach(var pData in actionParams.MapData.PlayerMap.PlayerDataList)
|
||||
pData.RefreshFeelingValue(actionParams.MapData);
|
||||
//更新所有人的外交好感情况。临时用的。必须真map才做,AI预测的不做,性能爆炸了
|
||||
if (actionParams.MapData == Main.MapData)
|
||||
{
|
||||
foreach (var pData in actionParams.MapData.PlayerMap.PlayerDataList)
|
||||
pData.RefreshFeelingValue(actionParams.MapData);
|
||||
}
|
||||
}
|
||||
|
||||
public abstract bool CheckCan(CommonActionParams actionParams);
|
||||
|
||||
@ -54,24 +54,36 @@ namespace TH1_Logic.Action
|
||||
MapData map = actionParams.MapData;
|
||||
PlayerData player = actionParams.PlayerData;
|
||||
PlayerData targetPlayer = actionParams.TargetPlayerData;
|
||||
if (!map.GetCapitalCityDataByPlayerId(actionParams.TargetPlayerData.Id, out var city)) return false;
|
||||
if (!map.GetGridDataByCityId(city.Id, out var grid)) return false;
|
||||
if (!map.GetCapitalCityDataByPlayerId(actionParams.TargetPlayerData.Id, out var targetCity)) return false;
|
||||
if (!map.GetCapitalCityDataByPlayerId(actionParams.PlayerData.Id, out var city)) return false;
|
||||
if (!map.GetGridDataByCityId(targetCity.Id, out var targetGrid)) return false;
|
||||
actionParams.PlayerData.DiplomacyData.GetCountryDiplomacyInfo(actionParams.TargetPlayerData.Id, out var dipInfo);
|
||||
actionParams.TargetPlayerData.DiplomacyData.GetCountryDiplomacyInfo(actionParams.PlayerData.Id,out var dipInfo2);
|
||||
//Step #2 处理大使馆和撤销大使馆
|
||||
//Step #2 处理大使馆
|
||||
if (_actionId.PlayerActionType == PlayerActionType.Embassy)
|
||||
{
|
||||
//Step #1建立大使馆,并更新对应城市的视觉,播放大使馆建立特效 & Notify通知
|
||||
//Step #1建立大使馆,
|
||||
dipInfo.IsEmbassy = true;
|
||||
city.CityInfoRenderMark = true;
|
||||
grid.VFXRenderMarkTreasure = true;
|
||||
//如果是真人玩家 在其他首都建立大使馆,更新对应城市的视觉,播放大使馆建立特效
|
||||
if (actionParams.MapData == Main.MapData && player.Id == Main.MapData.PlayerMap.SelfPlayerId)
|
||||
{
|
||||
targetCity.CityInfoRenderMark = true;
|
||||
targetGrid.VFXRenderMarkTreasure = true;
|
||||
}
|
||||
|
||||
//如果是真人玩家 AI在真人玩家的首都建立大使馆,更新对应城市的视觉,
|
||||
if (actionParams.MapData == Main.MapData && targetPlayer.Id == Main.MapData.PlayerMap.SelfPlayerId)
|
||||
{
|
||||
city.CityInfoRenderMark = true;
|
||||
}
|
||||
|
||||
|
||||
//Step #2 如果对方还没有meet我,加入meetlist
|
||||
if(!targetPlayer.MeetPlayers.Contains(player.Id))
|
||||
Main.PlayerLogic.AddMeetPlayer(map,targetPlayer,player);
|
||||
|
||||
//Step #3 更新大使馆周围一格的视野,会自动处理视觉部分
|
||||
var gidList = map.GridMap.GetAroundGridIdList(1,grid,true );
|
||||
var gidList = map.GridMap.GetAroundGridIdList(1,targetGrid,true );
|
||||
Main.PlayerLogic.UpdateSight(map,player,gidList);
|
||||
|
||||
//step #4 扣钱
|
||||
@ -123,11 +135,20 @@ namespace TH1_Logic.Action
|
||||
dipInfo.IsLeagueRequest = false;
|
||||
dipInfo.DiplomacyState = DiplomacyState.League;
|
||||
dipInfo2.DiplomacyState = DiplomacyState.League;
|
||||
//Step #2 如果target是真map真人玩家 弹出一个presentationUI 提示,达成盟友
|
||||
//Step #2 如果target是真map真人玩家 弹出一个presentationUI 提示,达成盟友,更新双方首都的cityinfo
|
||||
if (map == Main.MapData && targetPlayer.Id == map.PlayerMap.SelfPlayerId)
|
||||
{
|
||||
var announcement = new ShowUIAnnounceDiplomacy { PlayerActionType = PlayerActionType.AcceptAlly,PlayerId = player.Id,TargetPlayerId = targetPlayer.Id };
|
||||
EventManager.Publish(announcement);
|
||||
city.CityInfoRenderMark = true;
|
||||
targetCity.CityInfoRenderMark = true;
|
||||
}
|
||||
//Step #3 如果是真map,我方是真人玩家,更新双方首都的cityinfo
|
||||
if (map == Main.MapData && player.Id == map.PlayerMap.SelfPlayerId)
|
||||
{
|
||||
|
||||
city.CityInfoRenderMark = true;
|
||||
targetCity.CityInfoRenderMark = true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -152,12 +173,49 @@ namespace TH1_Logic.Action
|
||||
//Step #1 设置双方的外交状态为背盟
|
||||
dipInfo.DiplomacyState = DiplomacyState.LeagueRupture;
|
||||
dipInfo2.DiplomacyState = DiplomacyState.LeagueRupture;
|
||||
//Step #2 如果target是真map真人玩家 弹出一个presentationUI 提示,明确背叛对方
|
||||
|
||||
//Step #2 所有单位跳过本回合,所有对方领土的单位自动解散
|
||||
foreach (var unit in map.UnitMap.UnitList)
|
||||
{
|
||||
if(!map.GetPlayerDataByUnitId(unit.Id,out var uplayer))continue;
|
||||
if(uplayer.Id != player.Id) continue;
|
||||
if (!map.GetGridDataByUnitId(unit.Id, out var ugrid)) continue;
|
||||
var hasPlayer = map.GetPlayerDataByTerritoryGridId(ugrid.Id, out var ugridPlayer);
|
||||
//如果是对方领土上的己方unit,强制解散
|
||||
if (hasPlayer && ugridPlayer.Id == targetPlayer.Id)
|
||||
{
|
||||
var action = ActionLogicFactory.GetActionLogic(new CommonActionId()
|
||||
{ ActionType = CommonActionType.UnitAction, UnitActionType = UnitActionType.Disband });
|
||||
if (action != null)
|
||||
action.CompleteExecute(new CommonActionParams()
|
||||
{
|
||||
MainObjectType = MainObjectType.Unit,
|
||||
UnitData = unit,
|
||||
PlayerData = player
|
||||
},false);
|
||||
}
|
||||
else
|
||||
{
|
||||
unit.ClearAPMPCP();
|
||||
unit.RenderMark = true;
|
||||
}
|
||||
}
|
||||
|
||||
//Step #3 如果target是真map真人玩家 弹出一个presentationUI 提示,明确背叛对方,更新双方cityinfo
|
||||
if (map == Main.MapData && targetPlayer.Id == map.PlayerMap.SelfPlayerId)
|
||||
{
|
||||
var announcement = new ShowUIAnnounceDiplomacy { PlayerActionType = PlayerActionType.BreakAlly,PlayerId = player.Id,TargetPlayerId = targetPlayer.Id };
|
||||
EventManager.Publish(announcement);
|
||||
city.CityInfoRenderMark = true;
|
||||
targetCity.CityInfoRenderMark = true;
|
||||
}
|
||||
//Step #4 如果我方是真map真人玩家,更新双方cityinfo
|
||||
if (map == Main.MapData && player.Id == map.PlayerMap.SelfPlayerId)
|
||||
{
|
||||
city.CityInfoRenderMark = true;
|
||||
targetCity.CityInfoRenderMark = true;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@ -32,6 +32,15 @@ namespace Logic.Action
|
||||
|
||||
protected override bool Execute(CommonActionParams actionParams, bool isMoment)
|
||||
{
|
||||
//临时使用,用来给解除联盟的disband特判用的
|
||||
if (isMoment == false)
|
||||
{
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!CheckCan(actionParams)) return false;
|
||||
}
|
||||
//鲁棒性判断
|
||||
if (actionParams.UnitData == null) return false;
|
||||
var unitData = actionParams.UnitData;
|
||||
@ -187,7 +196,7 @@ namespace Logic.Action
|
||||
int recoverV = 4;
|
||||
if (!actionParams.MapData.GetPlayerDataByTerritoryGridId(gridData.Id, out var terrPlayerData))
|
||||
recoverV = 2;
|
||||
else if (terrPlayerData != actionParams.PlayerData)
|
||||
else if (!actionParams.MapData.SameUnion(terrPlayerData.Id , actionParams.PlayerData.Id))
|
||||
recoverV = 2;
|
||||
actionParams.UnitData.Health += recoverV;
|
||||
gridData.VFXRenderMarkHeal = true;
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using ET.Server;
|
||||
using Logic.CrashSight;
|
||||
using MongoDB.Driver.Core.Misc;
|
||||
using UnityEngine;
|
||||
|
||||
@ -137,9 +137,13 @@ namespace Logic
|
||||
Main.PlayerLogic.UpdateSight(mapData,playerData,mapData.GridMap.GetAroundGridIdList(radius,gridData));
|
||||
|
||||
|
||||
//更新所有人的外交好感情况。临时用的
|
||||
foreach(var pData in mapData.PlayerMap.PlayerDataList)
|
||||
pData.RefreshFeelingValue(mapData);
|
||||
//更新所有人的外交好感情况。临时用的。必须真map才做,AI预测的不做,性能爆炸了
|
||||
if (mapData == Main.MapData)
|
||||
{
|
||||
foreach(var pData in mapData.PlayerMap.PlayerDataList)
|
||||
pData.RefreshFeelingValue(mapData);
|
||||
}
|
||||
|
||||
|
||||
//判断unit是否走到了另一个玩家的城市里,如果是,要设置两国状态为战争
|
||||
if (mapData.GetCityDataByGid(gridData.Id, out var city)
|
||||
|
||||
@ -4,7 +4,6 @@ using TMPro;
|
||||
using RuntimeData;
|
||||
using Logic;
|
||||
using Animancer;
|
||||
using ET.Server;
|
||||
using Logic.Multilingual;
|
||||
using TH1_Logic.Core;
|
||||
using TH1Resource;
|
||||
|
||||
@ -3,7 +3,6 @@ using UnityEngine;
|
||||
using Logic;
|
||||
using RuntimeData;
|
||||
using Animancer;
|
||||
using ET.Client;
|
||||
using Logic.Config;
|
||||
using UnityEngine.UI;
|
||||
using Logic.Multilingual;
|
||||
|
||||
@ -96,6 +96,7 @@ namespace TH1_UI.Core
|
||||
|
||||
public void HideCurTask()
|
||||
{
|
||||
if (_task == null) return;
|
||||
_task.Close();
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -140,7 +140,7 @@ PlayerSettings:
|
||||
loadStoreDebugModeEnabled: 0
|
||||
visionOSBundleVersion: 1.0
|
||||
tvOSBundleVersion: 1.0
|
||||
bundleVersion: 1.2.1
|
||||
bundleVersion: 1.3.0
|
||||
preloadedAssets: []
|
||||
metroInputSource: 0
|
||||
wsaTransparentSwapchain: 0
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user