From 8d77144cfb756529507dc6927dcdcfd9f4a30750 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 25 二月 2026 14:48:37 +0800
Subject: [PATCH] 视频播放支持
---
Main/System/Hero/UIHeroController.cs | 20 ++++++++++++--------
1 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/Main/System/Hero/UIHeroController.cs b/Main/System/Hero/UIHeroController.cs
index dd7ae75..7ae549e 100644
--- a/Main/System/Hero/UIHeroController.cs
+++ b/Main/System/Hero/UIHeroController.cs
@@ -1,5 +1,6 @@
using System;
+using Spine;
using Spine.Unity;
using UnityEngine;
using UnityEngine.UI;
@@ -10,7 +11,7 @@
private int skinID;
protected SkeletonGraphic skeletonGraphic;
- protected Spine.AnimationState spineAnimationState;
+ public Spine.AnimationState spineAnimationState;
private GameObject instanceGO;
public Action onComplete;
@@ -26,7 +27,7 @@
if (isLh)
{
var skinConfigTmp = HeroSkinConfig.Get(skinID);
- if (skinConfigTmp != null && skinConfigTmp.Tachie.Contains("SkeletonData"))
+ if (skinConfigTmp != null && skinConfigTmp.Tachie.IsSpine())
{
skeletonGraphic.enabled = true;
}
@@ -60,7 +61,7 @@
//绔嬬粯鐗规畩澶勭悊锛屾病鏈塻pine鍔ㄧ敾鐨勬敼鐢ㄥ浘鐗�
var lhImg = this.AddMissingComponent<RawImage>();
- if (!skinConfig.Tachie.Contains("SkeletonData"))
+ if (!skinConfig.Tachie.IsSpine())
{
//鍥剧墖鏇挎崲
lhImg.SetTexture2DPNG(skinConfig.Tachie);
@@ -150,7 +151,10 @@
spineAnimationState.Complete += OnAnimationComplete;
}
-
+ public bool HasAnimation(string motionName)
+ {
+ return skeletonGraphic != null && skeletonGraphic.Skeleton != null && skeletonGraphic.Skeleton.ContainsMotion(motionName);
+ }
protected void OnDestroy()
@@ -171,15 +175,15 @@
/// <param name="motionName">鍔ㄤ綔鍚�</param>
/// <param name="loop">寰幆</param>
/// <param name="replay">濡傛灉鐩稿悓鍔ㄤ綔鏄惁鍐嶆閲嶆挱锛屾瘮濡傝窇姝ラ噸鎾氨浼氳烦甯т笉椤烘粦</param>
- public virtual void PlayAnimation(string motionName, bool loop = false, bool replay = true)
+ public virtual TrackEntry PlayAnimation(string motionName, bool loop = false, bool replay = true)
{
- if (spineAnimationState == null) return;
+ if (spineAnimationState == null) return null;
if (GetCurrentAnimationName() == motionName && !replay)
- return;
+ return null;
// 鐩存帴浣跨敤 ToString() 鑰屼笉鏄皟鐢� GetAnimationName
- spineAnimationState.SetAnimation(0, motionName.ToString(), loop);
+ return spineAnimationState.SetAnimation(0, motionName.ToString(), loop);
}
// 鎾斁绗竴涓姩鐢伙紙浣滀负榛樿鍔ㄧ敾锛�
--
Gitblit v1.8.0