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
: ToBaseTriggerPriority;
ToSubNextTriggerPriority = toSubNextTriggerPriority != null && toSubNextTriggerPriority.Count > 0
? toSubNextTriggerPriority.ToArray()
: ToSubTriggerPriority;
: ToSubCurrentTriggerPriority;
ToBaseNextTriggerPriority = toBaseNextTriggerPriority != null && toBaseNextTriggerPriority.Count > 0
? toBaseNextTriggerPriority.ToArray()
: ToBaseTriggerPriority;
: ToBaseCurrentTriggerPriority;
DuelStartTriggerPriority = duelStartTriggerPriority != null && duelStartTriggerPriority.Count > 0
? duelStartTriggerPriority.ToArray()
: ToSubTriggerPriority;
......@@ -180,13 +180,9 @@ namespace MDPro3.Duel
toSubEffectLabel: "EngageToKagari",
toBaseEffectLabel: "KagariToEngage",
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" },
playChangeOnTargetMate: false,
playChangeOnTargetMate: true,
playChangeOnBothMates: true,
preferNonChangeNextWhenChangeTriggerMissing: true) },
{ 1003004, new PremiumMateSwapEffect(
1003004,
......
using MDPro3.Servant;
using MDPro3.UI;
using System;
using System.Collections;
using System.Collections.Generic;
using System;
using UnityEngine;
using UnityEngine.Playables;
using Willow;
using MDPro3.Servant;
using MDPro3.UI;
namespace MDPro3
{
......@@ -78,7 +78,7 @@ namespace MDPro3
private Coroutine masterDuelVoiceFallbackCoroutine;
private float masterDuelVoiceFallbackStartTime;
bool Playing()
private bool Playing()
{
if (directorA != null && directorA.state == PlayState.Playing)
return true;
......@@ -162,6 +162,7 @@ namespace MDPro3
masterDuelPrimaryAnimator = masterDuelAnimators[0];
masterDuelInitialized = true;
}
private void RefreshMasterDuelAnimatorCacheIfNeeded()
......@@ -223,7 +224,7 @@ namespace MDPro3
}
}
void Start()
private void Start()
{
if (type == MateType.MasterDuel)
{
......@@ -282,17 +283,13 @@ namespace MDPro3
var animator = GetComponent<Animator>();
if (animator != null)
animator.cullingMode = AnimatorCullingMode.AlwaysAnimate;
//AnimatorControllerParameter[] parameter = animator.parameters;
//foreach (var param in parameter)
// Debug.Log(": 参数名称:" + param.name + " 参数类型:" + param.type);
}
}
public void Play(MateAction action)
{
//Debug.Log($"Mate {code} Play {action}.");
switch (type)
{
case (MateType.MasterDuel):
......@@ -620,6 +617,9 @@ namespace MDPro3
public bool PlayChangeTransition(IReadOnlyList<string> triggerPriority, out float suggestedDelaySeconds)
{
//foreach (var trigger in triggerPriority)
// Debug.Log($"PlayChangeTransition: {trigger}");
suggestedDelaySeconds = 0f;
if (type != MateType.MasterDuel)
return false;
......
using UnityEngine;
[RequireComponent(typeof(Animator))]
public class AnimatorTriggerTest : MonoBehaviour
{
public string trigger;
public bool test;
private void Update()
private Animator animator;
private void Start()
{
if (test)
{
test = false;
Test();
}
animator = transform.GetComponent<Animator>();
AnimatorControllerParameter[] parameters = animator.parameters;
foreach (var param in parameters)
Debug.Log(": 参数名称:" + param.name + " 参数类型:" + param.type);
}
void Test()
private void Update()
{
var controller = GetComponent<Animator>();
if(controller != null)
if (test)
{
controller.SetTrigger(trigger);
test = false;
animator.SetTrigger(trigger);
}
}
}
......@@ -8,12 +8,12 @@ namespace MDPro3.UI
public static float LastEventTime { get; private set; } = float.NegativeInfinity;
public static string LastEventLabel { get; private set; } = string.Empty;
void PlayAnimationEventSe(string se)
private void PlayAnimationEventSe(string se)
{
RegisterEvent(se);
AudioManager.PlaySE(se, 0.4f);
}
void NewEvent(string se)
private void NewEvent(string se)
{
RegisterEvent(se);
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