Scene by Name#
Can Read
Cannot Write
Description#
A Scene identified by its scene object name
Code#
using System;
using UnityEngine;
using VisualScript.Icons;
namespace VisualScript.Runtime
{
[Get]
[Title("Scene by Name")]
[Category("Scene by Name")]
[Description("A Scene identified by its scene object name")]
[Image(typeof(IconUnity), ColorTheme.Type.Gray)]
[Keywords("Value", "Constant")]
[Serializable]
public class TypeSceneByName : TypeScene
{
[SerializeField] private GetString m_Name;
public override int GetPreview(GameObject source) => SceneReference.GetSceneIndexFromName(this.m_Name.GetPreview(source));
public TypeSceneByName() : this(string.Empty)
{
this.m_Name = new GetString();
}
public TypeSceneByName(string name)
{
this.m_Name = new GetString(name);
}
public override int Get(Args args)
{
string name = this.m_Name.Get(args);
return SceneReference.GetSceneIndexFromName(name);
}
public override string ToString()
{
return this.m_Name.ToString();
}
protected override SubscriptionMode Subscription => SubscriptionMode.OnChange;
}
}