|
@@ -1,61 +0,0 @@
|
|
|
-using System;
|
|
|
-using System.Collections.Generic;
|
|
|
-
|
|
|
-namespace ET.Server
|
|
|
-{
|
|
|
- [FriendOf(typeof (MapReliveTimeComponent))]
|
|
|
- public static class MapReliveTimeComponentSystem
|
|
|
- {
|
|
|
- public class MapReliveTimeComponentAwakeSystem: AwakeSystem<MapReliveTimeComponent>
|
|
|
- {
|
|
|
- protected override void Awake(MapReliveTimeComponent self)
|
|
|
- {
|
|
|
- Log.Info($"创建单位玩家复活组件...");
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- public class MapReliveTimeComponentUpdateSystem: UpdateSystem<MapReliveTimeComponent>
|
|
|
- {
|
|
|
- protected override void Update(MapReliveTimeComponent self)
|
|
|
- {
|
|
|
- Map map = self.GetParent<Map>();
|
|
|
-
|
|
|
- if (map.UnitPlayers.Count <= 0)
|
|
|
- {
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- long now = TimeHelper.ServerNow();
|
|
|
-
|
|
|
- foreach (Struct.UnitPlayerData data in map.UnitPlayers.Values)
|
|
|
- {
|
|
|
- if (data == null)
|
|
|
- {
|
|
|
- continue;
|
|
|
- }
|
|
|
- // 过滤一下纯点赞或刷礼物的玩家
|
|
|
- if (data.TemplateId <= 0 || data.ObjId <= 0)
|
|
|
- {
|
|
|
- continue;
|
|
|
- }
|
|
|
- // 过滤一下已复活的玩家
|
|
|
- if (data.ReliveTime <= 0 || now < data.ReliveTime)
|
|
|
- {
|
|
|
- continue;
|
|
|
- }
|
|
|
- // 复活(添加一个单位)
|
|
|
- Struct.MonsterUnit unit = new Struct.MonsterUnit();
|
|
|
- unit.id = data.TemplateId;
|
|
|
- unit.force = 1;
|
|
|
- unit.x = data.x;
|
|
|
- unit.y = data.y;
|
|
|
- unit.autoGuard = true;
|
|
|
-
|
|
|
- data.ObjId = data.Map.AddUnits(unit, true).GetResult();
|
|
|
-
|
|
|
- data.ReliveTime = 0;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-}
|