/// <summary> /// minimapに表示するアイコンを登録する /// </summary> /// <param name="obj"></param> internal void RegisterMMObject(MinimapObject obj) { var icon = Construction(obj); iconsPool.Add(icon); objectsIconsDict.Add(obj, icon); }
/// <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); }
/// <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); }