ScriptableSingleton
æ¯ææè¿ä¸å°å¿åç°çä¸ä¸ªç±»ï¼å®ä½äºUnityEditor namespaceï¼ä½æ¯å¹¶æ²¡æåºç°å¨å®æ¹çææ¡£ä¸ã
äºæ¯ï¼å¥½å¥å¿æ¥äºãç»è¿ä¸ç³»åçç¢ç£¨åæ¥é èµæï¼åç°å®å¯è½æ¯ç¨äºç¼è¾å¨å é¨è®°å½æ°æ®çä¸ä¸ªåè½ï¼è½ä¸è½ä¿åæ°æ®è¿ä¸ç¥éï¼
æ¯æ¹è¯´ï¼æä»¬æä¸¤ä¸ªç¼è¾å¨çªå£ï¼åæ¶éè¦ä¸ä¸ªæ°æ®ï¼é£æä»¬å¯ä»¥æå®ç´æ¥è®°å½å¨ä¸ä¸ªåéæè propertyä¸ã
namespace Nekonya.Example { public static class Demo { public static bool User_Is_A_Cat { get; set; } } }
ç¶åä½ å¯ä»¥å¨éè¦å®çå°æ¹è¿ä¹è°ç¨å®ï¼var b_cat = Demo.User_Is_A_Cat;
使¯è¿æ¶åå°±æä¸ªé®é¢ï¼è¿äºæ°æ®å¾å®¹æä¸¢å¤±ã
æ¯å¦è¯´ä½ æ¹äºå项ç®ä¸çæä¸ªå ¶ä»ç代ç ï¼è§¦åäºUnityç代ç éç¼è¯ï¼ç¶åä½ åæ¾å¨è¿éçæ°æ®å°±æ²¡äºã
é£è¿ç§æ¶åï¼å°±å¯ä»¥ç¨ScriptableSingleton
è¿ä¸ªå°åè½æ¥è®°å½æ°æ®äºãæä»¬åä¸ä¸ªè¿æ ·çç±»ï¼
namespace Nekonya.Example { public class UserInfo : UnityEditor.ScriptableSingleton{ public bool User_Is_A_Cat { get; set; } } }
ç¶åï¼å¦ææä»¬è¦ä½¿ç¨å®çå¼çè¯ï¼å°±ç´æ¥è®¿é®ScriptableSingletonéé¢çinstanceå°±å¯ä»¥äºã
namespace Nekonya.Example { public class TryGetData { void Meow() { var b_cat = ScriptableSingleton.instance.User_Is_A_Cat; } } }
è¿æ ·ä¸æ¥ï¼ç¼è¾å¨ä¸çæ°æ®å°±ä¸ä¼ä¸¢å¤±äºã