增加meilingrest生命周期
This commit is contained in:
parent
fd79fc485c
commit
ec8e547496
@ -908,6 +908,7 @@ namespace RuntimeData
|
||||
_gridToUnitDict[gid] = newUnit.Id;
|
||||
//Step #3 增加技能
|
||||
AddUnitSkill(newUnit);
|
||||
OnAnyUnitCreate(this, newUnit);
|
||||
|
||||
//新增renderer
|
||||
MapRenderer.Instance.RenderUpdateUnitMap();
|
||||
@ -1144,9 +1145,27 @@ namespace RuntimeData
|
||||
// 当场上有小兵移动时
|
||||
public void OnAnyUnitMove(MapData map, UnitData moveUnit, GridData target, MoveType moveType)
|
||||
{
|
||||
foreach (var idBase in GetAllIdentifierBase())
|
||||
foreach (var unit in UnitMap.UnitList)
|
||||
{
|
||||
foreach (var skill in idBase.Skills) skill.OnAnyUnitMove(map, idBase as UnitData, moveUnit, target, moveType);
|
||||
foreach (var skill in unit.Skills) skill.OnAnyUnitMove(map, unit, moveUnit, target, moveType);
|
||||
}
|
||||
}
|
||||
|
||||
// 当场上有小兵死亡时
|
||||
public void OnAnyUnitDie(MapData map)
|
||||
{
|
||||
foreach (var unit in UnitMap.UnitList)
|
||||
{
|
||||
foreach (var skill in unit.Skills) skill.OnAnyUnitDie(map, unit);
|
||||
}
|
||||
}
|
||||
|
||||
// 当场上有小兵创建时
|
||||
public void OnAnyUnitCreate(MapData map, UnitData newUnit)
|
||||
{
|
||||
foreach (var unit in UnitMap.UnitList)
|
||||
{
|
||||
foreach (var skill in unit.Skills) skill.OnAnyUnitCreate(map, unit, newUnit);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -6,9 +6,6 @@
|
||||
*/
|
||||
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using MemoryPack;
|
||||
using RuntimeData;
|
||||
using TH1_Logic.Core;
|
||||
|
||||
@ -43,6 +40,16 @@ namespace Logic.Skill
|
||||
RefreshAroundGiant(map, self);
|
||||
}
|
||||
|
||||
public override void OnAnyUnitDie(MapData map, UnitData self)
|
||||
{
|
||||
RefreshAroundGiant(map, self);
|
||||
}
|
||||
|
||||
public override void OnAnyUnitCreate(MapData map, UnitData self, UnitData newUnit)
|
||||
{
|
||||
RefreshAroundGiant(map, self);
|
||||
}
|
||||
|
||||
public override void OnTurnEnd(UnitData self, MapData mapData)
|
||||
{
|
||||
if(_aroundGiant) return;
|
||||
@ -70,6 +77,7 @@ namespace Logic.Skill
|
||||
var roundGrid = mapData.GridMap.GetAroundGridData(1, 1, targetGrid);
|
||||
foreach (var gridData in roundGrid)
|
||||
{
|
||||
if (gridData == targetGrid) continue;
|
||||
var unit = gridData.Unit(mapData);
|
||||
if (unit == null) continue;
|
||||
if (unit.UnitFullType.UnitType != UnitType.Giant) continue;
|
||||
|
||||
@ -141,6 +141,12 @@ namespace Logic.Skill
|
||||
|
||||
// 当有单位移动时
|
||||
public void OnAnyUnitMove(MapData map, UnitData self, UnitData moveUnit, GridData target, MoveType moveType);
|
||||
|
||||
// 当有单位死亡时
|
||||
public void OnAnyUnitDie(MapData map, UnitData self);
|
||||
|
||||
// 当有单位创建时
|
||||
public void OnAnyUnitCreate(MapData map, UnitData self, UnitData newUnit);
|
||||
}
|
||||
|
||||
|
||||
@ -500,5 +506,15 @@ namespace Logic.Skill
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public virtual void OnAnyUnitDie(MapData map, UnitData self)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public virtual void OnAnyUnitCreate(MapData map, UnitData self, UnitData newUnit)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -414,6 +414,7 @@ namespace Logic
|
||||
player.giantPenalty[(uint)info.ChessType] = 4;
|
||||
|
||||
Main.UnitLogic.Die(map, unit);
|
||||
map.OnAnyUnitDie(map);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user