Пример #1
0
        /// <summary>
        /// minimapに表示するアイコンを登録する
        /// </summary>
        /// <param name="obj"></param>
        internal void RegisterMMObject(MinimapObject obj)
        {
            var icon = Construction(obj);

            iconsPool.Add(icon);
            objectsIconsDict.Add(obj, icon);
        }
Пример #2
0
        /// <summary>
        /// minimapに登録されているアイコンを削除する
        /// </summary>
        /// <param name="obj"></param>
        internal void UnRegisterMMObject(MinimapObject obj)
        {
            MinimapIcon icon;

            objectsIconsDict.TryGetValue(obj, out icon);

            if (!icon)
            {
                Debug.LogError("Trying to unregister icon that is not registered, how did this happen?");
                return;
            }

            iconsPool.Remove(icon);
        }
Пример #3
0
        /// <summary>
        /// 設定されてあるプレハブをもとにMinimapIconをもったゲームオブジェクトを生成する
        /// </summary>
        /// <param name="mmobj"></param>
        /// <returns></returns>
        protected virtual MinimapIcon Construction(MinimapObject mmobj)
        {
            if (!iconPrefab)
            {
                Debug.Log("Icon prefab is null , aborting icon construction.");
                return(null);
            }

            iconPrefab.SetActive(false);

            var go = Instantiate(iconPrefab, iconsRoot, false);

            var icon = go.GetComponent <MinimapIcon>();

            icon.Target = mmobj;

            icon.gameObject.SetActive(true);
            iconPrefab.SetActive(true);

            return(icon);
        }