示例#1
0
    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);
        }
    }
示例#3
0
 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));
 }