protected override void Start(float playback_time) { if (m_ActionData.DelayedApply == true && BattleBase.Instance.IsPause == ePauseType.Pause) { return; } base.Start(playback_time); eSkillTargetHit hit = target.OnHit(); if (action_component_prefab == null || hit == eSkillTargetHit.Miss || hit == eSkillTargetHit.MissPosition || hit == eSkillTargetHit.Evade) { return; } target.Character.AddAction(action_component_prefab.data.CreateAction(action_component_prefab, target.Character.PlaybackTime, target.Character, IsLighting, ActionScale, hit)); }
public CharacterActionHit(CharacterActionHitComponent component, float playback_time, Character _self, bool is_lighting, float action_scale, eSkillTargetHit hit) { self = _self; this.m_Name = component.name; this.Data = component.data.Clone(true, self); StartTime = playback_time; if (hit == eSkillTargetHit.Hit) { m_Length = self.PlayAnimation(Data.AnimationName); foreach (var effect in Data.effects) { effect.Play(is_lighting, action_scale); } } if (string.IsNullOrEmpty(Data.TweenName) == false) { HFX_TweenSystem tween_system = component.GetComponent <HFX_TweenSystem>(); if (tween_system != null && self.IgnoreTween == false) { tween_system.Play(Data.TweenName, null, self.GetComponent <HFX_TweenSystem>(), component.data.TweenTarget == eCharacterTweenTarget.Character?self.transform:self.transform.GetChild(0), hit == eSkillTargetHit.Hit?action_scale:0.6f); } } }
public CharacterActionHit CreateAction(CharacterActionHitComponent component, float playback_time, Character self, bool is_lighting, float action_scale, eSkillTargetHit hit) { return(new CharacterActionHit(component, playback_time, self, is_lighting, action_scale, hit)); }