public ActionAnim GetActionStep(ref int index) { if (index == 0) { if (comboSteps.Count == 0) { index = 0; } else { index++; } return(firstStep); } if (index > comboSteps.Count - 1) { index = 0; } ActionAnim returnValue = comboSteps[index - 1]; index++; if (index > comboSteps.Count - 1) { index = 0; } return(returnValue); }
public override void ActionAnimSkip(ActionAnim action) { if (action.method == AnimMethod.PlayCustom && action._anim && action.clip) { AdvGame.CleanUnusedClips(action._anim); WrapMode wrap = WrapMode.Once; if (action.playMode == AnimPlayMode.PlayOnceAndClamp) { wrap = WrapMode.ClampForever; } else if (action.playMode == AnimPlayMode.Loop) { wrap = WrapMode.Loop; } AdvGame.PlayAnimClipFrame(action._anim, 0, action.clip, action.blendMode, wrap, 0f, null, 1f); } else if (action.method == AnimMethod.StopCustom && action._anim && action.clip) { AdvGame.CleanUnusedClips(action._anim); action._anim.Blend(action.clip.name, 0f, 0f); } else if (action.method == AnimMethod.BlendShape && action.shapeKey > -1) { if (action.shapeObject) { action.shapeObject.Change(action.shapeKey, action.shapeValue, 0f); } } }
public override void ActionAnimSkip(ActionAnim action) { if (!action.isRunning) { action.isRunning = true; if (action._anim2D && action.clip2D != "") { if (action.method == AnimMethod.PlayCustom) { if (action.wrapMode2D == ActionAnim.WrapMode2D.Loop) { tk2DIntegration.PlayAnimation(action._anim2D, action.clip2D, true, WrapMode.Loop); } else if (action.wrapMode2D == ActionAnim.WrapMode2D.PingPong) { tk2DIntegration.PlayAnimation(action._anim2D, action.clip2D, true, WrapMode.PingPong); } else { tk2DIntegration.PlayAnimation(action._anim2D, action.clip2D, true, WrapMode.Once); } } else if (action.method == AnimMethod.StopCustom) { tk2DIntegration.StopAnimation(action._anim2D); } } } }
public override void ActionAnimSkip(ActionAnim action) { if (action.methodMecanim == AnimMethodMecanim.ChangeParameterValue && action.animator && action.parameterName != "") { if (action.mecanimParameterType == MecanimParameterType.Float) { action.animator.SetFloat(action.parameterName, action.parameterValue); } else if (action.mecanimParameterType == MecanimParameterType.Int) { action.animator.SetInteger(action.parameterName, (int)action.parameterValue); } else if (action.mecanimParameterType == MecanimParameterType.Bool) { bool paramValue = false; if (action.parameterValue > 0f) { paramValue = true; } action.animator.SetBool(action.parameterName, paramValue); } else if (action.mecanimParameterType == MecanimParameterType.Trigger) { action.animator.SetTrigger(action.parameterName); } } else if (action.methodMecanim == AnimMethodMecanim.PlayCustom && action.animator) { if (action.clip2D != "") { action.animator.CrossFade(action.clip2D, action.fadeTime, action.layerInt); } } }
public ActionInput GetFirstInput() { if (firstStep == null) { firstStep = new ActionAnim(); } return(firstStep.input); }
public override float ActionAnimRun(ActionAnim action) { if (!action.isRunning) { action.isRunning = true; if (action._anim2D && action.clip2D != "") { if (action.method == AnimMethod.PlayCustom) { if (action.wrapMode2D == ActionAnim.WrapMode2D.Loop) { tk2DIntegration.PlayAnimation(action._anim2D, action.clip2D, true, WrapMode.Loop); } else if (action.wrapMode2D == ActionAnim.WrapMode2D.PingPong) { tk2DIntegration.PlayAnimation(action._anim2D, action.clip2D, true, WrapMode.PingPong); } else { tk2DIntegration.PlayAnimation(action._anim2D, action.clip2D, true, WrapMode.Once); } if (action.willWait) { return(action.defaultPauseTime); } } else if (action.method == AnimMethod.StopCustom) { tk2DIntegration.StopAnimation(action._anim2D); } else if (action.method == AnimMethod.BlendShape) { Debug.LogWarning("BlendShapes not available for 2D animation."); return(0f); } } } else { if (action._anim2D && action.clip2D != "") { if (!tk2DIntegration.IsAnimationPlaying(action._anim2D, action.clip2D)) { action.isRunning = false; } else { return(Time.deltaTime); } } } return(0f); }
public override void ActionAnimSkip(ActionAnim action) { if (action.animator && action.clip2D != "") { if (action.method == AnimMethod.PlayCustom) { action.animator.Play(action.clip2D, action.layerInt, 0.8f); } } }
public static void DeepCopySteps(Action from, Action to) { to.comboSteps = new List <ActionAnim>(); for (int i = 0; i < from.comboSteps.Count; i++) { ActionAnim a = new ActionAnim(); a.input = from.comboSteps[i].input; a.targetAnim = from.comboSteps[i].targetAnim; to.comboSteps.Add(a); } }
public override void ActionAnimSkip(ActionAnim action) { if (action.methodMecanim == AnimMethodMecanim.BlendShape) { if (action.shapeObject) { action.shapeObject.Change(action.shapeKey, action.shapeValue, action.fadeTime); } } else { ActionAnimRun(action); } }
public override void ActionAnimGUI(ActionAnim action, List <ActionParameter> parameters) { #if UNITY_EDITOR action.methodMecanim = (AnimMethodMecanim)EditorGUILayout.EnumPopup("Method:", action.methodMecanim); if (action.methodMecanim == AnimMethodMecanim.ChangeParameterValue || action.methodMecanim == AnimMethodMecanim.PlayCustom) { action.parameterID = AC.Action.ChooseParameterGUI("Animator:", parameters, action.parameterID, ParameterType.GameObject); if (action.parameterID >= 0) { action.constantID = 0; action.animator = null; } else { action.animator = (Animator)EditorGUILayout.ObjectField("Animator:", action.animator, typeof(Animator), true); action.constantID = action.FieldToID <Animator> (action.animator, action.constantID); action.animator = action.IDToField <Animator> (action.animator, action.constantID, false); } } if (action.methodMecanim == AnimMethodMecanim.ChangeParameterValue) { action.parameterName = EditorGUILayout.TextField("Parameter to affect:", action.parameterName); action.mecanimParameterType = (MecanimParameterType)EditorGUILayout.EnumPopup("Parameter type:", action.mecanimParameterType); if (action.mecanimParameterType != MecanimParameterType.Trigger) { action.parameterValue = EditorGUILayout.FloatField("Set as value:", action.parameterValue); } } else if (action.methodMecanim == AnimMethodMecanim.PlayCustom) { action.clip2D = EditorGUILayout.TextField("Clip:", action.clip2D); action.layerInt = EditorGUILayout.IntField("Mecanim layer:", action.layerInt); action.fadeTime = EditorGUILayout.Slider("Transition time:", action.fadeTime, 0f, 2f); action.willWait = EditorGUILayout.Toggle("Wait until finish?", action.willWait); } else if (action.methodMecanim == AnimMethodMecanim.BlendShape) { EditorGUILayout.HelpBox("This method is not compatible with Sprites Unity Complex.", MessageType.Info); } if (GUI.changed) { EditorUtility.SetDirty(action); } #endif }
public override string ActionAnimLabel(ActionAnim action) { string label = ""; if (action._anim2D) { label = action._anim2D.name; if (action.method == AnimMethod.PlayCustom && action.clip2D != "") { label += " - " + action.clip2D; } } return(label); }
public override string ActionAnimLabel(ActionAnim action) { string label = ""; if (action.animator) { label = action.animator.name; if (action.methodMecanim == AnimMethodMecanim.ChangeParameterValue && action.parameterName != "") { label += " - " + action.parameterName; } } return(label); }
public ActionAnim CurAction() { if (m_steps.Count <= 0) { Debug.LogError("Not settings action steps"); return(null); } ActionAnim actionAnim = m_steps[m_nStepIdx]; m_nStepIdx++; if (m_nStepIdx >= m_steps.Count) { ResetActionAnim(); } return(actionAnim); }
public override void ActionAnimGUI(ActionAnim action, List <ActionParameter> parameters) { #if UNITY_EDITOR action.method = (AnimMethod)EditorGUILayout.EnumPopup("Method:", action.method); action.parameterID = AC.Action.ChooseParameterGUI("Object:", parameters, action.parameterID, ParameterType.GameObject); if (action.parameterID >= 0) { action.constantID = 0; action._anim2D = null; } else { action._anim2D = (Transform)EditorGUILayout.ObjectField("Object:", action._anim2D, typeof(Transform), true); action.constantID = action.FieldToID(action._anim2D, action.constantID); action._anim2D = action.IDToField(action._anim2D, action.constantID, false); } if (action.method == AnimMethod.PlayCustom) { action.clip2D = EditorGUILayout.TextField("Clip:", action.clip2D); action.wrapMode2D = (ActionAnim.WrapMode2D)EditorGUILayout.EnumPopup("Play mode:", action.wrapMode2D); if (action.wrapMode2D == ActionAnim.WrapMode2D.Once) { action.willWait = EditorGUILayout.Toggle("Wait until finish?", action.willWait); } else { action.willWait = false; } } else if (action.method == AnimMethod.BlendShape) { EditorGUILayout.HelpBox("BlendShapes are not available in 2D animation.", MessageType.Info); } if (GUI.changed) { EditorUtility.SetDirty(action); } #endif }
public override float ActionAnimRun(ActionAnim action) { if (!action.isRunning) { action.isRunning = true; if (action.animator && action.clip2D != "") { if (action.method == AnimMethod.PlayCustom) { action.animator.CrossFade(action.clip2D, action.fadeTime, action.layerInt); if (action.willWait) { return(action.defaultPauseTime); } } else if (action.method == AnimMethod.BlendShape) { Debug.LogWarning("BlendShapes not available for 2D animation."); return(0f); } } } else { if (action.animator && action.clip2D != "") { if (action.animator.GetCurrentAnimatorStateInfo(action.layerInt).normalizedTime < 1f) { return(action.defaultPauseTime / 6f); } else { action.isRunning = false; return(0f); } } } return(0f); }
public override void ActionAnimGUI(ActionAnim action, List <ActionParameter> parameters) { #if UNITY_EDITOR action.method = (AnimMethod)EditorGUILayout.EnumPopup("Method:", action.method); if (action.method == AnimMethod.PlayCustom) { action.parameterID = AC.Action.ChooseParameterGUI("Animator:", parameters, action.parameterID, ParameterType.GameObject); if (action.parameterID >= 0) { action.constantID = 0; action.animator = null; } else { action.animator = (Animator)EditorGUILayout.ObjectField("Animator:", action.animator, typeof(Animator), true); action.constantID = action.FieldToID <Animator> (action.animator, action.constantID); action.animator = action.IDToField <Animator> (action.animator, action.constantID, false); } action.clip2D = EditorGUILayout.TextField("Clip:", action.clip2D); action.layerInt = EditorGUILayout.IntField("Mecanim layer:", action.layerInt); action.fadeTime = EditorGUILayout.Slider("Transition time:", action.fadeTime, 0f, 2f); action.willWait = EditorGUILayout.Toggle("Wait until finish?", action.willWait); } else if (action.method == AnimMethod.StopCustom) { EditorGUILayout.HelpBox("'Stop Custom' is not available for Unity-based 2D animation.", MessageType.Info); } else if (action.method == AnimMethod.BlendShape) { EditorGUILayout.HelpBox("BlendShapes are not available in 2D animation.", MessageType.Info); } if (GUI.changed) { EditorUtility.SetDirty(action); } #endif }
public override string ActionAnimLabel(ActionAnim action) { string label = ""; if (action._anim) { label = action._anim.name; if (action.method == AnimMethod.PlayCustom && action.clip) { label += " - Play " + action.clip.name; } else if (action.method == AnimMethod.StopCustom && action.clip) { label += " - Stop " + action.clip.name; } else if (action.method == AnimMethod.BlendShape) { label += " - Shapekey"; } } return(label); }
public virtual void ActionAnimGUI(ActionAnim action, List <ActionParameter> parameters) { #if UNITY_EDITOR #endif }
public override float ActionAnimRun(ActionAnim action) { if (!action.isRunning) { action.isRunning = true; if (action.methodMecanim == AnimMethodMecanim.ChangeParameterValue && action.animator && action.parameterName != "") { if (action.mecanimParameterType == MecanimParameterType.Float) { action.animator.SetFloat(action.parameterName, action.parameterValue); } else if (action.mecanimParameterType == MecanimParameterType.Int) { action.animator.SetInteger(action.parameterName, (int)action.parameterValue); } else if (action.mecanimParameterType == MecanimParameterType.Bool) { bool paramValue = false; if (action.parameterValue > 0f) { paramValue = true; } action.animator.SetBool(action.parameterName, paramValue); } else if (action.mecanimParameterType == MecanimParameterType.Trigger) { action.animator.SetTrigger(action.parameterName); } return(0f); } else if (action.methodMecanim == AnimMethodMecanim.PlayCustom && action.animator) { if (action.clip2D != "") { action.animator.CrossFade(action.clip2D, action.fadeTime, action.layerInt); if (action.willWait) { return(action.defaultPauseTime); } } } } else if (action.methodMecanim == AnimMethodMecanim.PlayCustom) { if (action.animator && action.clip2D != "") { if (action.animator.GetCurrentAnimatorStateInfo(action.layerInt).normalizedTime < 1f) { return(action.defaultPauseTime / 6f); } else { action.isRunning = false; return(0f); } } } return(0f); }
public override void ActionAnimAssignValues(ActionAnim action, List <ActionParameter> parameters) { action.animator = action.AssignFile <Animator> (parameters, action.parameterID, action.constantID, action.animator); }
public virtual void ActionAnimAssignValues(ActionAnim action, List <ActionParameter> parameters) { }
public virtual float ActionAnimRun(ActionAnim action) { return(0f); }
public override bool GetDamage(AttackStat attackStat, HitType hitType = HitType.Normal, CUnit unit = null, ActionAnim actionAnim = null) { bool isDead = false; if (m_status.CurState == State.Dead) { return(false); } float fMotionMul = actionAnim != null ? actionAnim.fMotionMagnifi : 1f; if (m_status.GetDamage(attackStat, out isDead, fMotionMul)) { StartCoroutine(HitUiCoroutine()); MainHookClose(); m_actCtrl.ResetAttack(); m_actCtrl.GetHitAction(hitType); if (unit == null) { return(true); } if (m_actCtrl.Target != null) { if (unit.tag == "Player") { m_actCtrl.Target = unit; } } return(true); } if (isDead) { DeathProcess(); } return(false); }
public override float ActionAnimRun(ActionAnim action) { Debug.Log("heyhey " + action); return(base.ActionAnimRun(action)); }
public override void ActionAnimAssignValues(ActionAnim action, List <ActionParameter> parameters) { base.ActionAnimAssignValues(action, parameters); Debug.Log("bitconeneeeeeeect"); }
public override void ApponentColliderIn(Stat.AttackStat attackStat, HitType hitType, ActionAnim actionAnim = null) { float fMul = actionAnim == null ? 1f : actionAnim.fMotionMagnifi; int nDmg = CalculateAttributes.CaculateDamage(attackStat, fMul, m_resister); nDmg = (int)(nDmg * m_dmgReduce); m_nDmg += nDmg; if (m_nDmg >= m_dmgLimit) { m_nDmg = 0; m_unit.GetDamage(attackStat, hitType, null, actionAnim); } }
public override void ApponentColliderIn(Stat.AttackStat attackStat, HitType hitType, ActionAnim actionAnim = null) { m_unit.GetDamage(attackStat, hitType, null, actionAnim); if (m_armorStat.armorDamage >= m_armorStat.armorLimit) { StartCoroutine(ArmorBreakCoroutine()); } else { float fMul = actionAnim == null ? 1f : actionAnim.fMotionMagnifi; m_armorStat.armorDamage += CalculateAttributes.CaculateDamage(attackStat, fMul, m_armorResister); } }
public virtual string ActionAnimLabel(ActionAnim action) { return(""); }
public override void ActionAnimGUI(ActionAnim action, List <ActionParameter> parameters) { #if UNITY_EDITOR action.methodMecanim = (AnimMethodMecanim)EditorGUILayout.EnumPopup("Method:", action.methodMecanim); if (action.methodMecanim == AnimMethodMecanim.ChangeParameterValue || action.methodMecanim == AnimMethodMecanim.PlayCustom) { action.parameterID = AC.Action.ChooseParameterGUI("Animator:", parameters, action.parameterID, ParameterType.GameObject); if (action.parameterID >= 0) { action.constantID = 0; action.animator = null; } else { action.animator = (Animator)EditorGUILayout.ObjectField("Animator:", action.animator, typeof(Animator), true); action.constantID = action.FieldToID <Animator> (action.animator, action.constantID); action.animator = action.IDToField <Animator> (action.animator, action.constantID, false); } } if (action.methodMecanim == AnimMethodMecanim.ChangeParameterValue) { action.parameterName = EditorGUILayout.TextField("Parameter to affect:", action.parameterName); action.mecanimParameterType = (MecanimParameterType)EditorGUILayout.EnumPopup("Parameter type:", action.mecanimParameterType); if (action.mecanimParameterType != MecanimParameterType.Trigger) { action.parameterValue = EditorGUILayout.FloatField("Set as value:", action.parameterValue); } } else if (action.methodMecanim == AnimMethodMecanim.PlayCustom) { action.clip2D = EditorGUILayout.TextField("Clip:", action.clip2D); action.layerInt = EditorGUILayout.IntField("Mecanim layer:", action.layerInt); action.fadeTime = EditorGUILayout.Slider("Transition time:", action.fadeTime, 0f, 2f); action.willWait = EditorGUILayout.Toggle("Wait until finish?", action.willWait); } else if (action.methodMecanim == AnimMethodMecanim.BlendShape) { action.isPlayer = EditorGUILayout.Toggle("Is player?", action.isPlayer); if (!action.isPlayer) { action.parameterID = AC.Action.ChooseParameterGUI("Object:", parameters, action.parameterID, ParameterType.GameObject); if (action.parameterID >= 0) { action.constantID = 0; action.shapeObject = null; } else { action.shapeObject = (Shapeable)EditorGUILayout.ObjectField("Object:", action.shapeObject, typeof(Shapeable), true); action.constantID = action.FieldToID <Shapeable> (action.shapeObject, action.constantID); action.shapeObject = action.IDToField <Shapeable> (action.shapeObject, action.constantID, false); } } action.shapeKey = EditorGUILayout.IntField("Shape key:", action.shapeKey); action.shapeValue = EditorGUILayout.Slider("Shape value:", action.shapeValue, 0f, 100f); action.fadeTime = EditorGUILayout.Slider("Transition time:", action.fadeTime, 0f, 2f); action.willWait = EditorGUILayout.Toggle("Wait until finish?", action.willWait); } if (GUI.changed) { EditorUtility.SetDirty(action); } #endif }
public override void ActionAnimAssignValues(ActionAnim action, List <ActionParameter> parameters) { action._anim2D = action.AssignFile(parameters, action.parameterID, action.constantID, action._anim2D); }