修改血条
|
@ -4,4 +4,5 @@
|
|||
[3,{"_id":3,"Process":1,"Zone":1,"SceneType":"Gate","Name":"Gate2","OuterPort":7758}],
|
||||
[4,{"_id":4,"Process":1,"Zone":1,"SceneType":"Location","Name":"Location"}],
|
||||
[5,{"_id":5,"Process":1,"Zone":1,"SceneType":"Map","Name":"Map"}],
|
||||
[6,{"_id":6,"Process":1,"Zone":1,"SceneType":"UserCache","Name":"UserCache"}],
|
||||
]
|
After Width: | Height: | Size: 479 B |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 421 B |
After Width: | Height: | Size: 468 B |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 121 B |
After Width: | Height: | Size: 5.0 KiB |
|
@ -1,16 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component size="210,70" pivot="0.5,1" anchor="true" overflow="hidden" opaque="false">
|
||||
<controller name="job" pages="0,,1,,2,,3,,4," selected="1"/>
|
||||
<controller name="job" pages="0,,1,,2,,3,,4," selected="0"/>
|
||||
<displayList>
|
||||
<component id="n1_qyfh" name="progress" src="eh2a1c" fileName="MainUI/ProgressHp.xml" xy="38,56" size="134,8" touchable="false">
|
||||
<relation target="" sidePair="width-width,height-height"/>
|
||||
<ProgressBar value="100" max="100"/>
|
||||
</component>
|
||||
<text id="n4_qyfh" name="txtTitle" xy="40,4" pivot="0.5,1" size="130,26" fontSize="18" color="#cccccc" align="center" vAlign="middle" ubb="true" strokeColor="#000000" shadowColor="#000000" shadowOffset="1,1" singleLine="true" text="世界第一的顺溜">
|
||||
<gearDisplay controller="job" pages="1,2,3,4"/>
|
||||
<relation target="" sidePair="left-left,top-top"/>
|
||||
</text>
|
||||
<component id="n9_vhls" name="label" src="vhlsutlz" fileName="BattleUI/ComJobLevelName.xml" xy="1,29"/>
|
||||
<component id="n10_siao" name="pbHp" src="siaoutmo" fileName="BattleUI/pbHpAndShield.xml" xy="44,52" size="121,11">
|
||||
<relation target="" sidePair="center-center"/>
|
||||
</component>
|
||||
</displayList>
|
||||
<transition name="e2" autoPlayRepeat="0">
|
||||
<item time="0" type="Scale" target="n4_qyfh" tween="true" startValue="1,1" endValue="1,1.1" duration="24" repeat="-1" yoyo="true"/>
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component size="120,7">
|
||||
<displayList>
|
||||
<image id="n1_kual" name="bg" src="siaoutml" fileName="BattleUI/Assets/frame_black.png" xy="0,0" size="120,7" color="#333333">
|
||||
<relation target="" sidePair="width-width,height-height"/>
|
||||
</image>
|
||||
<image id="n15_b8si" name="defaultHp" src="spuy6h" fileName="Assets/Common_baiban.png" xy="1,1" size="118,5" visible="false" color="#ff0000" fillMethod="hz">
|
||||
<relation target="" sidePair="width-width,height-height,middle-middle,left-left"/>
|
||||
</image>
|
||||
<image id="n16_b8si" name="downBar" src="siaoutmm" fileName="BattleUI/Assets/HP.png" xy="1,1" size="118,5" color="#ff3300" fillMethod="hz">
|
||||
<relation target="" sidePair="width-width,height-height,middle-middle,left-left"/>
|
||||
</image>
|
||||
<image id="n17_b8si" name="upBar" src="siaoutmm" fileName="BattleUI/Assets/HP.png" xy="1,1" size="118,5" color="#ccffcc" fillMethod="hz">
|
||||
<relation target="" sidePair="width-width,height-height,middle-middle,left-left"/>
|
||||
</image>
|
||||
<image id="n2_kual" name="hp" src="siaoutmm" fileName="BattleUI/Assets/HP.png" xy="1,1" size="76,5" color="#33cc00" fillMethod="hz">
|
||||
<relation target="" sidePair="width-width,height-height,middle-middle,left-left"/>
|
||||
</image>
|
||||
<image id="n3_kual" name="shield" src="siaoutmh" fileName="BattleUI/Assets/MP.png" xy="77,1" size="42,5" fillMethod="hz">
|
||||
<relation target="n2_kual" sidePair="height-height,middle-middle,left-right"/>
|
||||
</image>
|
||||
<list id="n5_kual" name="listLines" xy="0,0" size="119,7" layout="row" overflow="hidden" scroll="horizontal" colGap="5" defaultItem="ui://kqsmrpxlsiaoutmn" vAlign="middle" autoClearItems="true">
|
||||
<relation target="" sidePair="width-width,height-height"/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
</list>
|
||||
</displayList>
|
||||
</component>
|
|
@ -265,6 +265,15 @@
|
|||
<image id="fg9vto5" name="Ui_effect_up (006).png" path="/Assets/Anim/"/>
|
||||
<image id="fg9vto6" name="Ui_effect_up (007).png" path="/Assets/Anim/"/>
|
||||
<image id="fg9vto7" name="Ui_effect_up (008).png" path="/Assets/Anim/"/>
|
||||
<image id="siaoutmg" name="BarBackGround.png" path="/BattleUI/Assets/"/>
|
||||
<image id="siaoutmh" name="MP.png" path="/BattleUI/Assets/"/>
|
||||
<image id="siaoutmi" name="alert.png" path="/BattleUI/Assets/"/>
|
||||
<image id="siaoutmj" name="slot.png" path="/BattleUI/Assets/"/>
|
||||
<image id="siaoutmk" name="back (2).png" path="/BattleUI/Assets/"/>
|
||||
<image id="siaoutml" name="frame_black.png" path="/BattleUI/Assets/" scale="9grid" scale9grid="3,2,3,1"/>
|
||||
<image id="siaoutmm" name="HP.png" path="/BattleUI/Assets/"/>
|
||||
<image id="siaoutmn" name="BarBlack.png" path="/BattleUI/Assets/"/>
|
||||
<component id="siaoutmo" name="pbHpAndShield.xml" path="/BattleUI/"/>
|
||||
</resources>
|
||||
<publish name=""/>
|
||||
</packageDescription>
|
|
@ -0,0 +1,25 @@
|
|||
syntax = "proto3";
|
||||
package ET;
|
||||
message M2U_WriteComponent // IActorMessage
|
||||
{
|
||||
int32 RpcId = 90;
|
||||
int64 ActorId = 93;
|
||||
int64 Id = 1;
|
||||
string type = 2;
|
||||
Entity component =3;
|
||||
}
|
||||
//ResponseType U2M_GetComponent
|
||||
message M2U_GetComponent // IActorRequest
|
||||
{
|
||||
int32 RpcId = 90;
|
||||
int64 ActorId = 93;
|
||||
int64 UserId = 1;
|
||||
string type = 2;
|
||||
}
|
||||
message U2M_GetComponent // IActorResponse
|
||||
{
|
||||
int32 RpcId = 90;
|
||||
int32 Error = 91;
|
||||
string Message = 92;
|
||||
Entity component = 1;
|
||||
}
|
|
@ -193,3 +193,4 @@ message G2M_UserOnLine // IActorMessage
|
|||
int64 ActorId = 93;
|
||||
int64 Id = 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ namespace ET
|
|||
data.BattleExpSpeed = GoodsBase.ExpRange;
|
||||
data.battleExpSpeedLeastTime = now + GoodsBase.ContinuedSeconds;
|
||||
BuffState = BuffState.Running;
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(data);
|
||||
return string.Empty;
|
||||
}
|
||||
public override void ReInit(Unit unit, GoodsBase goodsBase,long endTime)
|
||||
|
|
|
@ -28,7 +28,7 @@ namespace ET
|
|||
}
|
||||
num.Set(NumericType.Energy, energy);
|
||||
data.ForbidExp = energy <= 0;
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(data);
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ namespace ET
|
|||
{
|
||||
PlayerData data = unit.GetComponent<PlayerData>();
|
||||
data.mainstoryAITime += GoodsBase.CommonIncrease;
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(data);
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ namespace ET
|
|||
{
|
||||
PlayerData data = unit.GetComponent<PlayerData>();
|
||||
data.mainstoryVIPAITime += GoodsBase.CommonIncrease;
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(data);
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ namespace ET
|
|||
if (addKVArr.Length <= 0)
|
||||
return "系统错误,请提交bug";
|
||||
data.petEatCount--;
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(data);
|
||||
|
||||
foreach (string kvString in addKVArr)
|
||||
{
|
||||
|
|
|
@ -26,7 +26,7 @@ namespace ET
|
|||
|
||||
|
||||
data.petEatCount--;
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(data);
|
||||
pet.AddIntimacy(this.GoodsBase.CommonIncrease);
|
||||
return string.Empty;
|
||||
}
|
||||
|
|
|
@ -57,8 +57,8 @@ namespace ET
|
|||
NumericComponent num = unit.GetComponent<NumericComponent>();
|
||||
AddHp(num, data);
|
||||
AddMp(num, data);
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(num).Coroutine();
|
||||
UnitHelper.SaveComponenet(data);
|
||||
UnitHelper.SaveComponenet(num);
|
||||
await ETTask.CompletedTask;
|
||||
}
|
||||
|
||||
|
@ -128,7 +128,7 @@ namespace ET
|
|||
if (playerData.BattleExpSpeed > 1 && playerData.battleExpSpeedLeastTime < now)
|
||||
{
|
||||
playerData.BattleExpSpeed = 1;
|
||||
UnitHelper.Save<PlayerData>(unit).Coroutine();
|
||||
UnitHelper.Save<PlayerData>(unit);
|
||||
}
|
||||
|
||||
switch (battleType)
|
||||
|
@ -308,7 +308,7 @@ namespace ET
|
|||
SendMessage(unit, num, rewardRet, exp, 0);
|
||||
}
|
||||
|
||||
UnitHelper.Save<Bag>(unit).Coroutine();
|
||||
UnitHelper.Save<Bag>(unit);
|
||||
}
|
||||
|
||||
private async ETTask BattleIdleReword(Unit unit, MonsterBase monsterBase ,MainStory mainStory, UnOrderMultiMap<long, (int, int)> rewordMap)
|
||||
|
|
|
@ -28,7 +28,7 @@ namespace ET
|
|||
int energy = num.GetAsInt(NumericType.Energy);
|
||||
if (energy >= ConstDefine.AutoEnergyMax) continue;
|
||||
num.AddSet(NumericType.Energy, ConstDefine.EnergyPer30Minute);
|
||||
await UnitHelper.SaveComponenet(num);
|
||||
UnitHelper.SaveComponenet(num);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
|
|
@ -22,7 +22,7 @@ namespace ET
|
|||
else
|
||||
{
|
||||
user.lastLoginTime = TimeHelper.ClientNow();
|
||||
UserComponent.Instance.Save(user).Coroutine();
|
||||
UserComponent.Instance.Save(user);
|
||||
}
|
||||
|
||||
//移除本地Actor
|
||||
|
@ -76,16 +76,16 @@ namespace ET
|
|||
Team team = TeamComponent.Instance.Get(unit.Id);
|
||||
if (team?.TeamState != TeamState.Fight)
|
||||
{
|
||||
await UnitHelper.Save<PlayerData>(unit);
|
||||
await UnitHelper.Save<NumericComponent>(unit);
|
||||
await UnitHelper.Save<Character>(unit);
|
||||
await UnitHelper.Save<Bag>(unit);
|
||||
await UnitHelper.Save<UnitTask>(unit);
|
||||
await UnitHelper.Save<UnitScene>(unit);
|
||||
await UnitHelper.Save<UserSetting>(unit);
|
||||
await UnitHelper.Save<UnitSkillComponent>(unit);
|
||||
await UnitHelper.Save<Pet>(unit);
|
||||
await UnitHelper.Save<StarSoulBag>(unit);
|
||||
UnitHelper.Save<PlayerData>(unit);
|
||||
UnitHelper.Save<NumericComponent>(unit);
|
||||
UnitHelper.Save<Character>(unit);
|
||||
UnitHelper.Save<Bag>(unit);
|
||||
UnitHelper.Save<UnitTask>(unit);
|
||||
UnitHelper.Save<UnitScene>(unit);
|
||||
UnitHelper.Save<UserSetting>(unit);
|
||||
UnitHelper.Save<UnitSkillComponent>(unit);
|
||||
UnitHelper.Save<Pet>(unit);
|
||||
UnitHelper.Save<StarSoulBag>(unit);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -71,16 +71,16 @@ namespace ET
|
|||
Team team = TeamComponent.Instance.Get(unit.Id);
|
||||
if (team?.TeamState != TeamState.Fight)
|
||||
{
|
||||
await UnitHelper.Save<PlayerData>(unit);
|
||||
await UnitHelper.Save<NumericComponent>(unit);
|
||||
await UnitHelper.Save<Character>(unit);
|
||||
await UnitHelper.Save<Bag>(unit);
|
||||
await UnitHelper.Save<StarSoulBag>(unit);
|
||||
await UnitHelper.Save<UnitTask>(unit);
|
||||
await UnitHelper.Save<UnitScene>(unit);
|
||||
await UnitHelper.Save<UserSetting>(unit);
|
||||
await UnitHelper.Save<UnitSkillComponent>(unit);
|
||||
await UnitHelper.Save<Pet>(unit);
|
||||
UnitHelper.Save<PlayerData>(unit);
|
||||
UnitHelper.Save<NumericComponent>(unit);
|
||||
UnitHelper.Save<Character>(unit);
|
||||
UnitHelper.Save<Bag>(unit);
|
||||
UnitHelper.Save<StarSoulBag>(unit);
|
||||
UnitHelper.Save<UnitTask>(unit);
|
||||
UnitHelper.Save<UnitScene>(unit);
|
||||
UnitHelper.Save<UserSetting>(unit);
|
||||
UnitHelper.Save<UnitSkillComponent>(unit);
|
||||
UnitHelper.Save<Pet>(unit);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
|
@ -94,7 +94,7 @@ namespace ET
|
|||
try
|
||||
{
|
||||
User user = userArr[i];
|
||||
await DBComponent.Instance.Save(user);
|
||||
UserComponent.Instance.Save(user);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
|
|
@ -70,7 +70,7 @@ namespace ET
|
|||
continue;
|
||||
}
|
||||
data.bossEnergy--;
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(data);
|
||||
}
|
||||
BossComponent.Instance.ChangeState(bossId, BossComponent.BossState.Battle, false);
|
||||
CopyBattle battle = BattleMgrCompnent.Instance.CreateBattle(team);
|
||||
|
|
|
@ -99,7 +99,7 @@ namespace ET
|
|||
continue;
|
||||
}
|
||||
data.familyBossKeys--;
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(data);
|
||||
}
|
||||
CopyBattle battle = BattleMgrCompnent.Instance.CreateBattle(team);
|
||||
FamilyBossConfig familyBossConfig = FamilyBossConfigCategory.Instance.Get(request.BossId);
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace ET
|
||||
{
|
||||
[ActorMessageHandler]
|
||||
public class M2U_GetComponentHandler : AMActorRpcHandler<Scene, M2U_GetComponent, U2M_GetComponent>
|
||||
{
|
||||
protected override async ETTask Run(Scene scene, M2U_GetComponent request, U2M_GetComponent response, Action reply)
|
||||
{
|
||||
var str =await scene.GetComponent<PlayerInfoComponent>().GetInfo(request.UserId, request.type);
|
||||
response.component = str;
|
||||
reply();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
using System;
|
||||
|
||||
namespace ET
|
||||
{
|
||||
[ActorMessageHandler]
|
||||
public class M2U_WriteComponentHandler : AMActorHandler<Scene, M2U_WriteComponent>
|
||||
{
|
||||
|
||||
protected override async ETTask Run(Scene scene, M2U_WriteComponent message)
|
||||
{
|
||||
await ETTask.CompletedTask;
|
||||
var playerInfo = scene.GetComponent<PlayerInfoComponent>();
|
||||
playerInfo.AddInfo(message.Id, message.type, message.component);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -18,7 +18,7 @@ namespace ET
|
|||
}
|
||||
PlayerData data = unit.GetComponent<PlayerData>();
|
||||
data.mapCoinCount++;
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(data);
|
||||
reply();
|
||||
await ETTask.CompletedTask;
|
||||
}
|
||||
|
|
|
@ -41,9 +41,9 @@ namespace ET
|
|||
data.ForbidExp = false;
|
||||
}
|
||||
data.buyEnergyCount++;
|
||||
await UnitHelper.SaveComponenet(data);
|
||||
UnitHelper.SaveComponenet(data);
|
||||
num.AddSet(NumericType.Energy, ConstDefine.AddEnergyPerCount);
|
||||
await UnitHelper.SaveComponenet(num);
|
||||
UnitHelper.SaveComponenet(num);
|
||||
reply();
|
||||
await ETTask.CompletedTask;
|
||||
}
|
||||
|
|
|
@ -58,8 +58,8 @@ namespace ET
|
|||
characterPoint -= totalCount;
|
||||
data.CharacterPointKV = KeyValuePair.Create(characterPoint, kp.Value);
|
||||
CharacterHelper.SyncNumeric(unit);
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(num).Coroutine();
|
||||
UnitHelper.SaveComponenet(data);
|
||||
UnitHelper.SaveComponenet(num);
|
||||
response.Character =await CharacterHelper.GetUnitCharacter(unit);
|
||||
reply();
|
||||
await ETTask.CompletedTask;
|
||||
|
|
|
@ -15,8 +15,8 @@ namespace ET
|
|||
}
|
||||
CharacterHelper.ResetPoint(unit);
|
||||
CharacterHelper.SyncNumeric(unit);
|
||||
UnitHelper.Save<PlayerData>(unit).Coroutine();
|
||||
UnitHelper.Save<NumericComponent>(unit).Coroutine();
|
||||
UnitHelper.Save<PlayerData>(unit);
|
||||
UnitHelper.Save<NumericComponent>(unit);
|
||||
response.Character =await CharacterHelper.GetUnitCharacter(unit);
|
||||
reply();
|
||||
await ETTask.CompletedTask;
|
||||
|
|
|
@ -27,7 +27,7 @@ namespace ET
|
|||
}
|
||||
|
||||
List<NickName> list = await DBComponent.Instance.Query<NickName>(t => t.Nickname == name);
|
||||
if (list != null && list.Count > 0)
|
||||
if (list is { Count: > 0 })
|
||||
{
|
||||
response.Message = "昵称重复";
|
||||
reply();
|
||||
|
@ -38,8 +38,8 @@ namespace ET
|
|||
using NickName nickName = EntityFactory.Create<NickName>(unit.DomainScene());
|
||||
nickName.Nickname = name;
|
||||
await DBComponent.Instance.Save(nickName);
|
||||
user.NickName = name;
|
||||
await UserComponent.Instance.Save(user);
|
||||
user.NickName = name;
|
||||
UserComponent.Instance.Save(user);
|
||||
NickNameLog log= await DBComponent.Instance.Query<NickNameLog>(unit.Id) ?? EntityFactory.CreateWithId<NickNameLog>(unit.DomainScene(), unit.Id);
|
||||
if (log.nameList.Count == 0 || log.nameList[^1] != oldName)
|
||||
log.nameList.Add(oldName);
|
||||
|
|
|
@ -35,6 +35,7 @@ namespace ET
|
|||
}
|
||||
Unit unit = MapUnitComponent.Instance.Get(user.Id);
|
||||
long id = user.Id;
|
||||
int zone = scene.DomainZone();
|
||||
NumericComponent num;
|
||||
PlayerData data;
|
||||
bool isOnline = false;
|
||||
|
@ -70,7 +71,7 @@ namespace ET
|
|||
JobType jobType = JobHelper.GetJobType(user.JobId);
|
||||
|
||||
//!玩家数据
|
||||
data = await DBComponent.Instance.Query<PlayerData>(id);
|
||||
data = await UnitHelper.Query<PlayerData>(zone,id);
|
||||
if (data == null)
|
||||
{
|
||||
data = unit.AddComponent<PlayerData>();
|
||||
|
@ -81,12 +82,12 @@ namespace ET
|
|||
else
|
||||
unit.AddComponent(data);
|
||||
|
||||
Character character = await DBComponent.Instance.Query<Character>(id);
|
||||
Character character = await UnitHelper.Query<Character>(zone,id);
|
||||
if (character == null)
|
||||
character = unit.AddComponent<Character>();
|
||||
else
|
||||
unit.AddComponent(character);
|
||||
num = await DBComponent.Instance.Query<NumericComponent>(id);
|
||||
num = await UnitHelper.Query<NumericComponent>(zone,id);
|
||||
if (num == null)
|
||||
{
|
||||
num = unit.AddComponent<NumericComponent>();
|
||||
|
@ -100,7 +101,7 @@ namespace ET
|
|||
int energy = num.GetAsInt(NumericType.Energy);
|
||||
data.ForbidExp = energy<=0;
|
||||
|
||||
UnitSkillComponent unitSkill = await DBComponent.Instance.Query<UnitSkillComponent>(id);
|
||||
UnitSkillComponent unitSkill = await UnitHelper.Query<UnitSkillComponent>(zone,id);
|
||||
if (unitSkill == null)
|
||||
{
|
||||
unitSkill = unit.AddComponent<UnitSkillComponent>();
|
||||
|
@ -109,7 +110,7 @@ namespace ET
|
|||
else
|
||||
unit.AddComponent(unitSkill);
|
||||
//!玩家设置
|
||||
UserSetting setting = await DBComponent.Instance.Query<UserSetting>(id);
|
||||
UserSetting setting = await UnitHelper.Query<UserSetting>(zone,id);
|
||||
if (setting == null)
|
||||
{
|
||||
setting = unit.AddComponent<UserSetting>();
|
||||
|
@ -129,7 +130,7 @@ namespace ET
|
|||
BrocastComponent brocastComponent = unit.AddComponent<BrocastComponent, bool>(true);
|
||||
|
||||
//!宠物
|
||||
Pet pet = await DBComponent.Instance.Query<Pet>(id);
|
||||
Pet pet = await UnitHelper.Query<Pet>(zone,id);
|
||||
if (pet == null)
|
||||
{
|
||||
pet = unit.AddComponent<Pet>();
|
||||
|
@ -141,7 +142,7 @@ namespace ET
|
|||
pet.petId = 2101;
|
||||
}
|
||||
|
||||
UnitScene unitScene = await DBComponent.Instance.Query<UnitScene>(id);
|
||||
UnitScene unitScene = await UnitHelper.Query<UnitScene>(zone,id);
|
||||
if (unitScene == null)
|
||||
{
|
||||
unitScene = UnitSceneFactory.Create(Game.Scene, id, new Vector2(0, 0), 0, Sys_SceneId.Scene_Beach * 100 + 1);
|
||||
|
@ -158,7 +159,7 @@ namespace ET
|
|||
unit.AddComponent<AttackComponent>();
|
||||
unit.AddComponent<TargetableUnitComponent>();
|
||||
//!任务
|
||||
UnitTask unitTask = await DBComponent.Instance.Query<UnitTask>(id);
|
||||
UnitTask unitTask = await UnitHelper.Query<UnitTask>(zone,id);
|
||||
if (unitTask == null)
|
||||
{
|
||||
unitTask = unit.AddComponent<UnitTask>();
|
||||
|
@ -166,7 +167,7 @@ namespace ET
|
|||
else
|
||||
unit.AddComponent(unitTask);
|
||||
//!背包
|
||||
Bag bag = await DBComponent.Instance.Query<Bag>(id);
|
||||
Bag bag = await UnitHelper.Query<Bag>(zone,id);
|
||||
if (bag == null)
|
||||
{
|
||||
bag = unit.AddComponent<Bag>();
|
||||
|
@ -174,7 +175,7 @@ namespace ET
|
|||
else
|
||||
unit.AddComponent(bag);
|
||||
//!背包
|
||||
StarSoulBag StarSoulBag = await DBComponent.Instance.Query<StarSoulBag>(id);
|
||||
StarSoulBag StarSoulBag = await UnitHelper.Query<StarSoulBag>(zone,id);
|
||||
if (StarSoulBag == null)
|
||||
{
|
||||
StarSoulBag = unit.AddComponent<StarSoulBag>();
|
||||
|
@ -205,10 +206,10 @@ namespace ET
|
|||
}
|
||||
|
||||
if (isNewUser)
|
||||
{
|
||||
UserComponent.Instance.Add(user);
|
||||
|
||||
if (isNewUser)
|
||||
UserComponent.Instance.Save(user).Coroutine();
|
||||
UserComponent.Instance.Save(user);
|
||||
}
|
||||
|
||||
response.IsOnLine = isOnline;
|
||||
reply();
|
||||
|
@ -254,18 +255,18 @@ namespace ET
|
|||
unitScene = EntityFactory.CreateWithId<UnitScene>(Game.Scene, user.Id);
|
||||
unitScene.Id = user.Id;
|
||||
|
||||
await DBComponent.Instance.Save(data);
|
||||
await DBComponent.Instance.Save(character);
|
||||
await DBComponent.Instance.Save(num);
|
||||
await DBComponent.Instance.Save(unitSkill);
|
||||
await DBComponent.Instance.Save(setting);
|
||||
await DBComponent.Instance.Save(unitTask);
|
||||
await DBComponent.Instance.Save(bag);
|
||||
await DBComponent.Instance.Save(unitScene);
|
||||
UnitHelper.SaveComponenet(data);
|
||||
UnitHelper.SaveComponenet(character);
|
||||
UnitHelper.SaveComponenet(num);
|
||||
UnitHelper.SaveComponenet(unitSkill);
|
||||
UnitHelper.SaveComponenet(setting);
|
||||
UnitHelper.SaveComponenet(unitTask);
|
||||
UnitHelper.SaveComponenet(bag);
|
||||
UnitHelper.SaveComponenet(unitScene);
|
||||
|
||||
unit.Dispose();
|
||||
user.isChangeDB = true;
|
||||
await DBComponent.Instance.Save(user);
|
||||
UserComponent.Instance.Save(user);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,43 +12,43 @@ namespace ET
|
|||
{
|
||||
//**********************
|
||||
Log.Debug($"*********************************************************UserId = {request.UserId} 删除角色");
|
||||
User user = await UserComponent.Instance.Query(request.UserId);
|
||||
if (user == null)
|
||||
{
|
||||
response.Message = $"没有这个玩家";
|
||||
Log.Error($"服务器没有这个玩家Id={ request.UserId}");
|
||||
reply();
|
||||
return;
|
||||
}
|
||||
long unitId = user.Id;
|
||||
Unit unit = MapUnitComponent.Instance.Get(unitId);
|
||||
if (unit == null)
|
||||
{
|
||||
return;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
Team team = TeamComponent.Instance.Get(unit.TeamLeaderId);
|
||||
if (team.TeamState == TeamState.Fight)
|
||||
{
|
||||
response.Message = "战斗中不能删除角色!";
|
||||
reply();
|
||||
return;
|
||||
}
|
||||
}
|
||||
user.hasRole = false;
|
||||
|
||||
await DBComponent.Instance.Save(user);
|
||||
|
||||
await DBComponent.Instance.Remove<Unit>(unitId);
|
||||
await C2M_DeleteFriend(unitId);
|
||||
await DBComponent.Instance.Remove<MailLib>(unitId);
|
||||
await DBComponent.Instance.Remove<Store>(unitId);
|
||||
await DBComponent.Instance.Remove<BuffLib>(unitId);
|
||||
await DBComponent.Instance.Remove<NickName>(t => t.Nickname.Equals(user.NickName));
|
||||
await DeleteConsignment(unitId);
|
||||
await DeleteFamily(user.NickName, unitId);
|
||||
// User user = await UserComponent.Instance.Query(request.UserId);
|
||||
// if (user == null)
|
||||
// {
|
||||
// response.Message = $"没有这个玩家";
|
||||
// Log.Error($"服务器没有这个玩家Id={ request.UserId}");
|
||||
// reply();
|
||||
// return;
|
||||
// }
|
||||
// long unitId = user.Id;
|
||||
// Unit unit = MapUnitComponent.Instance.Get(unitId);
|
||||
// if (unit == null)
|
||||
// {
|
||||
// return;
|
||||
//
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// Team team = TeamComponent.Instance.Get(unit.TeamLeaderId);
|
||||
// if (team.TeamState == TeamState.Fight)
|
||||
// {
|
||||
// response.Message = "战斗中不能删除角色!";
|
||||
// reply();
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
// user.hasRole = false;
|
||||
//
|
||||
// await DBComponent.Instance.Save(user);
|
||||
//
|
||||
// await DBComponent.Instance.Remove<Unit>(unitId);
|
||||
// await C2M_DeleteFriend(unitId);
|
||||
// await DBComponent.Instance.Remove<MailLib>(unitId);
|
||||
// await DBComponent.Instance.Remove<Store>(unitId);
|
||||
// await DBComponent.Instance.Remove<BuffLib>(unitId);
|
||||
// await DBComponent.Instance.Remove<NickName>(t => t.Nickname.Equals(user.NickName));
|
||||
// await DeleteConsignment(unitId);
|
||||
// await DeleteFamily(user.NickName, unitId);
|
||||
|
||||
reply();
|
||||
|
||||
|
|
|
@ -549,9 +549,9 @@ namespace ET
|
|||
UnitSkillComponent unitSkillComponent = unit.GetComponent<UnitSkillComponent>();
|
||||
await unitSkillComponent.ResetSkill();
|
||||
CharacterHelper.SyncNumeric(unit);
|
||||
UnitHelper.SaveComponenet(character).Coroutine();
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(num).Coroutine();
|
||||
UnitHelper.SaveComponenet(character);
|
||||
UnitHelper.SaveComponenet(data);
|
||||
UnitHelper.SaveComponenet(num);
|
||||
CharacterHelper.SyncAttribute(unit);
|
||||
|
||||
}
|
||||
|
@ -621,9 +621,9 @@ namespace ET
|
|||
num.Set(NumericType.Transmigration, trans);
|
||||
//计算结果,同步
|
||||
CharacterHelper.SyncNumeric(unit);
|
||||
UnitHelper.SaveComponenet(character).Coroutine();
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(num).Coroutine();
|
||||
UnitHelper.SaveComponenet(character);
|
||||
UnitHelper.SaveComponenet(data);
|
||||
UnitHelper.SaveComponenet(num);
|
||||
CharacterHelper.SyncAttribute(unit);
|
||||
return null;
|
||||
}
|
||||
|
@ -639,8 +639,8 @@ namespace ET
|
|||
SexType sexType = JobHelper.GetSexType(jobId);
|
||||
user.JobId = (int)(sexType + jobType * 2 - 1);
|
||||
UnitSkillComponent unitSkillComponent = unit.GetComponent<UnitSkillComponent>();
|
||||
unitSkillComponent.TransferJob(jobType);
|
||||
await UserComponent.Instance.Save(user);
|
||||
unitSkillComponent.TransferJob(jobType);
|
||||
UserComponent.Instance.Save(user);
|
||||
}
|
||||
|
||||
public static async ETTask SyncUnitInfo(Unit unit, Unit target)
|
||||
|
|
|
@ -102,7 +102,7 @@ namespace ET
|
|||
_unit.AddComponent(data);
|
||||
}
|
||||
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(data);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -245,7 +245,7 @@ namespace ET
|
|||
unitInServer.AddComponent(bag);
|
||||
}
|
||||
|
||||
await DBComponent.Instance.Save(bag);
|
||||
UnitHelper.SaveComponenet(bag);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -416,13 +416,13 @@ namespace ET
|
|||
}
|
||||
else
|
||||
{
|
||||
DBComponent.Instance.Save(user).Coroutine();
|
||||
UnitHelper.SaveComponenet(character).Coroutine();
|
||||
UnitHelper.SaveComponenet(bag).Coroutine();
|
||||
UnitHelper.SaveComponenet(skill).Coroutine();
|
||||
UnitHelper.SaveComponenet(userSetting).Coroutine();
|
||||
UnitHelper.SaveComponenet(num).Coroutine();
|
||||
UnitHelper.SaveComponenet(pet).Coroutine();
|
||||
UserComponent.Instance.Save(user);
|
||||
UnitHelper.SaveComponenet(character);
|
||||
UnitHelper.SaveComponenet(bag);
|
||||
UnitHelper.SaveComponenet(skill);
|
||||
UnitHelper.SaveComponenet(userSetting);
|
||||
UnitHelper.SaveComponenet(num);
|
||||
UnitHelper.SaveComponenet(pet);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
|
@ -447,7 +447,7 @@ namespace ET
|
|||
_unit.AddComponent(data);
|
||||
}
|
||||
|
||||
await DBComponent.Instance.Save(data);
|
||||
UnitHelper.SaveComponenet(data);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -788,9 +788,9 @@ namespace ET
|
|||
}
|
||||
}
|
||||
|
||||
UnitHelper.Save<Bag>(unitInLib).Coroutine();
|
||||
UnitHelper.Save<NumericComponent>(unitInLib).Coroutine();
|
||||
UnitHelper.Save<Character>(unitInLib).Coroutine();
|
||||
UnitHelper.Save<Bag>(unitInLib);
|
||||
UnitHelper.Save<NumericComponent>(unitInLib);
|
||||
UnitHelper.Save<Character>(unitInLib);
|
||||
return "成功";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ namespace ET
|
|||
SendMessage(unit, num, rewardRet, exp, 0);
|
||||
}
|
||||
|
||||
UnitHelper.Save<Bag>(unit).Coroutine();
|
||||
UnitHelper.Save<Bag>(unit);
|
||||
}
|
||||
private static void SendMessage(Unit unit, NumericComponent num, M2C_SendReward rewardRet, long exp, long coin)
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using MongoDB.Bson;
|
||||
|
||||
namespace ET
|
||||
{
|
||||
|
@ -44,24 +45,36 @@ namespace ET
|
|||
}
|
||||
return null;
|
||||
}
|
||||
public static async ETTask Save<T>(Unit unit) where T : Entity
|
||||
public static async ETTask<T> Query<T>(int zone,long id)where T:Entity
|
||||
{
|
||||
try
|
||||
{
|
||||
long mapInstanceId = StartSceneConfigCategory.Instance.GetBySceneName(zone, SceneType.UserCache.ToString()).SceneId;
|
||||
U2M_GetComponent getComponent= (U2M_GetComponent) await MessageHelper.CallActor(mapInstanceId, new M2U_GetComponent() { UserId = id, type = typeof (T).Name });
|
||||
if (getComponent.component == null) return null;
|
||||
T t = getComponent.component as T;
|
||||
return t;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Error(e);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
public static void Save<T>(Unit unit) where T : Entity
|
||||
{
|
||||
Entity entity = unit.GetComponent<T>();
|
||||
await SaveComponenet(entity);
|
||||
long mapInstanceId = StartSceneConfigCategory.Instance.GetBySceneName(entity.DomainZone(), SceneType.UserCache.ToString()).SceneId;
|
||||
MessageHelper.SendActor(mapInstanceId, new M2U_WriteComponent() { Id = entity.Id, type = typeof (T).Name, component =entity });
|
||||
}
|
||||
public static async ETTask SaveComponenet<T>(T t) where T : Entity
|
||||
|
||||
public static void SaveComponenet<T>(T t) where T : Entity
|
||||
{
|
||||
await DBComponent.Instance.Save(t);
|
||||
// await DBComponent.Instance.Save(t);
|
||||
long mapInstanceId = StartSceneConfigCategory.Instance.GetBySceneName(t.DomainZone(), SceneType.UserCache.ToString()).SceneId;
|
||||
MessageHelper.SendActor(mapInstanceId, new M2U_WriteComponent() { Id = t.Id, type = typeof (T).Name, component =t });
|
||||
}
|
||||
//public static async ETVoid Save(Team team)
|
||||
//{
|
||||
// if (team.MemberCount > 1)
|
||||
// {
|
||||
// List<Entity> list = new List<Entity>();
|
||||
// list.AddRange(team.GetUnits());
|
||||
// await DBComponent.Instance.Save(list[0].As<Unit>().TeamLeaderId, list);
|
||||
// }
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// 设置位置信息以及人物信息
|
||||
/// </summary>
|
||||
|
|
|
@ -8,10 +8,7 @@ namespace ET
|
|||
{
|
||||
public static async ETTask<User> Query(long id)
|
||||
{
|
||||
|
||||
User user = await DBComponent.Instance.Query<User>(id);
|
||||
if (user == null) return null;
|
||||
return user;
|
||||
return await UserComponent.Instance.Query(id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -156,7 +156,8 @@ namespace ET
|
|||
self.AddItem(unit, item.ItemId, 1, item.IsLock);
|
||||
return (ret, 0);
|
||||
}
|
||||
UnitHelper.Save<PlayerData>(unit).Coroutine();
|
||||
|
||||
UnitHelper.Save<PlayerData>(unit);
|
||||
return (null, item.ItemId);
|
||||
}
|
||||
//!快捷栏使用
|
||||
|
@ -195,7 +196,8 @@ namespace ET
|
|||
self.AddItem(unit, item.ItemId, 1, item.IsLock);
|
||||
return (ret, 0);
|
||||
}
|
||||
UnitHelper.Save<PlayerData>(unit).Coroutine();
|
||||
|
||||
UnitHelper.Save<PlayerData>(unit);
|
||||
}
|
||||
return (null, 0);
|
||||
}
|
||||
|
@ -339,7 +341,7 @@ namespace ET
|
|||
//!给新货
|
||||
User user = await UserComponent.Instance.Query(unit.Id);
|
||||
self.AddItem(unit, equipForge.MadeEquipId, 1, false, randomMax: 0.25f, getSource: user?.NickName + "[合成]");
|
||||
UnitHelper.SaveComponenet(bag).Coroutine();
|
||||
UnitHelper.SaveComponenet(bag);
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
|
@ -417,7 +419,7 @@ namespace ET
|
|||
bag.DeleteMultiItem(failCast._Id, failCast.Count,needUnlocked);
|
||||
}
|
||||
}
|
||||
UnitHelper.SaveComponenet(bag).Coroutine();
|
||||
UnitHelper.SaveComponenet(bag);
|
||||
return string.Empty;
|
||||
|
||||
static void InhintOldEquip(Unit unit, Item item, Item newItem)
|
||||
|
@ -591,7 +593,7 @@ namespace ET
|
|||
break;
|
||||
}
|
||||
}
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(data);
|
||||
NumericComponent num = unit.GetComponent<NumericComponent>();
|
||||
EquipItem equipItem = new EquipItem();
|
||||
User user = await UserComponent.Instance.Query(unit.Id);
|
||||
|
@ -612,7 +614,7 @@ namespace ET
|
|||
getSource = user.NickName + "[手工]"
|
||||
};
|
||||
bag.AddItem(item);
|
||||
UnitHelper.SaveComponenet(bag).Coroutine();
|
||||
UnitHelper.SaveComponenet(bag);
|
||||
if (equipItem.star >= 8)
|
||||
{
|
||||
Chat.Instance.SendSystemCaht($"千锤百炼,[color=#ffff00]{user.NickName.Trim()}[/color]成功制作出[color=#aa0000]{equipItem.star}[color=#aa0000]星[{BagHelper.GetName(equipItem.itemId)}]!");
|
||||
|
@ -712,9 +714,9 @@ namespace ET
|
|||
--count;
|
||||
data.strengthCountList[index] = KeyValuePair.Create(targetLevel, count);
|
||||
}
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(data);
|
||||
}
|
||||
UnitHelper.SaveComponenet(bag).Coroutine();
|
||||
UnitHelper.SaveComponenet(bag);
|
||||
return (null, isSuccess);
|
||||
}
|
||||
catch (Exception e)
|
||||
|
@ -790,7 +792,7 @@ namespace ET
|
|||
{
|
||||
equipItem.mainAttribute[key] = ItemHelper.GetRandom(ConstDefine.EquipMaxRandom);
|
||||
}
|
||||
UnitHelper.SaveComponenet(bag).Coroutine();
|
||||
UnitHelper.SaveComponenet(bag);
|
||||
return null;
|
||||
}
|
||||
public static async ETTask<string> RefreshEquipAffix(this ItemComponent self, Unit unit, int index)
|
||||
|
@ -819,7 +821,7 @@ namespace ET
|
|||
level = user.Level;
|
||||
}
|
||||
ItemHelper.GenerateAdditionalAttribute(equipItem, level);
|
||||
UnitHelper.SaveComponenet(bag).Coroutine();
|
||||
UnitHelper.SaveComponenet(bag);
|
||||
return null;
|
||||
}
|
||||
/// <summary>
|
||||
|
@ -863,7 +865,7 @@ namespace ET
|
|||
return ret;
|
||||
equipItem.gemList[gemIndex] = 0;
|
||||
await MailHelper.AddItem(unit.Id, itemId, 1, true, "拆卸", "宝石拆卸", "宝石拆卸", "系统");
|
||||
UnitHelper.SaveComponenet(bag).Coroutine();
|
||||
UnitHelper.SaveComponenet(bag);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
using System;
|
||||
|
||||
namespace ET
|
||||
{
|
||||
public static class FixedTimeSaveComponentSystem
|
||||
{
|
||||
public static void Init(this FixedTimeSaveComponent self,long time,Action action)
|
||||
{
|
||||
if (time != 0)
|
||||
TimerComponent.Instance.Remove(ref self.timerId);
|
||||
self.timerId = TimerComponent.Instance.NewRepeatedTimer(time, action);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,77 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using MongoDB.Bson;
|
||||
using MongoDB.Driver;
|
||||
|
||||
namespace ET
|
||||
{
|
||||
class PlayerInfoComponentStartSystem:StartSystem<PlayerInfoComponent>
|
||||
{
|
||||
public override void Start(PlayerInfoComponent self)
|
||||
{
|
||||
self.AddComponent<FixedTimeSaveComponent>().Init(10*60*1000,self.Save);
|
||||
}
|
||||
}
|
||||
public static class PlayerInfoComponentSystem
|
||||
{
|
||||
public static void Save(this PlayerInfoComponent self)
|
||||
{
|
||||
Log.Info($"存档 「{self.unitInfoDic.Count}」");
|
||||
foreach (var kv in self.unitInfoDic)
|
||||
{
|
||||
DBComponent.Instance.Save(Game.IdGenerater.GenerateId(),kv.Value.Values.ToList()).Coroutine();
|
||||
}
|
||||
}
|
||||
public static void AddInfo(this PlayerInfoComponent self, long id, string type, Entity str)
|
||||
{
|
||||
self.unitInfoDic.TryGetDic(type, out var dic);
|
||||
if (dic == null)
|
||||
{
|
||||
self.unitInfoDic.Add(type, id, str);
|
||||
return;
|
||||
}
|
||||
|
||||
dic[id] = str;
|
||||
}
|
||||
|
||||
public static async ETTask<Entity> GetInfo(this PlayerInfoComponent self, long id, string type)
|
||||
{
|
||||
self.unitInfoDic.TryGetDic(type, out var dic);
|
||||
Entity e = null;
|
||||
if (dic == null)
|
||||
{
|
||||
e = await GetEntity(id, type);
|
||||
if (e == null)
|
||||
{
|
||||
Log.Error($"e == null id = {id} type = {type}");
|
||||
return null;
|
||||
}
|
||||
|
||||
self.unitInfoDic.Add(type, id, e);
|
||||
dic = self.unitInfoDic[type];
|
||||
}
|
||||
|
||||
dic.TryGetValue(id, out e);
|
||||
if (e == null)
|
||||
{
|
||||
e = await GetEntity(id, type);
|
||||
if (e == null)
|
||||
{
|
||||
Log.Error($"e == null id = {id} type = {type}");
|
||||
return null;
|
||||
}
|
||||
dic[id] = e;
|
||||
}
|
||||
|
||||
return e;
|
||||
}
|
||||
|
||||
private static async ETTask<Entity> GetEntity(long id, string type)
|
||||
{
|
||||
var cursor = await DBComponent.Instance.GetCollection(type).FindAsync(d => d.Id == id);
|
||||
Entity e = await cursor.FirstOrDefaultAsync();
|
||||
|
||||
return e;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -28,7 +28,7 @@ namespace ET
|
|||
if (layer == 1)
|
||||
{
|
||||
data.currManulEquipMapLayer = 1;
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(data);
|
||||
}
|
||||
// await GenerateMonster(self, data, targetMapId / 100, layer);
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ namespace ET
|
|||
{
|
||||
int layer = (int)(configId % 1000 / 100);
|
||||
data.currManulEquipMapLayer = ++layer;
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(data);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
|
|
@ -104,7 +104,7 @@ namespace ET
|
|||
_unit.RemoveComponent<PlayerData>();
|
||||
_unit.AddComponent(data);
|
||||
}
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(data);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -259,10 +259,10 @@ namespace ET
|
|||
default:
|
||||
break;
|
||||
}
|
||||
UnitHelper.SaveComponenet(num).Coroutine();
|
||||
UnitHelper.SaveComponenet(failNum).Coroutine();
|
||||
UnitHelper.SaveComponenet(winData).Coroutine();
|
||||
UnitHelper.SaveComponenet(failData).Coroutine();
|
||||
UnitHelper.SaveComponenet(num);
|
||||
UnitHelper.SaveComponenet(failNum);
|
||||
UnitHelper.SaveComponenet(winData);
|
||||
UnitHelper.SaveComponenet(failData);
|
||||
ModifyData(self, winData);
|
||||
ModifyData(self, failData);
|
||||
if (failData.personalScord < 0) failData.personalScord = 0;
|
||||
|
|
|
@ -96,6 +96,7 @@ namespace ET
|
|||
BagHelper.AddItem(unit, rewards._Id, rewards.Count, true, getSource: "签到");
|
||||
}
|
||||
|
||||
UnitHelper.SaveComponenet(data);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
|
@ -165,7 +165,6 @@ namespace ET
|
|||
private static void ReduceAITime(MainStoryAI self)
|
||||
{
|
||||
LinkedList<Unit> units = self.team.GetUnits();
|
||||
using ListComponent<ETTask> listComponent = ListComponent<ETTask>.Create();
|
||||
foreach (Unit item in units)
|
||||
{
|
||||
try
|
||||
|
@ -192,7 +191,7 @@ namespace ET
|
|||
}
|
||||
}
|
||||
|
||||
listComponent.List.Add(UnitHelper.SaveComponenet(data));
|
||||
UnitHelper.SaveComponenet(data);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -200,7 +199,6 @@ namespace ET
|
|||
}
|
||||
}
|
||||
|
||||
ETTaskHelper.WaitAll(listComponent.List).Coroutine();
|
||||
}
|
||||
|
||||
private static void Move(MainStoryAI self)
|
||||
|
@ -375,7 +373,6 @@ namespace ET
|
|||
private static void CheckVIPAIService(MainStoryAI self)
|
||||
{
|
||||
LinkedList<Unit> units = self.team.GetUnits();
|
||||
using ListComponent<ETTask> listComponent = ListComponent<ETTask>.Create();
|
||||
foreach (Unit unit in units)
|
||||
{
|
||||
try
|
||||
|
@ -411,7 +408,7 @@ namespace ET
|
|||
}
|
||||
}
|
||||
|
||||
listComponent.List.Add(UnitHelper.SaveComponenet(data));
|
||||
UnitHelper.SaveComponenet(data);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
|
|
@ -243,7 +243,7 @@ namespace ET
|
|||
}
|
||||
Task task = unitTask.CreateTask(taskBase);
|
||||
unitTask.RunningTaskList.Add(task);
|
||||
UnitHelper.SaveComponenet(unitTask).Coroutine();
|
||||
UnitHelper.SaveComponenet(unitTask);
|
||||
|
||||
//!更新客户端
|
||||
self.SendTaskState(unit, taskBase.GiveNPCId);
|
||||
|
@ -279,13 +279,13 @@ namespace ET
|
|||
if (unitTask.CompleteTaskIdList.Remove(taskId))
|
||||
{
|
||||
unitTask.FinishTaskIdList.Add(taskId);
|
||||
UnitHelper.SaveComponenet(unitTask).Coroutine();
|
||||
UnitHelper.SaveComponenet(unitTask);
|
||||
string ret = GetReward(unit, taskBase, indexList);
|
||||
if (ret != null)
|
||||
{
|
||||
unitTask.CompleteTaskIdList.Add(taskId);
|
||||
unitTask.FinishTaskIdList.Remove(taskId);
|
||||
UnitHelper.SaveComponenet(unitTask).Coroutine();
|
||||
UnitHelper.SaveComponenet(unitTask);
|
||||
return ret;
|
||||
}
|
||||
return string.Empty;
|
||||
|
|
|
@ -299,7 +299,7 @@ namespace ET
|
|||
self.ConsignmentDic[newConsignment.Id] = newConsignment;
|
||||
self.Save(newConsignment).Coroutine();
|
||||
|
||||
UnitHelper.SaveComponenet(bag).Coroutine();
|
||||
UnitHelper.SaveComponenet(bag);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -382,8 +382,8 @@ namespace ET
|
|||
ItemComponent.Instance.AddItem(unit, consignment.Item.ItemId, consignment.Item.Count, false, consignment.Item, getSource: consignment.Item.getSource);
|
||||
|
||||
consignment.Dispose();
|
||||
UnitHelper.Save<NumericComponent>(unit).Coroutine();
|
||||
UnitHelper.Save<Bag>(unit).Coroutine();
|
||||
UnitHelper.Save<NumericComponent>(unit);
|
||||
UnitHelper.Save<Bag>(unit);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
|
|
@ -211,13 +211,13 @@ namespace ET
|
|||
{
|
||||
playerData = await DBComponent.Instance.Query<PlayerData>(id);
|
||||
parentSetId = playerData.UpdateDrop(config.Dropasubset);
|
||||
await UnitHelper.SaveComponenet(playerData);
|
||||
UnitHelper.SaveComponenet(playerData);
|
||||
}
|
||||
else
|
||||
{
|
||||
playerData = unit.GetComponent<PlayerData>();
|
||||
parentSetId = playerData.UpdateDrop(config.Dropasubset);
|
||||
await UnitHelper.SaveComponenet(playerData);
|
||||
UnitHelper.SaveComponenet(playerData);
|
||||
}
|
||||
Parentset parentSet = ParentsetCategory.Instance.Get(parentSetId);
|
||||
family.ClearReward(bossId, id);
|
||||
|
|
|
@ -98,7 +98,7 @@ namespace ET
|
|||
family.notice = "族长很懒,什么都没留下!";
|
||||
self.FamilyDic.Add(family.name, family);
|
||||
await family.CollectFamilyMemberInfo(list, null);
|
||||
UserComponent.Instance.Save(user).Coroutine();
|
||||
UserComponent.Instance.Save(user);
|
||||
await self.Save(family);
|
||||
|
||||
//!创建家族Boss
|
||||
|
@ -166,7 +166,7 @@ namespace ET
|
|||
return "权限不足";
|
||||
}
|
||||
await self.DeleteFamily(family);
|
||||
UserComponent.Instance.Save(user).Coroutine();
|
||||
UserComponent.Instance.Save(user);
|
||||
return null;
|
||||
}
|
||||
public static async ETTask<string> DeleteFamily(this FamilyComponent self, Family family)
|
||||
|
@ -181,7 +181,7 @@ namespace ET
|
|||
{
|
||||
User user = await UserComponent.Instance.Query(unitId);
|
||||
user.Family = "";
|
||||
UserComponent.Instance.Save(user).Coroutine();
|
||||
UserComponent.Instance.Save(user);
|
||||
}
|
||||
|
||||
family.Dispose();
|
||||
|
|
|
@ -339,7 +339,7 @@ namespace ET
|
|||
return "对方已有家族";
|
||||
}
|
||||
otherUser.Family = family.name;
|
||||
UserComponent.Instance.Save(otherUser).Coroutine();
|
||||
UserComponent.Instance.Save(otherUser);
|
||||
|
||||
family.Add(FamilyPosition.FamilyMember, otherUser.Id);
|
||||
|
||||
|
@ -389,7 +389,7 @@ namespace ET
|
|||
if (user != null)
|
||||
{
|
||||
user.Family = "";
|
||||
UserComponent.Instance.Save(user).Coroutine();
|
||||
UserComponent.Instance.Save(user);
|
||||
}
|
||||
//!更新后的列表
|
||||
await self.CollectFamilyMemberInfo(list, null);
|
||||
|
@ -412,7 +412,7 @@ namespace ET
|
|||
if (user != null)
|
||||
{
|
||||
user.Family = "";
|
||||
UserComponent.Instance.Save(user).Coroutine();
|
||||
UserComponent.Instance.Save(user);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
|
@ -436,14 +436,11 @@ namespace ET
|
|||
await family.AutoTransferLeader();
|
||||
}
|
||||
user.Family = "";
|
||||
UserComponent.Instance.Save(user).Coroutine();
|
||||
if (family != null)
|
||||
{
|
||||
if (family.contributionDic.Count == 0)
|
||||
return null;
|
||||
family.contributionDic.Remove(user.Id);
|
||||
await self.GetParent<FamilyComponent>().Save(family);
|
||||
}
|
||||
UserComponent.Instance.Save(user);
|
||||
if (family.contributionDic.Count == 0)
|
||||
return null;
|
||||
family.contributionDic.Remove(user.Id);
|
||||
await self.GetParent<FamilyComponent>().Save(family);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -130,8 +130,8 @@ namespace ET
|
|||
return (addItemRet, 0);
|
||||
}
|
||||
}
|
||||
UnitHelper.Save<Bag>(unit).Coroutine();
|
||||
UnitHelper.Save<NumericComponent>(unit).Coroutine();
|
||||
UnitHelper.Save<Bag>(unit);
|
||||
UnitHelper.Save<NumericComponent>(unit);
|
||||
//!获取更新后的邮件列表
|
||||
int index = -1, count = MailCount_Per_Page;
|
||||
foreach (Mail _mail in mailLib.Dic.Values)
|
||||
|
@ -185,8 +185,8 @@ namespace ET
|
|||
}
|
||||
}
|
||||
await self.Save(mailLib);
|
||||
UnitHelper.Save<Bag>(unit).Coroutine();
|
||||
UnitHelper.Save<NumericComponent>(unit).Coroutine();
|
||||
UnitHelper.Save<Bag>(unit);
|
||||
UnitHelper.Save<NumericComponent>(unit);
|
||||
//!获取更新后的邮件列表
|
||||
int index = -1, count = MailCount_Per_Page;
|
||||
int page = 0;
|
||||
|
|
|
@ -104,8 +104,8 @@ namespace ET
|
|||
}
|
||||
//!给货
|
||||
BagHelper.AddItem(unit, shopBase.ItemId, count, true,getSource:"商店");
|
||||
UnitHelper.Save<Bag>(unit).Coroutine();
|
||||
UnitHelper.Save<NumericComponent>(unit).Coroutine();
|
||||
UnitHelper.Save<Bag>(unit);
|
||||
UnitHelper.Save<NumericComponent>(unit);
|
||||
return string.Empty;
|
||||
}
|
||||
public static string BuyInShop(this Shop self, Unit unit, int page, int index, int count)
|
||||
|
@ -139,8 +139,8 @@ namespace ET
|
|||
}
|
||||
//!给货
|
||||
BagHelper.AddItem(unit, shopBase.ItemId, count, true,getSource:"商店");
|
||||
UnitHelper.Save<Bag>(unit).Coroutine();
|
||||
UnitHelper.Save<NumericComponent>(unit).Coroutine();
|
||||
UnitHelper.Save<Bag>(unit);
|
||||
UnitHelper.Save<NumericComponent>(unit);
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
|
@ -211,8 +211,8 @@ namespace ET
|
|||
}
|
||||
//!给货
|
||||
BagHelper.AddItem(unit, marketBase.ItemId, count, islock,getSource:"商城");
|
||||
UnitHelper.Save<Bag>(unit).Coroutine();
|
||||
UnitHelper.Save<NumericComponent>(unit).Coroutine();
|
||||
UnitHelper.Save<Bag>(unit);
|
||||
UnitHelper.Save<NumericComponent>(unit);
|
||||
return string.Empty;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -224,7 +224,7 @@ namespace ET
|
|||
|
||||
store.AddItem(new Item(0, item.data, count));
|
||||
|
||||
UnitHelper.SaveComponenet(bag).Coroutine();
|
||||
UnitHelper.SaveComponenet(bag);
|
||||
await self.Save(store);
|
||||
//!获取更新后的列表
|
||||
GetUpdatedList(store, unit.Id, page, storeList);
|
||||
|
@ -271,7 +271,7 @@ namespace ET
|
|||
}
|
||||
|
||||
|
||||
UnitHelper.Save<Bag>(unit).Coroutine();
|
||||
UnitHelper.Save<Bag>(unit);
|
||||
await self.Save(store);
|
||||
//!获取更新后的列表
|
||||
GetUpdatedList(store, unit.Id, page, storeList);
|
||||
|
@ -334,7 +334,7 @@ namespace ET
|
|||
|
||||
store.CoinCount += coin;
|
||||
|
||||
UnitHelper.Save<NumericComponent>(unit).Coroutine();
|
||||
UnitHelper.Save<NumericComponent>(unit);
|
||||
await self.Save(store);
|
||||
|
||||
return (string.Empty, store.CoinCount);
|
||||
|
@ -359,7 +359,7 @@ namespace ET
|
|||
|
||||
CharacterHelper.AddMoney(unit, CharacterHelper.MoneyType.Coin, coin);
|
||||
|
||||
UnitHelper.Save<NumericComponent>(unit).Coroutine();
|
||||
UnitHelper.Save<NumericComponent>(unit);
|
||||
await self.Save(store);
|
||||
|
||||
return (string.Empty, store.CoinCount);
|
||||
|
|
|
@ -25,7 +25,7 @@ namespace ET
|
|||
/// <returns></returns>
|
||||
public static async ETTask<User> Query(this GateUserComponent self, long id)
|
||||
{
|
||||
User player = await UserHelper.Query(id);
|
||||
User player = await self.QueryUserByCache(id);
|
||||
if (player == null)
|
||||
{
|
||||
Log.Error($"[ERROR] user == null where id = {id}");
|
||||
|
@ -33,6 +33,14 @@ namespace ET
|
|||
}
|
||||
return player;
|
||||
}
|
||||
private static async ETTask<User> QueryUserByCache(this GateUserComponent self,long id)
|
||||
{
|
||||
long mapInstanceId = StartSceneConfigCategory.Instance.GetBySceneName(self.DomainZone(), SceneType.UserCache.ToString()).SceneId;
|
||||
U2M_GetComponent getComponent= (U2M_GetComponent) await MessageHelper.CallActor(mapInstanceId, new M2U_GetComponent() { UserId = id, type = nameof (User) });
|
||||
if (getComponent.component == null) return null;
|
||||
User user = getComponent.component as User;
|
||||
return user;
|
||||
}
|
||||
#region 登录 注册
|
||||
//用户登陆
|
||||
public static async ETTask<(Account, string)> Login(this GateUserComponent self, string ip, string dataStr, LoginType loginType)
|
||||
|
@ -141,7 +149,8 @@ namespace ET
|
|||
|
||||
public static async ETTask<User> Save(this GateUserComponent self, User player)
|
||||
{
|
||||
await DBComponent.Instance.Save(player);
|
||||
long mapInstanceId = StartSceneConfigCategory.Instance.GetBySceneName(self.DomainZone(), SceneType.UserCache.ToString()).SceneId;
|
||||
MessageHelper.SendActor(mapInstanceId, new M2U_WriteComponent() { Id = player.Id, type = nameof (User), component =player });
|
||||
return player;
|
||||
}
|
||||
/// <summary>
|
||||
|
|
|
@ -61,9 +61,5 @@ namespace ET
|
|||
}
|
||||
return await UnitHelper.Query(self.Domain, unitId);
|
||||
}
|
||||
public static async ETVoid Save(this MapUnitComponent self, Unit unit)
|
||||
{
|
||||
await DBComponent.Instance.Save(unit);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@ namespace ET
|
|||
{
|
||||
public override void Change(Pet self)
|
||||
{
|
||||
UnitHelper.SaveComponenet(self).Coroutine();
|
||||
UnitHelper.SaveComponenet(self);
|
||||
Unit unit = self.GetParent<Unit>();
|
||||
M2C_SyncPet proto = new()
|
||||
{
|
||||
|
|
|
@ -91,8 +91,8 @@ namespace ET
|
|||
data = _data;
|
||||
}
|
||||
|
||||
InitData(data);
|
||||
await DBComponent.Instance.Save(data);
|
||||
InitData(data);
|
||||
UnitHelper.SaveComponenet(data);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -306,13 +306,13 @@ namespace ET
|
|||
self.trialAndBossLayer = self.trialCopyMostLayer * 100 + self.trialAndBossLayer % 100;
|
||||
self.hasReceiveTrialCopyReword = true;
|
||||
|
||||
UnitHelper.SaveComponenet(self).Coroutine();
|
||||
UnitHelper.SaveComponenet(self);
|
||||
Unit unit = self.GetParent<Unit>();
|
||||
long now = TimeHelper.ClientNow();
|
||||
if (self.BattleExpSpeed > 1 && self.battleExpSpeedLeastTime < now)
|
||||
{
|
||||
self.BattleExpSpeed = 1;
|
||||
UnitHelper.Save<PlayerData>(unit).Coroutine();
|
||||
UnitHelper.Save<PlayerData>(unit);
|
||||
}
|
||||
|
||||
try
|
||||
|
@ -427,7 +427,7 @@ namespace ET
|
|||
self.dropDic[id] = KeyValuePair.Create(key, value3);
|
||||
}
|
||||
|
||||
UnitHelper.SaveComponenet(self).Coroutine();
|
||||
UnitHelper.SaveComponenet(self);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
|
|
@ -105,9 +105,9 @@ namespace ET
|
|||
}
|
||||
}
|
||||
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(self).Coroutine();
|
||||
UnitHelper.Save<NumericComponent>(unit).Coroutine();
|
||||
UnitHelper.SaveComponenet(data);
|
||||
UnitHelper.SaveComponenet(self);
|
||||
UnitHelper.Save<NumericComponent>(unit);
|
||||
}
|
||||
|
||||
public static void ResetFreeSkill(this UnitSkillComponent self)
|
||||
|
@ -146,9 +146,9 @@ namespace ET
|
|||
else
|
||||
Log.Error($"skill == null where id = {unit.Id}");
|
||||
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(self).Coroutine();
|
||||
UnitHelper.Save<NumericComponent>(unit).Coroutine();
|
||||
UnitHelper.SaveComponenet(data);
|
||||
UnitHelper.SaveComponenet(self);
|
||||
UnitHelper.Save<NumericComponent>(unit);
|
||||
}
|
||||
|
||||
public static void TransferJob(this UnitSkillComponent self, int job)
|
||||
|
@ -167,8 +167,8 @@ namespace ET
|
|||
PlayerData data = self.Parent.GetComponent<PlayerData>();
|
||||
KeyValuePair<int, int> kv = data.SkillPointKV;
|
||||
data.SkillPointKV = KeyValuePair.Create(kv.Value, kv.Value);
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(self).Coroutine();
|
||||
UnitHelper.SaveComponenet(data);
|
||||
UnitHelper.SaveComponenet(self);
|
||||
}
|
||||
|
||||
public static bool InitMonsterSkill(this UnitSkillComponent self, int skillId)
|
||||
|
@ -312,8 +312,8 @@ namespace ET
|
|||
self.SkillUnLearnedDic.Remove(skillId);
|
||||
}
|
||||
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(self).Coroutine();
|
||||
UnitHelper.SaveComponenet(data);
|
||||
UnitHelper.SaveComponenet(self);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ using ET.EventType;
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ET
|
||||
{
|
||||
|
@ -28,7 +29,7 @@ namespace ET
|
|||
User player = self.Get(id);
|
||||
if (player == null)
|
||||
{
|
||||
player = await UserHelper.Query(id);
|
||||
player = await self.QueryUserByCache(id);
|
||||
if (player == null)
|
||||
{
|
||||
Log.Error($"[ERROR] user == null where id = {id}");
|
||||
|
@ -39,10 +40,19 @@ namespace ET
|
|||
return player;
|
||||
}
|
||||
|
||||
public static async ETTask<User> Save(this UserComponent self, User player)
|
||||
private static async ETTask<User> QueryUserByCache(this UserComponent self,long id)
|
||||
{
|
||||
await DBComponent.Instance.Save(player);
|
||||
return player;
|
||||
long mapInstanceId = StartSceneConfigCategory.Instance.GetBySceneName(self.DomainZone(), SceneType.UserCache.ToString()).SceneId;
|
||||
U2M_GetComponent getComponent= (U2M_GetComponent) await MessageHelper.CallActor(mapInstanceId, new M2U_GetComponent() { UserId = id, type = nameof (User) });
|
||||
if (getComponent.component == null) return null;
|
||||
User user = getComponent.component as User;
|
||||
return user;
|
||||
}
|
||||
|
||||
public static void Save(this UserComponent self, User player)
|
||||
{
|
||||
long mapInstanceId = StartSceneConfigCategory.Instance.GetBySceneName(self.DomainZone(), SceneType.UserCache.ToString()).SceneId;
|
||||
MessageHelper.SendActor(mapInstanceId, new M2U_WriteComponent() { Id = player.Id, type = nameof (User), component =player });
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ namespace ET
|
|||
ushort opcode = BitConverter.ToUInt16(memoryStream.GetBuffer(), 8);
|
||||
Type type = OpcodeTypeComponent.Instance.GetType(opcode);
|
||||
|
||||
if (opcode < MessageSerializeHelper.PbMaxOpcode)
|
||||
if (opcode < MessageSerializeHelper.PbMinOpcode)
|
||||
{
|
||||
return ProtobufHelper.FromBytes(type, memoryStream.GetBuffer(), 10, (int)memoryStream.Length - 10);
|
||||
}
|
||||
|
|
|
@ -181,7 +181,7 @@ namespace ET
|
|||
#endregion
|
||||
|
||||
#region Save
|
||||
|
||||
|
||||
public static async ETTask Save<T>(this DBComponent self, T entity, string collection = null) where T : Entity
|
||||
{
|
||||
if (entity == null)
|
||||
|
|
|
@ -14,8 +14,8 @@
|
|||
data.ForbidExp = true;
|
||||
NumericComponent num = unit.GetComponent<NumericComponent>();
|
||||
num.Set(NumericType.Energy, value,false);
|
||||
UnitHelper.SaveComponenet(num).Coroutine();
|
||||
UnitHelper.SaveComponenet(data).Coroutine();
|
||||
UnitHelper.SaveComponenet(num);
|
||||
UnitHelper.SaveComponenet(data);
|
||||
}
|
||||
DelaySendSyncAttributeComponent.instance.Add(unit, NumericType.Energy, value);
|
||||
await ETTask.CompletedTask;
|
||||
|
|
|
@ -41,7 +41,7 @@ namespace ET
|
|||
{
|
||||
num.Set(NumericType.Level, level);
|
||||
}
|
||||
UnitHelper.SaveComponenet(num).Coroutine();
|
||||
UnitHelper.SaveComponenet(num);
|
||||
//!通知客户端
|
||||
|
||||
DelaySendSyncAttributeComponent.instance.Add(unit, NumericType.Exp, value);
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
//!账户信息变化
|
||||
User user = await UserComponent.Instance.Query(unit.Id);
|
||||
user.Level = level;
|
||||
UserComponent.Instance.Save(user).Coroutine();
|
||||
UserComponent.Instance.Save(user);
|
||||
//!属性变化
|
||||
PlayerData data = unit.GetComponent<PlayerData>();
|
||||
CharacterHelper.AddAutoCharacterPoint(num, data, oldLevel, level);
|
||||
|
|
|
@ -71,6 +71,9 @@ namespace ET
|
|||
break;
|
||||
case SceneType.GameMap:
|
||||
|
||||
break;
|
||||
case SceneType.UserCache:
|
||||
var cache=scene.AddComponent<PlayerInfoComponent>();
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
using System.Collections.Generic;
|
||||
|
||||
namespace ET
|
||||
{
|
||||
public class PlayerInfoComponent:Entity
|
||||
{
|
||||
public MultiDictionary<string, long, Entity> unitInfoDic = new MultiDictionary<string, long, Entity>();
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
using System;
|
||||
|
||||
namespace ET
|
||||
{
|
||||
public class FixedTimeSaveComponent:Entity
|
||||
{
|
||||
public long timerId;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,64 @@
|
|||
using ET;
|
||||
using ProtoBuf;
|
||||
using System.Collections.Generic;
|
||||
namespace ET
|
||||
{
|
||||
[Message(InnerOpcode.M2U_WriteComponent)]
|
||||
[ProtoContract]
|
||||
public partial class M2U_WriteComponent:IActorMessage
|
||||
{
|
||||
[ProtoMember(90)]
|
||||
public int RpcId { get; set; }
|
||||
|
||||
[ProtoMember(93)]
|
||||
public long ActorId { get; set; }
|
||||
|
||||
[ProtoMember(1)]
|
||||
public long Id { get; set; }
|
||||
|
||||
[ProtoMember(2)]
|
||||
public string type { get; set; }
|
||||
|
||||
[ProtoMember(3)]
|
||||
public Entity component { get; set; }
|
||||
|
||||
}
|
||||
|
||||
[ResponseType(typeof(U2M_GetComponent))]
|
||||
[Message(InnerOpcode.M2U_GetComponent)]
|
||||
[ProtoContract]
|
||||
public partial class M2U_GetComponent:IActorRequest
|
||||
{
|
||||
[ProtoMember(90)]
|
||||
public int RpcId { get; set; }
|
||||
|
||||
[ProtoMember(93)]
|
||||
public long ActorId { get; set; }
|
||||
|
||||
[ProtoMember(1)]
|
||||
public long UserId { get; set; }
|
||||
|
||||
[ProtoMember(2)]
|
||||
public string type { get; set; }
|
||||
|
||||
}
|
||||
|
||||
[Message(InnerOpcode.U2M_GetComponent)]
|
||||
[ProtoContract]
|
||||
public partial class U2M_GetComponent:IActorResponse
|
||||
{
|
||||
[ProtoMember(90)]
|
||||
public int RpcId { get; set; }
|
||||
|
||||
[ProtoMember(91)]
|
||||
public int Error { get; set; }
|
||||
|
||||
[ProtoMember(92)]
|
||||
public string Message { get; set; }
|
||||
|
||||
[ProtoMember(1)]
|
||||
public Entity component { get; set; }
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
namespace ET
|
||||
{
|
||||
public static partial class InnerOpcode
|
||||
{
|
||||
public const ushort M2U_WriteComponent = 40001;
|
||||
public const ushort M2U_GetComponent = 40002;
|
||||
public const ushort U2M_GetComponent = 40003;
|
||||
}
|
||||
}
|
|
@ -3,34 +3,34 @@ using ProtoBuf;
|
|||
using System.Collections.Generic;
|
||||
namespace ET
|
||||
{
|
||||
public enum ItemType
|
||||
public enum ItemType
|
||||
{
|
||||
NoneItem = 0,
|
||||
EquipItem = 1,
|
||||
GoodsItem = 2,
|
||||
MaterialsItem =3,
|
||||
NoneItem = 0,
|
||||
EquipItem = 1,
|
||||
GoodsItem = 2,
|
||||
MaterialsItem =3,
|
||||
}
|
||||
|
||||
public enum CampType //阵营
|
||||
public enum CampType //阵营
|
||||
{
|
||||
NoneCamp = 0,
|
||||
Pioneer = 1,//开拓者
|
||||
Guardian = 2,//守护者
|
||||
NoneCamp = 0,
|
||||
Pioneer = 1,//开拓者
|
||||
Guardian = 2,//守护者
|
||||
}
|
||||
|
||||
public enum JobType //职业
|
||||
public enum JobType //职业
|
||||
{
|
||||
UnKnown = 0,
|
||||
Officer =1,
|
||||
Sportsman=2,
|
||||
Nurse=3,
|
||||
Superman=4,
|
||||
UnKnown = 0,
|
||||
Officer =1,
|
||||
Sportsman=2,
|
||||
Nurse=3,
|
||||
Superman=4,
|
||||
}
|
||||
|
||||
public enum SexType //性别
|
||||
public enum SexType //性别
|
||||
{
|
||||
Male=0,
|
||||
Famale=1,
|
||||
Male=0,
|
||||
Famale=1,
|
||||
}
|
||||
|
||||
[Message(OuterOpcode.BagMap)]
|
||||
|
@ -299,12 +299,12 @@ namespace ET
|
|||
}
|
||||
|
||||
//登录相关==================================
|
||||
public enum LoginType //登录类型
|
||||
public enum LoginType //登录类型
|
||||
{
|
||||
Editor = 0,// 编辑模式
|
||||
Tourist = 1,//游客
|
||||
WeChat = 2,//微信的 token
|
||||
Voucher = 3,//登陆凭证
|
||||
Editor = 0,// 编辑模式
|
||||
Tourist = 1,//游客
|
||||
WeChat = 2,//微信的 token
|
||||
Voucher = 3,//登陆凭证
|
||||
}
|
||||
|
||||
[ResponseType(typeof(R2C_Login))]
|
||||
|
@ -1544,11 +1544,11 @@ namespace ET
|
|||
[ProtoContract]
|
||||
public partial class M2C_BattleChangeState:IActorMessage
|
||||
{
|
||||
public enum ChangeType
|
||||
public enum ChangeType
|
||||
{
|
||||
None = 0,
|
||||
Add = 1,
|
||||
Reduce = 2,
|
||||
None = 0,
|
||||
Add = 1,
|
||||
Reduce = 2,
|
||||
}
|
||||
|
||||
[ProtoMember(90)]
|
||||
|
@ -2205,11 +2205,11 @@ namespace ET
|
|||
}
|
||||
|
||||
//=================家族===========================
|
||||
public enum FamilyPosition
|
||||
public enum FamilyPosition
|
||||
{
|
||||
FamilyLeader = 0,
|
||||
FamilyDeputyLeader = 1,
|
||||
FamilyMember = 2,
|
||||
FamilyLeader = 0,
|
||||
FamilyDeputyLeader = 1,
|
||||
FamilyMember = 2,
|
||||
}
|
||||
|
||||
[Message(OuterOpcode.FamilyMemberInfo)]
|
||||
|
@ -3094,11 +3094,11 @@ namespace ET
|
|||
}
|
||||
|
||||
//================商城/商店==================
|
||||
public enum MarketType
|
||||
public enum MarketType
|
||||
{
|
||||
NoneMarket = 0,
|
||||
VoucherMarket = 1,
|
||||
YuanBaoMarket = 2,
|
||||
NoneMarket = 0,
|
||||
VoucherMarket = 1,
|
||||
YuanBaoMarket = 2,
|
||||
}
|
||||
|
||||
[ResponseType(typeof(M2C_GetMarket))]
|
||||
|
@ -3881,25 +3881,25 @@ namespace ET
|
|||
}
|
||||
|
||||
//任务
|
||||
public enum TaskTargetType
|
||||
public enum TaskTargetType
|
||||
{
|
||||
NoneTask =0,
|
||||
KillSpecialTask = 1,//击杀特定
|
||||
KillAnyTask = 2,//击杀任意
|
||||
CollectionTask = 3,//收集
|
||||
DialogTask = 4,//对话
|
||||
LevelTask= 5,//等级
|
||||
SubmitTask = 6,//交物品
|
||||
ChangeMapTask = 7,//通关(换地图)任务
|
||||
CompleteTask = 8,//答题
|
||||
NoneTask =0,
|
||||
KillSpecialTask = 1,//击杀特定
|
||||
KillAnyTask = 2,//击杀任意
|
||||
CollectionTask = 3,//收集
|
||||
DialogTask = 4,//对话
|
||||
LevelTask= 5,//等级
|
||||
SubmitTask = 6,//交物品
|
||||
ChangeMapTask = 7,//通关(换地图)任务
|
||||
CompleteTask = 8,//答题
|
||||
}
|
||||
|
||||
public enum TaskState
|
||||
public enum TaskState
|
||||
{
|
||||
TaskNoneState = 0,
|
||||
TaskWaiting =1,
|
||||
TaskRunning = 2,
|
||||
TaskCompleted = 3,
|
||||
TaskNoneState = 0,
|
||||
TaskWaiting =1,
|
||||
TaskRunning = 2,
|
||||
TaskCompleted = 3,
|
||||
}
|
||||
|
||||
[Message(OuterOpcode.TansferTask)]
|
||||
|
@ -4084,11 +4084,11 @@ namespace ET
|
|||
}
|
||||
|
||||
//==============主Ui=========================
|
||||
public enum MainUIType
|
||||
public enum MainUIType
|
||||
{
|
||||
NoneSlot = 0,//空
|
||||
SkillSlot = 1,//技能
|
||||
ItemSlot = 2,//物品
|
||||
NoneSlot = 0,//空
|
||||
SkillSlot = 1,//技能
|
||||
ItemSlot = 2,//物品
|
||||
}
|
||||
|
||||
[Message(OuterOpcode.MainUISlotInfo)]
|
||||
|
@ -5014,10 +5014,10 @@ namespace ET
|
|||
}
|
||||
|
||||
//=================邮箱======================
|
||||
public enum MailState
|
||||
public enum MailState
|
||||
{
|
||||
UnReceive = 0,
|
||||
Received = 1,
|
||||
UnReceive = 0,
|
||||
Received = 1,
|
||||
}
|
||||
|
||||
[Message(OuterOpcode.MailItem)]
|
||||
|
@ -5258,24 +5258,24 @@ namespace ET
|
|||
[ProtoContract]
|
||||
public partial class RankingInfo
|
||||
{
|
||||
public enum RankingType
|
||||
public enum RankingType
|
||||
{
|
||||
Level = 0,
|
||||
Coin = 1,
|
||||
Hp = 2,
|
||||
Mp = 3,
|
||||
Pet = 4,
|
||||
Dvo = 5,
|
||||
PAtk = 6,
|
||||
MAtk = 7,
|
||||
PCriR = 8,
|
||||
MCriR = 9,
|
||||
PCri = 10,
|
||||
MCri = 11,
|
||||
PRed = 12,
|
||||
MRed= 13,
|
||||
PDef= 14,
|
||||
MDef= 15,
|
||||
Level = 0,
|
||||
Coin = 1,
|
||||
Hp = 2,
|
||||
Mp = 3,
|
||||
Pet = 4,
|
||||
Dvo = 5,
|
||||
PAtk = 6,
|
||||
MAtk = 7,
|
||||
PCriR = 8,
|
||||
MCriR = 9,
|
||||
PCri = 10,
|
||||
MCri = 11,
|
||||
PRed = 12,
|
||||
MRed= 13,
|
||||
PDef= 14,
|
||||
MDef= 15,
|
||||
}
|
||||
|
||||
[ProtoMember(1)]
|
||||
|
@ -5384,16 +5384,16 @@ namespace ET
|
|||
}
|
||||
|
||||
//==============聊天=========================
|
||||
public enum ChatType
|
||||
public enum ChatType
|
||||
{
|
||||
NoneChat = 0,
|
||||
Normal = 1,
|
||||
Team = 2,
|
||||
Family = 3,
|
||||
Camp = 4,
|
||||
World =5,
|
||||
Private = 6,
|
||||
System = 7,
|
||||
NoneChat = 0,
|
||||
Normal = 1,
|
||||
Team = 2,
|
||||
Family = 3,
|
||||
Camp = 4,
|
||||
World =5,
|
||||
Private = 6,
|
||||
System = 7,
|
||||
}
|
||||
|
||||
[ResponseType(typeof(M2C_RequestChat))]
|
||||
|
@ -5856,11 +5856,11 @@ namespace ET
|
|||
[ProtoContract]
|
||||
public partial class C2M_MakeMunalEquip:IActorLocationRequest
|
||||
{
|
||||
public enum StoneType {
|
||||
Nomal = 0,
|
||||
Rare = 1,
|
||||
Epic = 2,
|
||||
UpgradeRare = 3,
|
||||
public enum StoneType {
|
||||
Nomal = 0,
|
||||
Rare = 1,
|
||||
Epic = 2,
|
||||
UpgradeRare = 3,
|
||||
}
|
||||
|
||||
[ProtoMember(90)]
|
||||
|
|
|
@ -34,13 +34,16 @@ namespace ET
|
|||
{
|
||||
msgOpcode.Clear();
|
||||
Proto2CS("ET", "../Proto/InnerMessage.proto", serverMessagePath, "InnerOpcode", 10000);
|
||||
GenerateOpcode("ET", "InnerOpcode", serverMessagePath);
|
||||
GenerateOpcode("ET","InnerOpcode", "InnerOpcode", serverMessagePath);
|
||||
|
||||
Proto2CS("ET", "../Proto/InnerBsonMessage.proto", serverMessagePath, "InnerOpcode", 40000);
|
||||
GenerateOpcode("ET", "InnerBsonOpcode","InnerOpcode", serverMessagePath);
|
||||
|
||||
Proto2CS("ET", "../Proto/OuterMessage.proto", serverMessagePath, "OuterOpcode", 20000);
|
||||
GenerateOpcode("ET", "OuterOpcode", serverMessagePath);
|
||||
GenerateOpcode("ET","OuterOpcode", "OuterOpcode", serverMessagePath);
|
||||
|
||||
Proto2CS("ET", "../Proto/OuterMessage.proto", clientMessagePath, "OuterOpcode", 20000);
|
||||
GenerateOpcode("ET", "OuterOpcode", clientMessagePath);
|
||||
GenerateOpcode("ET", "OuterOpcode","OuterOpcode", clientMessagePath);
|
||||
|
||||
|
||||
}
|
||||
|
@ -209,7 +212,7 @@ namespace ET
|
|||
sw.Write(sb.ToString());
|
||||
}
|
||||
|
||||
private static void GenerateOpcode(string ns, string outputFileName, string outputPath)
|
||||
private static void GenerateOpcode(string ns, string outputFileName,string outputClassName, string outputPath)
|
||||
{
|
||||
if (!Directory.Exists(outputPath))
|
||||
{
|
||||
|
@ -218,7 +221,7 @@ namespace ET
|
|||
StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine($"namespace {ns}");
|
||||
sb.AppendLine("{");
|
||||
sb.AppendLine($"\tpublic static partial class {outputFileName}");
|
||||
sb.AppendLine($"\tpublic static partial class {outputClassName}");
|
||||
sb.AppendLine("\t{");
|
||||
foreach (OpcodeInfo info in msgOpcode)
|
||||
{
|
||||
|
|
Before Width: | Height: | Size: 2.3 MiB After Width: | Height: | Size: 2.3 MiB |
|
@ -30,10 +30,11 @@ namespace ET
|
|||
{
|
||||
try
|
||||
{
|
||||
Game.EventSystem.Publish_Sync(new ET.EventType.SetHudCharacter_ChangeHp
|
||||
Game.EventSystem.Publish_Sync(new ET.EventType.ShowHpBar()
|
||||
{
|
||||
unit = unit
|
||||
});
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
|
|
@ -30,10 +30,6 @@ namespace ET
|
|||
long targetId = message.TargetIdList[i];
|
||||
Unit targetUnit = zoneScene.GetComponent<UnitComponent>().Get(targetId);
|
||||
ClientUnitCharacter character = ClientUnitCharacterComponent.Instance.Get(targetId);
|
||||
Game.EventSystem.Publish_Sync(new ET.EventType.SetHudCharacter_ChangeHp
|
||||
{
|
||||
unit = targetUnit,
|
||||
});
|
||||
Game.EventSystem.Publish_Sync(new ET.EventType.ShowHpBar
|
||||
{
|
||||
zoneScene = zoneScene,
|
||||
|
|
|
@ -26,7 +26,7 @@ namespace ET
|
|||
return "女";
|
||||
}
|
||||
}
|
||||
public static string GetLevelString(Unit unit,int fixedLevel =0)
|
||||
public static string GetLevelString(Entity unit,int fixedLevel =0)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -4,20 +4,6 @@ namespace ET
|
|||
{
|
||||
public static class ItemHelper
|
||||
{
|
||||
public static float GetRealMainValue(float oldValue, byte level)
|
||||
{
|
||||
return (float) (oldValue*Math.Pow(mainAddCoe, level));
|
||||
}
|
||||
private const float mainAddCoe = 1.1f;
|
||||
private const float reduceCoe = 0.8f;
|
||||
private const float reduceCoe1 = 0.6f;
|
||||
|
||||
public static float GetRealViceValue(float oldValue, Quality quality) => quality switch
|
||||
{
|
||||
var qual when qual >= Quality.Legendary => oldValue,
|
||||
var qual when qual >= Quality.Rare => oldValue * reduceCoe,
|
||||
var qual when qual <= Quality.UnCommon => oldValue * (reduceCoe * reduceCoe1),
|
||||
_ => throw new ArgumentOutOfRangeException(nameof (quality), quality, null)
|
||||
};
|
||||
|
||||
}
|
||||
}
|
|
@ -199,10 +199,6 @@ namespace ET
|
|||
{
|
||||
public int ping;
|
||||
}
|
||||
public struct ChangeCoin
|
||||
{
|
||||
public long coin;
|
||||
}
|
||||
public struct ChangeGem
|
||||
{
|
||||
public long gem;
|
||||
|
@ -422,67 +418,6 @@ namespace ET
|
|||
public float duration;
|
||||
public Scene zoneScene;
|
||||
}
|
||||
public struct UpdateHeadInfo_ChangeHp
|
||||
{
|
||||
public Unit unit;
|
||||
public float old;
|
||||
public float value;
|
||||
public Scene zoneScene;
|
||||
}
|
||||
public struct UpdateHeadInfo_ChangeMaxHp
|
||||
{
|
||||
public Unit unit;
|
||||
public float old;
|
||||
public float duration;
|
||||
public float value;
|
||||
public Scene zoneScene;
|
||||
}
|
||||
public struct UpdateHeadInfo_ChangeMp
|
||||
{
|
||||
public Unit unit;
|
||||
public float old;
|
||||
public float value;
|
||||
public Scene zoneScene;
|
||||
}
|
||||
public struct UpdateHeadInfo_ChangeMaxMp
|
||||
{
|
||||
public Unit unit;
|
||||
public float old;
|
||||
public float duration;
|
||||
public float value;
|
||||
public Scene zoneScene;
|
||||
}
|
||||
public struct UpdateHeadInfo_ChangeLevel
|
||||
{
|
||||
public Scene zoneScene;
|
||||
public Unit unit;
|
||||
public int old;
|
||||
public float duration;
|
||||
public int value;
|
||||
}
|
||||
public struct UpdateHeadInfo_ChangeExp
|
||||
{
|
||||
public Unit unit;
|
||||
public float old;
|
||||
public float value;
|
||||
public Scene zoneScene;
|
||||
}
|
||||
public struct UpdateHeadInfo_ChangeMaxExp
|
||||
{
|
||||
public Unit unit;
|
||||
public int level;
|
||||
public Scene zoneScene;
|
||||
}
|
||||
public struct SetHudCharacter_ChangeHp
|
||||
{
|
||||
public Unit unit;
|
||||
public Scene zoneScene;
|
||||
}
|
||||
public struct SetHudCharacter_ChangeLevel
|
||||
{
|
||||
public Unit unit;
|
||||
public int level;
|
||||
}
|
||||
public struct InitHeadInfo
|
||||
{
|
||||
public Scene zoneScene;
|
||||
|
|
|
@ -3,34 +3,34 @@ using ProtoBuf;
|
|||
using System.Collections.Generic;
|
||||
namespace ET
|
||||
{
|
||||
public enum ItemType
|
||||
public enum ItemType
|
||||
{
|
||||
NoneItem = 0,
|
||||
EquipItem = 1,
|
||||
GoodsItem = 2,
|
||||
MaterialsItem =3,
|
||||
NoneItem = 0,
|
||||
EquipItem = 1,
|
||||
GoodsItem = 2,
|
||||
MaterialsItem =3,
|
||||
}
|
||||
|
||||
public enum CampType //阵营
|
||||
public enum CampType //阵营
|
||||
{
|
||||
NoneCamp = 0,
|
||||
Pioneer = 1,//开拓者
|
||||
Guardian = 2,//守护者
|
||||
NoneCamp = 0,
|
||||
Pioneer = 1,//开拓者
|
||||
Guardian = 2,//守护者
|
||||
}
|
||||
|
||||
public enum JobType //职业
|
||||
public enum JobType //职业
|
||||
{
|
||||
UnKnown = 0,
|
||||
Officer =1,
|
||||
Sportsman=2,
|
||||
Nurse=3,
|
||||
Superman=4,
|
||||
UnKnown = 0,
|
||||
Officer =1,
|
||||
Sportsman=2,
|
||||
Nurse=3,
|
||||
Superman=4,
|
||||
}
|
||||
|
||||
public enum SexType //性别
|
||||
public enum SexType //性别
|
||||
{
|
||||
Male=0,
|
||||
Famale=1,
|
||||
Male=0,
|
||||
Famale=1,
|
||||
}
|
||||
|
||||
[Message(OuterOpcode.BagMap)]
|
||||
|
@ -299,12 +299,12 @@ namespace ET
|
|||
}
|
||||
|
||||
//登录相关==================================
|
||||
public enum LoginType //登录类型
|
||||
public enum LoginType //登录类型
|
||||
{
|
||||
Editor = 0,// 编辑模式
|
||||
Tourist = 1,//游客
|
||||
WeChat = 2,//微信的 token
|
||||
Voucher = 3,//登陆凭证
|
||||
Editor = 0,// 编辑模式
|
||||
Tourist = 1,//游客
|
||||
WeChat = 2,//微信的 token
|
||||
Voucher = 3,//登陆凭证
|
||||
}
|
||||
|
||||
[ResponseType(typeof(R2C_Login))]
|
||||
|
@ -1544,11 +1544,11 @@ namespace ET
|
|||
[ProtoContract]
|
||||
public partial class M2C_BattleChangeState:IActorMessage
|
||||
{
|
||||
public enum ChangeType
|
||||
public enum ChangeType
|
||||
{
|
||||
None = 0,
|
||||
Add = 1,
|
||||
Reduce = 2,
|
||||
None = 0,
|
||||
Add = 1,
|
||||
Reduce = 2,
|
||||
}
|
||||
|
||||
[ProtoMember(90)]
|
||||
|
@ -2205,11 +2205,11 @@ namespace ET
|
|||
}
|
||||
|
||||
//=================家族===========================
|
||||
public enum FamilyPosition
|
||||
public enum FamilyPosition
|
||||
{
|
||||
FamilyLeader = 0,
|
||||
FamilyDeputyLeader = 1,
|
||||
FamilyMember = 2,
|
||||
FamilyLeader = 0,
|
||||
FamilyDeputyLeader = 1,
|
||||
FamilyMember = 2,
|
||||
}
|
||||
|
||||
[Message(OuterOpcode.FamilyMemberInfo)]
|
||||
|
@ -3094,11 +3094,11 @@ namespace ET
|
|||
}
|
||||
|
||||
//================商城/商店==================
|
||||
public enum MarketType
|
||||
public enum MarketType
|
||||
{
|
||||
NoneMarket = 0,
|
||||
VoucherMarket = 1,
|
||||
YuanBaoMarket = 2,
|
||||
NoneMarket = 0,
|
||||
VoucherMarket = 1,
|
||||
YuanBaoMarket = 2,
|
||||
}
|
||||
|
||||
[ResponseType(typeof(M2C_GetMarket))]
|
||||
|
@ -3881,25 +3881,25 @@ namespace ET
|
|||
}
|
||||
|
||||
//任务
|
||||
public enum TaskTargetType
|
||||
public enum TaskTargetType
|
||||
{
|
||||
NoneTask =0,
|
||||
KillSpecialTask = 1,//击杀特定
|
||||
KillAnyTask = 2,//击杀任意
|
||||
CollectionTask = 3,//收集
|
||||
DialogTask = 4,//对话
|
||||
LevelTask= 5,//等级
|
||||
SubmitTask = 6,//交物品
|
||||
ChangeMapTask = 7,//通关(换地图)任务
|
||||
CompleteTask = 8,//答题
|
||||
NoneTask =0,
|
||||
KillSpecialTask = 1,//击杀特定
|
||||
KillAnyTask = 2,//击杀任意
|
||||
CollectionTask = 3,//收集
|
||||
DialogTask = 4,//对话
|
||||
LevelTask= 5,//等级
|
||||
SubmitTask = 6,//交物品
|
||||
ChangeMapTask = 7,//通关(换地图)任务
|
||||
CompleteTask = 8,//答题
|
||||
}
|
||||
|
||||
public enum TaskState
|
||||
public enum TaskState
|
||||
{
|
||||
TaskNoneState = 0,
|
||||
TaskWaiting =1,
|
||||
TaskRunning = 2,
|
||||
TaskCompleted = 3,
|
||||
TaskNoneState = 0,
|
||||
TaskWaiting =1,
|
||||
TaskRunning = 2,
|
||||
TaskCompleted = 3,
|
||||
}
|
||||
|
||||
[Message(OuterOpcode.TansferTask)]
|
||||
|
@ -4084,11 +4084,11 @@ namespace ET
|
|||
}
|
||||
|
||||
//==============主Ui=========================
|
||||
public enum MainUIType
|
||||
public enum MainUIType
|
||||
{
|
||||
NoneSlot = 0,//空
|
||||
SkillSlot = 1,//技能
|
||||
ItemSlot = 2,//物品
|
||||
NoneSlot = 0,//空
|
||||
SkillSlot = 1,//技能
|
||||
ItemSlot = 2,//物品
|
||||
}
|
||||
|
||||
[Message(OuterOpcode.MainUISlotInfo)]
|
||||
|
@ -5014,10 +5014,10 @@ namespace ET
|
|||
}
|
||||
|
||||
//=================邮箱======================
|
||||
public enum MailState
|
||||
public enum MailState
|
||||
{
|
||||
UnReceive = 0,
|
||||
Received = 1,
|
||||
UnReceive = 0,
|
||||
Received = 1,
|
||||
}
|
||||
|
||||
[Message(OuterOpcode.MailItem)]
|
||||
|
@ -5258,24 +5258,24 @@ namespace ET
|
|||
[ProtoContract]
|
||||
public partial class RankingInfo
|
||||
{
|
||||
public enum RankingType
|
||||
public enum RankingType
|
||||
{
|
||||
Level = 0,
|
||||
Coin = 1,
|
||||
Hp = 2,
|
||||
Mp = 3,
|
||||
Pet = 4,
|
||||
Dvo = 5,
|
||||
PAtk = 6,
|
||||
MAtk = 7,
|
||||
PCriR = 8,
|
||||
MCriR = 9,
|
||||
PCri = 10,
|
||||
MCri = 11,
|
||||
PRed = 12,
|
||||
MRed= 13,
|
||||
PDef= 14,
|
||||
MDef= 15,
|
||||
Level = 0,
|
||||
Coin = 1,
|
||||
Hp = 2,
|
||||
Mp = 3,
|
||||
Pet = 4,
|
||||
Dvo = 5,
|
||||
PAtk = 6,
|
||||
MAtk = 7,
|
||||
PCriR = 8,
|
||||
MCriR = 9,
|
||||
PCri = 10,
|
||||
MCri = 11,
|
||||
PRed = 12,
|
||||
MRed= 13,
|
||||
PDef= 14,
|
||||
MDef= 15,
|
||||
}
|
||||
|
||||
[ProtoMember(1)]
|
||||
|
@ -5384,16 +5384,16 @@ namespace ET
|
|||
}
|
||||
|
||||
//==============聊天=========================
|
||||
public enum ChatType
|
||||
public enum ChatType
|
||||
{
|
||||
NoneChat = 0,
|
||||
Normal = 1,
|
||||
Team = 2,
|
||||
Family = 3,
|
||||
Camp = 4,
|
||||
World =5,
|
||||
Private = 6,
|
||||
System = 7,
|
||||
NoneChat = 0,
|
||||
Normal = 1,
|
||||
Team = 2,
|
||||
Family = 3,
|
||||
Camp = 4,
|
||||
World =5,
|
||||
Private = 6,
|
||||
System = 7,
|
||||
}
|
||||
|
||||
[ResponseType(typeof(M2C_RequestChat))]
|
||||
|
@ -5856,11 +5856,11 @@ namespace ET
|
|||
[ProtoContract]
|
||||
public partial class C2M_MakeMunalEquip:IActorLocationRequest
|
||||
{
|
||||
public enum StoneType {
|
||||
Nomal = 0,
|
||||
Rare = 1,
|
||||
Epic = 2,
|
||||
UpgradeRare = 3,
|
||||
public enum StoneType {
|
||||
Nomal = 0,
|
||||
Rare = 1,
|
||||
Epic = 2,
|
||||
UpgradeRare = 3,
|
||||
}
|
||||
|
||||
[ProtoMember(90)]
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
using ET;
|
||||
|
||||
namespace ET
|
||||
{
|
||||
/// <summary>
|
||||
/// 监视hp数值变化,改变血条值
|
||||
/// </summary>
|
||||
[NumericWatcher(NumericType.Hp)]
|
||||
public class NumericWatcher_Hp : INumericWatcher
|
||||
{
|
||||
public async ETTask Run(Entity entity, float old, float value)
|
||||
{
|
||||
Log.Info($"@{entity.Id}改变 Hp:{old} -> {value}");
|
||||
Unit unit = entity.As<Unit>();
|
||||
Game.EventSystem.Publish_Sync(new ET.EventType.SetHudCharacter_ChangeHp
|
||||
{
|
||||
zoneScene=entity.ZoneScene(),
|
||||
unit = unit,
|
||||
});
|
||||
Game.EventSystem.Publish_Sync(new ET.EventType.UpdateHeadInfo_ChangeHp
|
||||
{
|
||||
zoneScene = entity.ZoneScene(),
|
||||
unit = unit,
|
||||
old = old,
|
||||
value = value
|
||||
});
|
||||
await ETTask.CompletedTask;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 4afa5a4329c75704386b810063e9af1a
|
||||
timeCreated: 1506412332
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1,38 +0,0 @@
|
|||
using ET;
|
||||
|
||||
namespace ET
|
||||
{
|
||||
/// <summary>
|
||||
/// 监视hp数值变化,改变血条值
|
||||
/// </summary>
|
||||
[NumericWatcher(NumericType.Level)]
|
||||
public class NumericWatcher_Level : INumericWatcher
|
||||
{
|
||||
public async ETTask Run(Entity entity, float old, float value)
|
||||
{
|
||||
Log.Info($"@{entity.Id}改变 Level:{old} -> {value}");
|
||||
Unit unit = entity.As<Unit>();
|
||||
Game.EventSystem.Publish_Sync(new ET.EventType.SetHudCharacter_ChangeLevel
|
||||
{
|
||||
unit = unit,
|
||||
level = (int)value
|
||||
});
|
||||
Game.EventSystem.Publish_Sync(new ET.EventType.UpdateHeadInfo_ChangeLevel
|
||||
{
|
||||
zoneScene = entity.ZoneScene(),
|
||||
unit = unit,
|
||||
old = (int)old,
|
||||
value = (int)value,
|
||||
duration = 0.6f,
|
||||
});
|
||||
Game.EventSystem.Publish_Sync(new ET.EventType.UpdateHeadInfo_ChangeMaxExp
|
||||
{
|
||||
zoneScene = entity.ZoneScene(),
|
||||
unit = unit,
|
||||
level = (int)value,
|
||||
|
||||
});
|
||||
await ETTask.CompletedTask;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -52,9 +52,7 @@ namespace ET
|
|||
Center();
|
||||
if (maxHp == 0)
|
||||
return;
|
||||
fui.m_progress.value = Hp;
|
||||
fui.m_progress.max = MaxHp;
|
||||
fui.m_progress.titleType = titleType;
|
||||
this.fui.m_pbHp.SetMaxShield(Hp,0,MaxHp);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -139,7 +137,7 @@ namespace ET
|
|||
fui.m_label.m_imgLevelBG.color = color;
|
||||
fui.m_label.m_txtName.color = color;
|
||||
}
|
||||
public void ChangeToLevel(Unit unit)
|
||||
public void ChangeToLevel(Entity unit)
|
||||
{
|
||||
fui.m_label.m_txtLevel.text = $"{CharacterHelper.GetLevelString(unit)}";
|
||||
}
|
||||
|
@ -154,31 +152,19 @@ namespace ET
|
|||
Hp = hp;
|
||||
MaxHp = maxHp;
|
||||
if (!isVisible) return;
|
||||
fui.m_progress.max = MaxHp;
|
||||
fui.m_progress.value = Hp;
|
||||
|
||||
}
|
||||
public void ChangeHp(int changeHPValue)
|
||||
{
|
||||
Hp += changeHPValue;
|
||||
if (Hp > MaxHp)
|
||||
Hp = MaxHp;
|
||||
if (Hp < 0)
|
||||
Hp = 0;
|
||||
if (!isVisible) return;
|
||||
fui.m_progress.value = Hp;
|
||||
|
||||
if (maxHp <= 0) return;
|
||||
this.fui.m_pbHp.SetHpAndShield(Hp,0,this.MaxHp);
|
||||
}
|
||||
|
||||
public void ShowHpBar(Unit unit)
|
||||
{
|
||||
NumericComponent num = unit.GetComponent<NumericComponent>();
|
||||
fui.m_progress.visible = isVisible = true;
|
||||
fui.m_pbHp.self.visible = isVisible = true;
|
||||
RefreshHp(num);
|
||||
}
|
||||
public void HideHpBar()
|
||||
{
|
||||
fui.m_progress.visible = isVisible = false;
|
||||
fui.m_pbHp.self.visible = isVisible = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,13 +32,15 @@ namespace ET
|
|||
private readonly int sortingOrder = 100;
|
||||
public void Init(Unit unit)
|
||||
{
|
||||
if (PreQue.Count == 0)
|
||||
{
|
||||
GameObject hud = new GameObject("Hud");
|
||||
GComponent c = hud.Add3DUI(FUI_HeadTitleInfo.UIPackageName, FUI_HeadTitleInfo.UIResName, Camera.main, sortingOrder);
|
||||
this.PreQue.Enqueue(c);
|
||||
}
|
||||
GComponent gComponent = this.PreQue.Dequeue();
|
||||
// if (PreQue.Count == 0)
|
||||
// {
|
||||
// GameObject hud = new GameObject("Hud");
|
||||
// GComponent c = hud.Add3DUI(FUI_HeadTitleInfo.UIPackageName, FUI_HeadTitleInfo.UIResName, Camera.main, sortingOrder);
|
||||
// this.PreQue.Enqueue(c);
|
||||
// }
|
||||
// GComponent gComponent = this.PreQue.Dequeue();
|
||||
GameObject hud = new GameObject("Hud");
|
||||
GComponent gComponent = hud.Add3DUI(FUI_HeadTitleInfo.UIPackageName, FUI_HeadTitleInfo.UIResName, Camera.main, sortingOrder);
|
||||
FUI_HeadTitleInfo fui = FUI_HeadTitleInfo.GetFormPool(FUIComponent.Instance, gComponent);
|
||||
fui.Name = fui.Id.ToString();
|
||||
unit.AddComponent(fui);
|
||||
|
@ -61,10 +63,10 @@ namespace ET
|
|||
Log.Error($"fui == null");
|
||||
return;
|
||||
}
|
||||
this.PreQue.Enqueue(fui.self);
|
||||
Transform go = fui.self.container.cachedTransform.parent.parent;
|
||||
go.SetParent(UnityRoot.Instance.ObjPoolParent);
|
||||
go.gameObject.SetActive(false);
|
||||
// this.PreQue.Enqueue(fui.self);
|
||||
// Transform go = fui.self.container.cachedTransform.parent.parent;
|
||||
// go.SetParent(UnityRoot.Instance.ObjPoolParent);
|
||||
// go.gameObject.SetActive(false);
|
||||
unit.RemoveComponent(fui);
|
||||
unit.RemoveComponent<HudCharacter>();
|
||||
}
|
||||
|
|
|
@ -10,26 +10,7 @@ namespace ET
|
|||
{
|
||||
public override async ETTask Run(ChangeSkin args)
|
||||
{
|
||||
long id = args.Id;
|
||||
int skinId = args.skinId;
|
||||
var zoneScene = args.zoneScene;
|
||||
Unit unit = zoneScene.GetComponent<UnitComponent>().Get(id);
|
||||
if (!unit)
|
||||
{
|
||||
Log.Error($"unit is invalid where id = {id}");
|
||||
return;
|
||||
}
|
||||
SkinBase skinBase =SkinBaseCategory.Instance.Get(skinId);
|
||||
if (skinBase == null)
|
||||
{
|
||||
Log.Error($"没有skinId = {skinId}");
|
||||
return;
|
||||
}
|
||||
UnitView unitView = unit.GetComponent<UnitView>();
|
||||
if (unitView)
|
||||
{
|
||||
await unitView.ChangeSkin(skinBase.PrfabId);
|
||||
}
|
||||
|
||||
await ETTask.CompletedTask;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,23 +14,4 @@ namespace ET
|
|||
hud.Init(args, args.progressTitleType);
|
||||
}
|
||||
}
|
||||
public class SetHudCharacter_ChangeHpEvent : AEvent_Sync<SetHudCharacter_ChangeHp>
|
||||
{
|
||||
public override void Run(SetHudCharacter_ChangeHp args)
|
||||
{
|
||||
Unit unit = args.unit;
|
||||
NumericComponent num = unit.GetComponent<NumericComponent>();
|
||||
HudCharacter hud = unit.GetComponent<HudCharacter>();
|
||||
hud.RefreshHp(num);
|
||||
}
|
||||
}
|
||||
public class SetHudCharacter_ChangeLevelEvent : AEvent_Sync<SetHudCharacter_ChangeLevel>
|
||||
{
|
||||
public override void Run(SetHudCharacter_ChangeLevel args)
|
||||
{
|
||||
Unit unit = args.unit;
|
||||
HudCharacter hud = unit.GetComponent<HudCharacter>();
|
||||
hud.ChangeToLevel(unit);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
using ET.EventType;
|
||||
using ET;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace ET
|
||||
{
|
||||
public class ChangeCoinEvent : AEvent_Sync<ChangeCoin>
|
||||
{
|
||||
public override void Run(ChangeCoin args)
|
||||
{
|
||||
long coin = args.coin;
|
||||
if (!(FUIComponent.Instance.Get(FUIPackage.Bag_BagUI) is FUI_BagUI bagUI))
|
||||
return;
|
||||
(long gold, int sliver, int cupper) = TabHelper.GetCoinFormat(coin);
|
||||
bagUI.m_txtGold.text = gold + string.Empty;
|
||||
bagUI.m_txtSliver.text = sliver + string.Empty;
|
||||
bagUI.m_txtCoin.text = cupper + string.Empty;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: b541ea15c8fc54b41822bdf693a05ce3
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|