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 override void OnInspectorGUI() { CharacterActionHitComponent component = ((CharacterActionHitComponent)target); CharacterActionHitData data = component.data; list.data = data; data.AnimationName = EditorGUILayout.TextField("Animation", data.AnimationName); data.TweenTarget = (eCharacterTweenTarget)EditorGUILayout.EnumPopup("Tween Target", data.TweenTarget); data.TweenName = HFX_TweenSystemInspector.OnInspectorTween(component.GetComponent <HFX_TweenSystem>(), data.TweenName); list.OnInspectorGUI(); if (GUI.changed) { EditorUtility.SetDirty(target); } }
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)); }