using UnityEngine;
|
using System.Collections.Generic;
|
|
public class BattleObjectLayerMgr
|
{
|
public BattleObject battleObj;
|
|
public RendererAdjuster rendererAdjuster;
|
|
private List<BattleEffectPlayer> effectPlayers = new List<BattleEffectPlayer>();
|
|
private bool isFront = true;
|
|
public BattleObjectLayerMgr()
|
{
|
|
}
|
|
public void Init(BattleObject battleObj)
|
{
|
this.battleObj = battleObj;
|
rendererAdjuster = battleObj.heroGo.AddMissingComponent<RendererAdjuster>();
|
}
|
|
public void SetSortingOrder(int sortingOrder)
|
{
|
if (rendererAdjuster != null)
|
{
|
rendererAdjuster.SetSortingOrder(sortingOrder);
|
}
|
}
|
|
public void AddEffect(BattleEffectPlayer effectPlayer)
|
{
|
if (effectPlayer != null && !effectPlayers.Contains(effectPlayer))
|
{
|
effectPlayers.Add(effectPlayer);
|
effectPlayer.SetSortingOrder(rendererAdjuster.sortingOrder);
|
}
|
}
|
|
public void RemoveEffect(BattleEffectPlayer effectPlayer)
|
{
|
if (effectPlayers.Contains(effectPlayer))
|
{
|
effectPlayers.Remove(effectPlayer);
|
}
|
}
|
|
public void SetFront()
|
{
|
isFront = true;
|
UpdateLayer();
|
}
|
|
public void SetBack()
|
{
|
isFront = false;
|
UpdateLayer();
|
}
|
|
public void UpdateLayer()
|
{
|
int order = isFront ? BattleConst.ActiveHeroSortingOrder : BattleConst.UnactiveHeroSortingOrder;
|
SetSortingOrder(order);
|
}
|
}
|