public virtual bool CompareTo(PeMap.ILabel label) { if (label is TownLabel) { TownLabel townlabel = (TownLabel)label; if (townLabelType == townlabel.townLabelType) { if (null != this.name && null != townlabel.name) { return(this.pos == townlabel.pos && this.name.Equals(townlabel.name)); } else if (this.name == null && townlabel.name == null) { return(this.pos == townlabel.pos); } else { return(false); } } else { return(false); } } else { return(false); } }
public static bool Remove(Vector3 pos) { PeMap.ILabel pl = PeMap.LabelMgr.Instance.Find(item => { TownLabel l = item as TownLabel; if (l != null && l.pos == pos) { return(true); } return(false); }); if (pl != null) { return(PeMap.LabelMgr.Instance.Remove(pl)); } return(false); }
public static void DestroyTownIcon(VArtifactTown vat) { if (vat != null) { if (vat.type == VArtifactType.NpcTown) { npcTownLabel.Remove(vat.TransPos); } else { nativeCampLabel.Remove(vat.TransPos); } TownLabel.Remove(vat.TransPos); if (!DestroyedLabel.ContainsIcon(vat.TransPos)) { UnknownLabel.Remove(vat.TransPos); DestroyedLabel dl = new DestroyedLabel(vat); if (!destroyedTownLabel.ContainsKey(dl.pos)) { destroyedTownLabel.Add(dl.pos, dl); } } } }
public void SetLabel(PeMap.ILabel _label, bool _inMinMap = false) { this.Init(); m_Label = _label; inMinMap = _inMinMap; if (m_Label == null) { return; } UpdateIcon(); if (_label is TownLabel) { if (Pathea.PeGameMgr.IsAdventure) { TownLabel townLabel = _label as TownLabel; int colorIndex = townLabel.GetAllianceColor(); if (colorIndex >= 0 && colorIndex < AllyColor.AllianceCols.Length) { Color32 color32 = AllyColor.AllianceCols[colorIndex]; SetColor(color32); } SetFriendlyLevelIcon(townLabel.GetFriendlyLevel()); } } else if (_label is MissionLabel) { MissionLabel missionLabel = _label as MissionLabel; SetColor(missionLabel.GetMissionColor()); } //SetEnableClick(m_Label.GetType()!= PeMap.ELabelType.Mission); SetEnableClick(true); UpdateRadiusSize(); // label depth 处理 //从高到底:User,Mission,NPC,Revive,Vehicle,Mark,FastTravel switch (_label.GetType()) { case PeMap.ELabelType.FastTravel: mSpr.depth = 1; break; case PeMap.ELabelType.Mark: mSpr.depth = 2; break; case PeMap.ELabelType.Vehicle: mSpr.depth = 3; break; case PeMap.ELabelType.Revive: mSpr.depth = 4; break; case PeMap.ELabelType.Npc: mSpr.depth = 5; break; case PeMap.ELabelType.Mission: //lz-2016.10.11 如果有任务覆盖的情况,主线在支线上面 MissionLabel missionLabel = _label as MissionLabel; mSpr.depth = MissionManager.IsMainMission(missionLabel.m_missionID)?7:6; break; case PeMap.ELabelType.User: mSpr.depth = 8; break; default: mSpr.depth = 0; break; } }