using Config; using UI.MapEditor; namespace UI.MapEditorMapMark; public class EditorMarkCell : UiCell<MapEditorMapMark.MarkItem, MapEditorMapMarkPanel.MarkCellData> { public override void OnInit() { CellNode.L_MarkButton.Instance.Pressed += OnClick; } public override void OnSetData(MapEditorMapMarkPanel.MarkCellData data) { var text = ""; //物体名称 if (data.MarkInfo.MarkList != null && data.MarkInfo.MarkList.Count > 0) { var str = ""; for (var i = 0; i < data.MarkInfo.MarkList.Count; i++) { var markInfoItem = data.MarkInfo.MarkList[i]; if (i > 0) { str += ","; } str += ExcelConfig.ActivityObject_Map[markInfoItem.Id].Name; } text += str; } else { if (data.MarkInfo.SpecialMarkType == SpecialMarkType.BirthPoint) { text = "出生标记"; } else { text += "空"; } } //延时时间 if (data.Preloading) { text += "\n提前加载"; } else { text += "\n" + data.MarkInfo.DelayTime + "秒"; } CellNode.L_MarkButton.Instance.Text = text; } public override void OnClick() { EditorManager.SetSelectWaveIndex(Data.ParentCell.Index); CellNode.UiPanel.SetSelectCell(this, CellNode.Instance, MapEditorMapMarkPanel.SelectToolType.Mark); //需要切换回编辑工具 if (CellNode.UiPanel.EditorTileMap.MouseType != EditorTileMap.MouseButtonType.Edit) { //选中标记 EditorManager.SetSelectMark(Data.MarkInfo); } } public override void OnSelect() { CellNode.L_MarkButton.L_Select.Instance.Visible = true; //选中标记 EditorManager.SetSelectMark(Data.MarkInfo); } public override void OnUnSelect() { CellNode.L_MarkButton.L_Select.Instance.Visible = false; } public override int OnSort(UiCell<MapEditorMapMark.MarkItem, MapEditorMapMarkPanel.MarkCellData> other) { if (!Data.Preloading && other.Data.Preloading) { return 0; } else if (Data.Preloading) { return -1; } else if (other.Data.Preloading) { return 1; } return (int)(Data.MarkInfo.DelayTime * 1000 - other.Data.MarkInfo.DelayTime * 1000); } }