/// <summary> /// Constructor. /// </summary> /// <param name="position"></param> /// <param name="type"></param> /// <param name="style"></param> /// <param name="color"></param> public BaseMapIcon(Vector3 position, MapIcon type, MapIconType style, Color color) { Position = position; Type = type; Style = style; Color = color; }
public MapIcon CreateMapIcon(Sprite iconSprite, Vector2 size, Vector3 worldPosition, bool keepOnMap, float rangeSize, MapIconType iconType, bool removeAble, string textToDisplay = "") { if (!UI || !UI.gameObject || !iconSprite) { return(null); } MapIcon icon = ObjectPool.Get(UI.iconPrefab.gameObject, SelectParent(iconType)).GetComponent <MapIcon>(); InitIcon(); IconsWithoutHolder.Add(icon, new MapIconWithoutHolder(worldPosition, icon, keepOnMap, removeAble, textToDisplay)); return(icon); void InitIcon() { icon.iconImage.rectTransform.pivot = new Vector2(0.5f, 0.5f); icon.iconImage.overrideSprite = iconSprite; icon.iconImage.rectTransform.sizeDelta = size; icon.iconType = iconType; if (rangeSize > 0) { icon.iconRange = ObjectPool.Get(UI.rangePrefab.gameObject, UI.rangesParent).GetComponent <MapIconRange>(); ZetanUtility.SetActive(icon.iconRange.gameObject, true); icon.iconRange.rectTransform.sizeDelta = new Vector2(rangeSize, rangeSize); } icon.RemoveAble = removeAble; icon.TextToDisplay = textToDisplay; } }
/// <summary> /// Constructor. /// </summary> /// <param name="position"></param> /// <param name="type"></param> /// <param name="style"></param> public BaseMapIcon(Vector3 position, MapIcon type, MapIconType style) { Position = position; Type = type; Style = style; Color = Color.Red; }
public bool AddStaticItem(MapIconType type, Vector2 staticPosition, int radius = -1) { for (var i = 0; i < Entries.Length; i++) { var item = Entries[i] as RadarEntry; if (!item) { continue; } if (staticPosition == (Vector2)item.StaticPosition) { return(false); } } //add new entry RadarEntry newEntry = Add() as RadarEntry; if (!newEntry) { Logger.LogWarning($"Added {newEntry} is not an RadarEntry!", Category.NetUI); return(false); } //set its elements newEntry.Radius = radius; newEntry.Type = type; newEntry.StaticPosition = staticPosition; //rescan elements and notify NetworkTabManager.Instance.Rescan(MasterTab.NetTabDescriptor); return(true); }
public DynamicMapIcon(Vector3 position, Color color, MapIconType mapIconType = MapIconType.Local, int worldid = -1, int interiorid = -1, BasePlayer player = null, float streamDistance = 100.0f, DynamicArea area = null, int priority = 0) { Id = Internal.CreateDynamicMapIcon(position.X, position.Y, position.Z, 0, color, worldid, interiorid, player?.Id ?? -1, streamDistance, (int)mapIconType, area?.Id ?? -1, priority); }
public MapIcon CreateMapIcon(Sprite iconSprite, Vector2 size, Vector3 worldPosition, bool keepOnMap, float rangeSize, MapIconType iconType, bool removeAble, string textToDisplay = "") { if (!UI || !UI.gameObject || !iconSprite) { return(null); } MapIcon icon = ObjectPool.Get(UI.iconPrefab.gameObject, SelectParent(iconType)).GetComponent <MapIcon>(); icon.Init(iconSprite, size, worldPosition, keepOnMap, rangeSize, iconType, removeAble, textToDisplay); NormalIcons.Add(icon); return(icon); }
public void Init(Sprite iconSprite, Vector2 size, Vector3 worldPosition, bool keepOnMap, MapIconType iconType, bool removeAble, string textToDisplay = "") { rectTransform.pivot = new Vector2(0.5f, 0.5f); rectTransform.sizeDelta = size; iconImage.overrideSprite = iconSprite; this.iconType = iconType; ZetanUtility.SetActive(iconRange.gameObject, false); position = worldPosition; this.keepOnMap = keepOnMap; this.removeAble = removeAble; this.textToDisplay = textToDisplay; }
public bool AddItems(MapIconType type, List <GameObject> objects) { var objectSet = new HashSet <GameObject>(objects); var duplicates = new HashSet <GameObject>(); for (var i = 0; i < Entries.Length; i++) { var item = Entries[i] as RadarEntry; if (!item) { continue; } if (objectSet.Contains(item.TrackedObject)) { duplicates.Add(item.TrackedObject); } } for (var i = 0; i < objects.Count; i++) { var obj = objects[i]; //skipping already found objects if (duplicates.Contains(obj)) { continue; } //add new entry RadarEntry newEntry = Add() as RadarEntry; if (!newEntry) { Logger.LogWarning($"Added {newEntry} is not an RadarEntry!", Category.NetUI); return(false); } //set its elements newEntry.Type = type; newEntry.TrackedObject = obj; } // Logger.Log( $"RadarList: Item add success! added {objects.Count} items" ); //rescan elements and notify NetworkTabManager.Instance.Rescan(MasterTab.NetTabDescriptor); RefreshTrackedPos(); return(true); }
public void Init(MapIconHolder holder) { rectTransform.pivot = new Vector2(0.5f, 0.5f); rectTransform.sizeDelta = holder.iconSize; iconImage.overrideSprite = holder.icon; iconType = holder.iconType; holder.iconInstance = this; this.holder = holder; if (holder.showRange) { ZetanUtility.SetActive(iconRange, true); } else { ZetanUtility.SetActive(iconRange, false); } }
private RectTransform SelectParent(MapIconType iconType) { switch (iconType) { case MapIconType.Normal: return(UI.iconsParent); case MapIconType.Main: return(UI.mainParent); case MapIconType.Mark: return(UI.marksParent); case MapIconType.Quest: return(UI.questsParent); case MapIconType.Objective: return(UI.objectivesParent); default: return(null); } }