public void InitOrUpdateView(CampaignModeConfig mode) { this.mode = mode; if (prefab == null) { prefab = LoadResourceController.GetCampaignMapView(); } int i = 0; for (; i < mode.mapList.Count; i++) { if (i < mapViews.Count) { mapViews[i].SetupView(mode.mapList[i]); } else { var view = Instantiate(prefab, mapViewAnchor); view.SetupView(mode.mapList[i]); mapViews.Add(view); snap.AddRectTransform(view.GetComponent <RectTransform>()); } } snap.SetupSnap(RefreshUI); }