Commit b2e61719 authored by SherryChaos's avatar SherryChaos

Bug fix: Premium Mate Kagari wrong transition trigger

parent 761f5c20
...@@ -107,10 +107,10 @@ namespace MDPro3.Duel ...@@ -107,10 +107,10 @@ namespace MDPro3.Duel
: ToBaseTriggerPriority; : ToBaseTriggerPriority;
ToSubNextTriggerPriority = toSubNextTriggerPriority != null && toSubNextTriggerPriority.Count > 0 ToSubNextTriggerPriority = toSubNextTriggerPriority != null && toSubNextTriggerPriority.Count > 0
? toSubNextTriggerPriority.ToArray() ? toSubNextTriggerPriority.ToArray()
: ToSubTriggerPriority; : ToSubCurrentTriggerPriority;
ToBaseNextTriggerPriority = toBaseNextTriggerPriority != null && toBaseNextTriggerPriority.Count > 0 ToBaseNextTriggerPriority = toBaseNextTriggerPriority != null && toBaseNextTriggerPriority.Count > 0
? toBaseNextTriggerPriority.ToArray() ? toBaseNextTriggerPriority.ToArray()
: ToBaseTriggerPriority; : ToBaseCurrentTriggerPriority;
DuelStartTriggerPriority = duelStartTriggerPriority != null && duelStartTriggerPriority.Count > 0 DuelStartTriggerPriority = duelStartTriggerPriority != null && duelStartTriggerPriority.Count > 0
? duelStartTriggerPriority.ToArray() ? duelStartTriggerPriority.ToArray()
: ToSubTriggerPriority; : ToSubTriggerPriority;
...@@ -180,13 +180,9 @@ namespace MDPro3.Duel ...@@ -180,13 +180,9 @@ namespace MDPro3.Duel
toSubEffectLabel: "EngageToKagari", toSubEffectLabel: "EngageToKagari",
toBaseEffectLabel: "KagariToEngage", toBaseEffectLabel: "KagariToEngage",
useUnscaledSwapTiming: true, useUnscaledSwapTiming: true,
toSubTriggerPriority: new[] { "Change2", "Change1", "Change", "ChangePreHide" },
toBaseTriggerPriority: new[] { "Change2", "ChangeBack", "ChangePreHide", "Change" },
toBaseCurrentTriggerPriority: new[] { "Change2", "ChangeBack", "ChangePreHide", "Change" },
toSubNextTriggerPriority: new[] { "Change2", "Change1", "Change", "Entry", "Normal", "ChangePreHide" },
toBaseNextTriggerPriority: new[] { "Entry", "Normal", "Change2", "ChangeBack", "ChangePreHide", "Change" },
duelStartTriggerPriority: new[] { "Change", "Change2", "Change1", "ChangePreHide" }, duelStartTriggerPriority: new[] { "Change", "Change2", "Change1", "ChangePreHide" },
playChangeOnTargetMate: false, playChangeOnTargetMate: true,
playChangeOnBothMates: true,
preferNonChangeNextWhenChangeTriggerMissing: true) }, preferNonChangeNextWhenChangeTriggerMissing: true) },
{ 1003004, new PremiumMateSwapEffect( { 1003004, new PremiumMateSwapEffect(
1003004, 1003004,
......
using MDPro3.Servant;
using MDPro3.UI;
using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System;
using UnityEngine; using UnityEngine;
using UnityEngine.Playables; using UnityEngine.Playables;
using Willow; using Willow;
using MDPro3.Servant;
using MDPro3.UI;
namespace MDPro3 namespace MDPro3
{ {
...@@ -78,7 +78,7 @@ namespace MDPro3 ...@@ -78,7 +78,7 @@ namespace MDPro3
private Coroutine masterDuelVoiceFallbackCoroutine; private Coroutine masterDuelVoiceFallbackCoroutine;
private float masterDuelVoiceFallbackStartTime; private float masterDuelVoiceFallbackStartTime;
bool Playing() private bool Playing()
{ {
if (directorA != null && directorA.state == PlayState.Playing) if (directorA != null && directorA.state == PlayState.Playing)
return true; return true;
...@@ -162,6 +162,7 @@ namespace MDPro3 ...@@ -162,6 +162,7 @@ namespace MDPro3
masterDuelPrimaryAnimator = masterDuelAnimators[0]; masterDuelPrimaryAnimator = masterDuelAnimators[0];
masterDuelInitialized = true; masterDuelInitialized = true;
} }
private void RefreshMasterDuelAnimatorCacheIfNeeded() private void RefreshMasterDuelAnimatorCacheIfNeeded()
...@@ -223,7 +224,7 @@ namespace MDPro3 ...@@ -223,7 +224,7 @@ namespace MDPro3
} }
} }
void Start() private void Start()
{ {
if (type == MateType.MasterDuel) if (type == MateType.MasterDuel)
{ {
...@@ -282,17 +283,13 @@ namespace MDPro3 ...@@ -282,17 +283,13 @@ namespace MDPro3
var animator = GetComponent<Animator>(); var animator = GetComponent<Animator>();
if (animator != null) if (animator != null)
animator.cullingMode = AnimatorCullingMode.AlwaysAnimate; animator.cullingMode = AnimatorCullingMode.AlwaysAnimate;
//AnimatorControllerParameter[] parameter = animator.parameters;
//foreach (var param in parameter)
// Debug.Log(": 参数名称:" + param.name + " 参数类型:" + param.type);
} }
} }
public void Play(MateAction action) public void Play(MateAction action)
{ {
//Debug.Log($"Mate {code} Play {action}.");
switch (type) switch (type)
{ {
case (MateType.MasterDuel): case (MateType.MasterDuel):
...@@ -620,6 +617,9 @@ namespace MDPro3 ...@@ -620,6 +617,9 @@ namespace MDPro3
public bool PlayChangeTransition(IReadOnlyList<string> triggerPriority, out float suggestedDelaySeconds) public bool PlayChangeTransition(IReadOnlyList<string> triggerPriority, out float suggestedDelaySeconds)
{ {
//foreach (var trigger in triggerPriority)
// Debug.Log($"PlayChangeTransition: {trigger}");
suggestedDelaySeconds = 0f; suggestedDelaySeconds = 0f;
if (type != MateType.MasterDuel) if (type != MateType.MasterDuel)
return false; return false;
......
using UnityEngine; using UnityEngine;
[RequireComponent(typeof(Animator))]
public class AnimatorTriggerTest : MonoBehaviour public class AnimatorTriggerTest : MonoBehaviour
{ {
public string trigger; public string trigger;
public bool test; public bool test;
private void Update() private Animator animator;
private void Start()
{ {
if (test) animator = transform.GetComponent<Animator>();
{ AnimatorControllerParameter[] parameters = animator.parameters;
test = false; foreach (var param in parameters)
Test(); Debug.Log(": 参数名称:" + param.name + " 参数类型:" + param.type);
}
} }
void Test() private void Update()
{ {
var controller = GetComponent<Animator>(); if (test)
if(controller != null)
{ {
controller.SetTrigger(trigger); test = false;
animator.SetTrigger(trigger);
} }
} }
} }
...@@ -8,12 +8,12 @@ namespace MDPro3.UI ...@@ -8,12 +8,12 @@ namespace MDPro3.UI
public static float LastEventTime { get; private set; } = float.NegativeInfinity; public static float LastEventTime { get; private set; } = float.NegativeInfinity;
public static string LastEventLabel { get; private set; } = string.Empty; public static string LastEventLabel { get; private set; } = string.Empty;
void PlayAnimationEventSe(string se) private void PlayAnimationEventSe(string se)
{ {
RegisterEvent(se); RegisterEvent(se);
AudioManager.PlaySE(se, 0.4f); AudioManager.PlaySE(se, 0.4f);
} }
void NewEvent(string se) private void NewEvent(string se)
{ {
RegisterEvent(se); RegisterEvent(se);
AudioManager.PlaySE(se, 0.4f); AudioManager.PlaySE(se, 0.4f);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment