26 lines
1.0 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|