using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using ChivaXR;
using System;
using System.Text;
///
/// 动画驱动器-显示隐藏物体
///
public class AniDriver_ActiveObjs : AnimationDriverBase
{
public List objs = new List();
public bool activeObjs;
public override void FinishedState()
{
foreach (var item in objs)
{
if (item != null)
{
item.SetActive(activeObjs);
}
else
{
Debug.LogError("AniDriver_ActiveObjs模型引用丢失");
}
}
}
public override void InitState()
{
foreach (var item in objs)
{
if (item != null)
{
item.SetActive(!activeObjs);
}
else
{
Debug.LogError("AniDriver_ActiveObjs模型引用丢失");
}
}
}
public override void StartPlay(Action finishedCallBack = null)
{
foreach (var item in objs)
{
item.SetActive(activeObjs);
}
finishedCallBack?.Invoke();
}
public override string AnimationDescription()
{
return animationSequence.ToString() + (activeObjs ? "--显示物体:" : "--隐藏物体:") + GetObjsName();
}
public string GetObjsName()
{
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < objs.Count; i++)
{
if (objs[i] == null) continue;
stringBuilder.Append(objs[i].name);
if (i < objs.Count - 1)
{
stringBuilder.Append("/");
}
}
return stringBuilder.ToString();
}
}