void SyncBuildingSet() { BuildingSet blSet = _mGameObject.GetComponent <BuildingSet>() as BuildingSet; if (null == blSet) { blSet = _mGameObject.AddComponent <BuildingSet>() as BuildingSet; } blSet.UpdateData(_mData); blSet.SetValueChangedDel(delegate(GameObject go){ Globals.Instance.MNpcManager.InteractWith(this); }); }
BuildingSet CreateBuildingSet() { var set = new BuildingSet(); foreach (var setup in Buildings) { var categoryName = setup.State.CategoryName; if (!set.Categories.TryGetValue(categoryName, out var setups)) { setups = new List <BuildingSetup>(); set.Categories.Add(categoryName, setups); } setups.Add(setup); } set.CategoryNames = set.Categories.Keys.ToArray(); return(set); }