Files
ChunilENG/Assets/WorkSpace/Personal/RJH/TestMat/Test.cs

69 lines
1.9 KiB
C#
Raw Normal View History

2025-02-20 09:59:37 +09:00
using CHN;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour
{
private Building building;
private Floor curFloor;
public override void AfterAwake()
{
building = FindSingle<Building>();
}
private void Update()
{
//if (curFloor == null)
// return;
if(Input.GetKeyDown(KeyCode.LeftAlt))
{
StartVisual();
}
if(Input.GetKeyUp(KeyCode.LeftAlt))
{
var areas = curFloor.VisualizationAreas;
var renderers = areas.GetComponentsInChildren<Renderer>();
foreach (var renderer in renderers)
{
var propertyBlock = new MaterialPropertyBlock();
renderer.GetPropertyBlock(propertyBlock);
propertyBlock.SetFloat("_DissolveAmount", 1);
renderer.SetPropertyBlock(propertyBlock);
}
areas.SetActive(false);
}
}
private void StartVisual()
{
StopAllCoroutines();
curFloor = building.currentFloor;
StartCoroutine(IsAnimationPlay());
}
IEnumerator IsAnimationPlay()
{
float timer = 0f;
float percent = 0f;
var areas = curFloor.VisualizationAreas;
areas.SetActive(true);
var renderers = curFloor.VisualizationAreas.GetComponentsInChildren<Renderer>();
while (percent<1)
{
timer += Time.deltaTime;
percent = timer / 0.5f;
foreach (var renderer in renderers)
{
var propertyBlock = new MaterialPropertyBlock();
renderer.GetPropertyBlock(propertyBlock);
propertyBlock.SetFloat("_DissolveAmount", 1f-percent);
renderer.SetPropertyBlock(propertyBlock);
}
yield return null;
}
}
}