2026-04-22 모듈러 에셋 포함

This commit is contained in:
2026-04-22 10:25:40 +09:00
parent abaf994ebf
commit 7bdb7b7cd1
2466 changed files with 208897 additions and 4 deletions

View File

@@ -0,0 +1,82 @@
// Magica Cloth 2.
// Copyright (c) 2023 MagicaSoft.
// https://magicasoft.jp
using System.Collections.Generic;
using UnityEngine;
namespace MagicaCloth2
{
public class ModelController : MonoBehaviour
{
[SerializeField]
private List<GameObject> characterList = new List<GameObject>();
[SerializeField]
private float slowTime = 0.1f;
private bool slow;
protected void Start()
{
slow = false;
}
private void AnimatorAction(System.Action<Animator> act)
{
foreach (var chara in characterList)
{
if (chara && chara.activeInHierarchy)
{
var animator = chara.GetComponent<Animator>();
if (animator)
{
act(animator);
}
}
}
}
private void ClothAction(System.Action<MagicaCloth> act)
{
foreach (var chara in characterList)
{
if (chara && chara.activeInHierarchy)
{
var clothList = chara.GetComponentsInChildren<MagicaCloth>(true);
if (clothList != null)
{
foreach (var cloth in clothList)
{
act(cloth);
}
}
}
}
}
public void OnNextButton()
{
AnimatorAction((ani) => ani.SetTrigger("Next"));
}
public void OnBackButton()
{
AnimatorAction((ani) => ani.SetTrigger("Back"));
}
public void OnSlowButton()
{
slow = !slow;
float timeScale = slow ? slowTime : 1.0f;
AnimatorAction((ani) => ani.speed = timeScale);
ClothAction((cloth) => cloth.SetTimeScale(timeScale));
}
public void OnActiveButton()
{
ClothAction((cloth) => cloth.gameObject.SetActive(!cloth.gameObject.activeSelf));
}
}
}