您的位置:首页 > 健康 > 养生 > 营销型网站开发_各种免费源码共享网站_深圳居家办公_企业网络营销策略案例

营销型网站开发_各种免费源码共享网站_深圳居家办公_企业网络营销策略案例

2025/3/28 5:49:15 来源:https://blog.csdn.net/u010125551/article/details/142414094  浏览:    关键词:营销型网站开发_各种免费源码共享网站_深圳居家办公_企业网络营销策略案例
营销型网站开发_各种免费源码共享网站_深圳居家办公_企业网络营销策略案例

虽然笔者目前还不知道 BindableDictionary 能用在什么使用场景下,但是还是应童鞋的要求实现了 BindableDictionary。

基本使用如下:

using System.Linq;
using UnityEngine;namespace QFramework.Example
{public class BindableDictionaryExample : MonoBehaviour{private BindableDictionary<string, string> mDictionary = new BindableDictionary<string, string>();private void Start(){mDictionary.OnCountChanged.Register(count =>{print("count:" + count);}).UnRegisterWhenGameObjectDestroyed(gameObject);mDictionary.OnAdd.Register((key, value) =>{print("add:" + key + "," + value);}).UnRegisterWhenGameObjectDestroyed(gameObject);mDictionary.OnRemove.Register((key, value) =>{print("remove:" + key + "," + value);}).UnRegisterWhenGameObjectDestroyed(gameObject);mDictionary.OnReplace.Register((key, oldValue,newValue) =>{print("replace:" + key + "," + oldValue + "," + newValue);}).UnRegisterWhenGameObjectDestroyed(gameObject);mDictionary.OnClear.Register(() =>{print("clear");}).UnRegisterWhenGameObjectDestroyed(gameObject);}private string mKeyToDelete = null;private void OnGUI(){IMGUIHelper.SetDesignResolution(640,360);GUILayout.Label("Count:" + mDictionary.Count);GUILayout.BeginVertical("box");foreach (var kv in mDictionary){GUILayout.BeginHorizontal("box");GUILayout.Label($"{kv.Key},{kv.Value}");if (GUILayout.Button("-")){mKeyToDelete = kv.Key;}GUILayout.EndHorizontal();}if (GUILayout.Button("add")){var key = "key" + Random.Range(0, 100);if (!mDictionary.ContainsKey(key)){mDictionary.Add("key" + Random.Range(0,100),"value" + Random.Range(0,100));    }}if (mDictionary.Count > 0){if (GUILayout.Button("remove")){mDictionary.Remove(mDictionary.Keys.First());}if (GUILayout.Button("replace")){mDictionary[mDictionary.Keys.First()] = "replaced value" + Random.Range(0, 100);}if (GUILayout.Button("clear")){mDictionary.Clear();}}GUILayout.EndVertical();if (mKeyToDelete.IsNotNullAndEmpty()){mDictionary.Remove(mKeyToDelete);mKeyToDelete = null;}}}
}

运行结果如下:
178a650f-97ee-44de-8f5c-447a853cdb6b

输出结果如下:
b8a5eb15-42cc-4c2d-9e5e-dff54e2a10e2

本文由 《QFramework 教程年会员》赞助,298 元,9 套教程一年内随便看。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com