Files
MagnetismHeroes/Assets/MagnetismHeroes/UnityRuntime/Presentation/BoardEnvironment.cs
T

26 lines
1.0 KiB
C#

using MagnetismHeroes.UnityRuntime.StageAssets;
using UnityEngine;
namespace MagnetismHeroes.UnityRuntime.Presentation
{
public sealed class BoardEnvironment : MonoBehaviour
{
private int _stageId;
public string Theme { get; private set; }
public void Apply(StageAsset stage)
{
if (_stageId == stage.StageId) return;
foreach (Transform child in transform) { child.gameObject.SetActive(false); Destroy(child.gameObject); }
foreach (var placement in stage.Decorations)
{
if (placement.prefab.name == "Island" && transform.parent.Find("PlaygroundIsland") != null) continue;
var prop = Instantiate(placement.prefab, transform);
prop.transform.localPosition = placement.position;
prop.transform.localRotation = Quaternion.Euler(placement.eulerAngles);
prop.transform.localScale = placement.scale;
}
_stageId = stage.StageId; Theme = stage.Theme;
}
}
}