51 lines
1.4 KiB
C#
51 lines
1.4 KiB
C#
//
|
|
|
|
using System;
|
|
using UnityEngine;
|
|
using UnityEngine.Playables;
|
|
using UnityEngine.Serialization;
|
|
|
|
namespace UI.OfferDiscoParty
|
|
{
|
|
public class OfferDiscoPartyBoxOpen : MonoBehaviour
|
|
{
|
|
public PlayableDirector director; // 关联的PlayableDirector组件
|
|
public PlayableAsset boxOpen1TimeLine; // 状态1
|
|
public PlayableAsset boxOpen2TimeLine; // 状态2
|
|
public OfferDiscoPartyBoxOpen AddEndCallback(Action<PlayableDirector> action)
|
|
{
|
|
director.stopped += action;
|
|
return this;
|
|
}
|
|
//
|
|
public void PlayOpenBox1TimeLine()
|
|
{
|
|
if (boxOpen1TimeLine && director)
|
|
{
|
|
if (director.state == PlayState.Playing)
|
|
{
|
|
director.Stop();
|
|
}
|
|
director.playableAsset = boxOpen1TimeLine;
|
|
director.time = 0;
|
|
director.RebuildGraph();
|
|
director.Play();
|
|
}
|
|
}
|
|
|
|
public void PlayOpenBox2TimeLine()
|
|
{
|
|
if (boxOpen2TimeLine && director)
|
|
{
|
|
if (director.state == PlayState.Playing)
|
|
{
|
|
director.Stop();
|
|
}
|
|
director.playableAsset = boxOpen2TimeLine;
|
|
director.time = 0;
|
|
director.RebuildGraph();
|
|
director.Play();
|
|
}
|
|
}
|
|
}
|
|
} |