| | |
| | | } |
| | | } |
| | | |
| | | public BattleEffectPlayer PlayEffect(int ObjID, int effectId, Transform parent, BattleCamp camp) |
| | | public BattleEffectPlayer PlayEffect(BattleObject layerDepender, int effectId, Transform parent, BattleCamp camp) |
| | | { |
| | | if (effectId <= 0) |
| | | { |
| | |
| | | |
| | | effectPlayer.transform.position = parent.position; |
| | | |
| | | effectPlayer.onDestroy += OnEffectDestroy; |
| | | |
| | | BattleObject temp = layerDepender; |
| | | effectPlayer.onDestroy += (efPlayer) => |
| | | { |
| | | OnEffectDestroy(efPlayer); |
| | | temp.layerMgr.RemoveEffect(efPlayer); |
| | | }; |
| | | |
| | | if (effectPlayer != null) |
| | | { |
| | | effectDict[effectId].Add(effectPlayer); |
| | | } |
| | | effectPlayer.Play(true); |
| | | |
| | | effectPlayer.SetSpeedRatio(battleField.speedRatio); |
| | | |
| | | var effectScale = effectPlayer.transform.localScale; |
| | | effectScale.x *= isRedCamp ? 1 : -1; |
| | | effectPlayer.transform.localScale = effectScale; |
| | | |
| | | if (null != layerDepender) |
| | | { |
| | | layerDepender.layerMgr.AddEffect(effectPlayer); |
| | | } |
| | | |
| | | return effectPlayer; |
| | | } |
| | |
| | | |
| | | effectDict.Clear(); |
| | | } |
| | | |
| | | public void SetSpeedRatio(float ratio) |
| | | { |
| | | foreach (var kvPair in effectDict) |
| | | { |
| | | foreach (var effectPlayer in kvPair.Value) |
| | | { |
| | | effectPlayer.SetSpeedRatio(ratio); |
| | | } |
| | | } |
| | | } |
| | | } |