这是第一个 Unity 开放项目的repo,是 Unity 和社区合作创建的一个小型开源游戏演示,第一款游戏是一款名为 Chop Chop 的动作冒险游戏。
您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

48 行
1.0 KiB

#if UNITY_EDITOR
using System;
using UnityEngine;
using UnityEditor;
// This is second part of implementation of GameSceneSO
// This part is reponsible for the editor-related functionality
public abstract partial class GameSceneSO : ScriptableObject, ISerializationCallbackReceiver
{
public static Action<GameSceneSO> onEnabled;
private SceneAsset prevSceneAsset;
void ISerializationCallbackReceiver.OnBeforeSerialize()
{
PopulateScenePath();
}
void ISerializationCallbackReceiver.OnAfterDeserialize()
{ }
private void OnEnable()
{
// In case domain was not reloaded after entering play mode
prevSceneAsset = null;
PopulateScenePath();
onEnabled?.Invoke(this);
}
private void PopulateScenePath()
{
if (sceneAsset != null)
{
// To prevent constant invocation of AssetDatabase API
// when this SO is opened in the Inspector.
if (prevSceneAsset != sceneAsset)
{
prevSceneAsset = sceneAsset;
scenePath = AssetDatabase.GetAssetPath(sceneAsset);
}
}
else
{
scenePath = string.Empty;
}
}
}
#endif