public void ProcessLastMultiTag(MultiTagBase tag) { List <MeshRenderer> renderers = new List <MeshRenderer>(); GameObject go = tag.gameObject; var count = go.transform.childCount; for (int i = 0; i < count; i++) { var child = go.transform.GetChild(i); var renderer = child.GetComponent <MeshRenderer>(); if (Util.IsValidOCRenderer(renderer)) { List <MeshRenderer> lodRenderers = new List <MeshRenderer>(); if (IsLodMesh(renderer, lodRenderers)) { foreach (var r in lodRenderers) { if (Util.IsValidOCRenderer(r)) { Util.TryAdd(r, renderers); } } } else { Util.TryAdd(renderer, renderers); } } } if (renderers.Count > 0) { renderableSet.Add(renderers); tag.renderId = curMultiTagID; curMultiTagID++; tag.sceneName = Name; #if UNITY_EDITOR EditorUtility.SetDirty(tag); #endif } }
void checkObjectVisible(GameObject obj, StreamingObject data) { string qualityName = GameSettingUtility.GetQualityName(); var allMaps = SingletonManager.Get <MapsDescription>(); if (allMaps.CurrentLevelType != LevelType.BigMap) { return; } MultiTagBase mul = obj.GetComponentInChildren <MultiTagBase>(); if (mul == null) { return; } if (mul.btags[(int)MultiTagBase.TagEnum.House]) { return; } mul.importantLevel = data.importantLevel; SceneConfig config = allMaps.BigMapParameters; if (config.PreMapName != "004") { return; } int level = 0; //TEST Code /* * int level = 0; * if(qualitDic.Count <= 0) * { * qualitDic.Add("QL_Low", 0); * qualitDic.Add("QL_MediumLow", 1); * qualitDic.Add("QL_Medium", 2); * qualitDic.Add("QL_MediumHigh", 3); * qualitDic.Add("QL_High", 4); * } * * if(!qualitDic.ContainsKey(qualityName)) * { * return; * } * * level = qualitDic[qualityName]; */ if (mul.importantLevel <= level) { obj.SetActive(true); } else { obj.SetActive(false); } }