/// <exception cref="System.Exception"></exception> protected override void Store() { var childItem = new ObjectItem (null, "child"); var parentItem = new ObjectItem (childItem, "parent"); Store(parentItem); Store(new StringItem(null)); Store(new StringItem(null)); Store(new StringItem("one")); Store(new StringItem("two")); }
public override void Deserialize(IDataReader reader) { base.Deserialize(reader); var objectsCount = reader.ReadUShort(); Objects = new List <ObjectItem>(); for (var objectsIndex = 0; objectsIndex < objectsCount; objectsIndex++) { var objectToAdd = new ObjectItem(); objectToAdd.Deserialize(reader); Objects.Add(objectToAdd); } }
public ObjectItemTypeDefinationModel(ObjectItem source) { Source = source; Name = Source.Name; Icon = Source.Image; FolderChildren = new List <ObjectItemTypeDefinationModel>(); foreach (ObjectItem child in source.Children) { FolderChildren.Add(new ObjectItemTypeDefinationModel(child)); } }
public void AssociateApparat(WorldClient client, Inventory inventory, ObjectItem apparatItem, ObjectItem item) { //delete l'apparat et ajouter l'effect a l'item TODO item.effects.Add(new ObjectEffectInteger(1176, apparatItem.objectGID)); client.SendPacket(new ObjectDeletedMessage(item.objectUID)); client.SendPacket(new ObjectAddedMessage(item, 0)); //delete de l'apparat client.SendPacket(new ObjectDeletedMessage(apparatItem.objectUID)); inventory.ObjectItems.Remove(apparatItem); this.Update(inventory); }
public override void Deserialize(ICustomDataInput reader) { base.Deserialize(reader); var countObjects = reader.ReadShort(); Objects = new List <ObjectItem>(); for (short i = 0; i < countObjects; i++) { ObjectItem type = new ObjectItem(); type.Deserialize(reader); Objects.Add(type); } }
private void SaveAICConfig() { if (this.TexVDU.Text != string.Empty) { CurrentConfigObj.ListProperties.Find(p => p.PropertyID == 21).Value = this.TexVDU.Text; } if (this.TexADU.Text != string.Empty) { CurrentConfigObj.ListProperties.Find(p => p.PropertyID == 22).Value = this.TexADU.Text; } if (this.TexFileName.Text != string.Empty) { CurrentConfigObj.ListProperties.Find(p => p.PropertyID == 24).Value = this.TexFileName.Text; } if (this.RadBADUYes.IsChecked == true) { CurrentConfigObj.ListProperties.Find(p => p.PropertyID == 23).Value = "1"; } else { CurrentConfigObj.ListProperties.Find(p => p.PropertyID == 23).Value = "0"; } CurrentConfigObj.GetBasicPropertyValues(); mListCtiConfigObjs.Add(CurrentConfigObj); ObjectItem ObjItem243 = new ObjectItem(); ObjectItem ObjItem242 = new ObjectItem(); ObjectItem ObjItem241 = new ObjectItem(); if (mListCtiConfigObjs.Count == 3) { for (int i = 0; i < 3; i++) { WizardHelper.ListAllConfigObjects.Add(mListCtiConfigObjs[i]); switch (i) { case 0: ObjItem243 = MainPage.CreateNewObjectItem(CtiObjItem, mListCtiConfigObjs[i], false); MainPage.RefreshConfigObjectItem(ObjItem243); break; case 1: ObjItem242 = MainPage.CreateNewObjectItem(ObjItem243, mListCtiConfigObjs[i], false); MainPage.RefreshConfigObjectItem(ObjItem242); break; case 2: ObjItem241 = MainPage.CreateNewObjectItem(ObjItem242, mListCtiConfigObjs[i], false); MainPage.RefreshConfigObjectItem(ObjItem241); break; } } } }
//导入统计配置参数大项,从T_31_050 private void InitStatisticalParam() { try { mListStatisticalParam.Clear(); WebRequest webRequest = new WebRequest(); webRequest.Code = (int)S3108Codes.GetStatisticalParam; webRequest.Session = CurrentApp.Session; Service31081Client client = new Service31081Client(WebHelper.CreateBasicHttpBinding(CurrentApp.Session), WebHelper.CreateEndpointAddress(CurrentApp.Session.AppServerInfo, "Service31081")); WebReturn webReturn = client.DoOperation(webRequest); client.Close(); if (!webReturn.Result) { ShowException(string.Format("InitStatisticalParam:Fail.\t{0}\t{1}", webReturn.Code, webReturn.Message)); return; } for (int i = 0; i < webReturn.ListData.Count; i++) { OperationReturn optReturn = XMLHelper.DeserializeObject <StatisticalParam>(webReturn.ListData[i]); if (!optReturn.Result) { ShowException(string.Format("Fail.\t{0}\t{1}", optReturn.Code, optReturn.Message)); return; } StatisticalParam SPInfo = optReturn.Data as StatisticalParam; string code = (SPInfo.StatisticalParamID - 3110000000000000000).ToString(); //mListObjectItems.FirstOrDefault(s => s.ObjType == 3 && s.ObjParentID == "102" && s.ObjID == "10200" + code); ObjectItem objItem = new ObjectItem(); objItem.ObjID = string.Format("10200{0}", code); objItem.ObjParentID = "102"; objItem.ObjType = 3; objItem.ItemID = string.Format("3108010200{0}", code); //if (objItem == null) { return; } objItem.Data = SPInfo; //objItem.Name = SPInfo.StatisticalParamName; //objItem.Description = SPInfo.StatisticalParamName; objItem.Name = CurrentApp.GetLanguageInfo(string.Format("FO{0}", objItem.ItemID), SPInfo.StatisticalParamName); objItem.Description = CurrentApp.GetLanguageInfo(string.Format("3108D{0}", objItem.ItemID), SPInfo.StatisticalParamName); mListObjectItems.Add(objItem); if (SPInfo != null) { mListStatisticalParam.Add(SPInfo); } } } catch (Exception ex) { ShowException(ex.Message); } }
/// <summary> /// 设置 /// </summary> /// <param name="item"></param> private static ObjectItem Set(ObjectItem item) { if (ins.setParent) { item.transform.SetParent(container); } if (ins.setDisable) { item.gameObject.SetActive(false); } return(item); }
/// <summary> /// 重置 /// </summary> /// <param name="o"></param> private static ObjectItem Reset(ObjectItem item) { if (ins.resetParent) { item.transform.SetParent(item.parent); } if (ins.resetEnable) { item.gameObject.SetActive(true); } return(item); }
public override void Deserialize(IDataReader reader) { int objectsCount = reader.ReadUShort(); int objectsIndex; m_objects = new System.Collections.Generic.List <ObjectItem>(); for (objectsIndex = 0; (objectsIndex < objectsCount); objectsIndex = (objectsIndex + 1)) { ObjectItem objectToAdd = new ObjectItem(); objectToAdd.Deserialize(reader); m_objects.Add(objectToAdd); } m_kamas = reader.ReadVarUhLong(); }
private void InitVoiceIP_Name(ObjectItem parentItem, string parentID) { try { WebRequest webRequest = new WebRequest(); webRequest.Session = CurrentApp.Session; webRequest.Code = (int)WebCodes.GetVoiceIP_Name201; webRequest.ListData.Add(CurrentApp.Session.UserID.ToString()); webRequest.ListData.Add("-1"); Service61012Client client = new Service61012Client( WebHelper.CreateBasicHttpBinding(CurrentApp.Session), WebHelper.CreateEndpointAddress( CurrentApp.Session.AppServerInfo, "Service61012")); //Service61012Client client = new Service61012Client(); WebHelper.SetServiceClient(client); WebReturn webReturn = client.UMPReportOperation(webRequest); client.Close(); if (!webReturn.Result) { ShowException(string.Format("Fail.\t{0}\t{1}", webReturn.Code, webReturn.Message)); return; } for (int i = 0; i < webReturn.ListData.Count; i++) { string strInfo = webReturn.ListData[i]; string[] arrInfo = strInfo.Split(new[] { ConstValue.SPLITER_CHAR }, StringSplitOptions.RemoveEmptyEntries); if (arrInfo.Length < 1) { continue; } //string strVoiceName = arrInfo[0]; string strVoiceIP = arrInfo[0]; ObjectItem item = new ObjectItem(); item.ObjType = ConstValue.RESOURCE_OPERATIONLOG_UMP; //item.Name = strVoiceName; item.FullName = strVoiceIP; item.Data = strInfo; item.DisplayContent = string.Format("({0})", strVoiceIP); item.Icon = "Images/computer.ico"; AddChildObject(parentItem, item); } } catch (Exception ex) { ShowException(ex.Message); } }
private void LoadSkillGroup(ObjectItem mRootItemSG) { foreach (DataRow drOrg in S1103App.IDataTable11009.Rows) { ObjectItem item = new ObjectItem(); item.Icon = "Images/skillgroup.png"; item.ObjType = 906; item.ObjID = Convert.ToInt64(drOrg["C001"].ToString()); item.Name = string.Format("{0}({1})", S1103App.DecryptString(drOrg["C006"].ToString()), drOrg["C008"].ToString()); item.IsChecked = false; Dispatcher.Invoke(new Action(() => mRootItemSG.AddChild(item))); //mListObjectItem.Add(item); } }
public ObjectitemToDragToTree(ObjectItem source) { Source = source; ToDragTreeName = Source.Name; ToDragTreeIcon = Source.Image; ObjectKind = source.Kind; ToDragTreeChildren = new List <ObjectitemToDragToTree>(); foreach (ObjectItem child in source.Children) { ToDragTreeChildren.Add(new ObjectitemToDragToTree(child)); } }
private void TvOrg_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e) { //每次加载时 这个都先置为空 mCurrentKpiMapObjectInfoItem = null; ObjectItem item = TvOrg.SelectedItem as ObjectItem; if (item != null) { mCurrentObjectItem = item; //需要加载选中的对象的列 LbCurrentObject.Text = mCurrentObjectItem.Name; LoadKpiMapObjectInfo(); } }
public override void Deserialize(ICustomDataInput reader) { base.Deserialize(reader); int objectCount = reader.ReadUShort(); int objectIndex; m_object = new System.Collections.Generic.List <ObjectItem>(); for (objectIndex = 0; (objectIndex < objectCount); objectIndex = (objectIndex + 1)) { ObjectItem objectToAdd = new ObjectItem(); objectToAdd.Deserialize(reader); m_object.Add(objectToAdd); } }
public void Init() { account.Running.OnGetting = true; List <int> foodIndex = Foods.GetFoods(account.petsList[account.Running.CurrentPetIndex].Informations.GID); ObjectItem objectItem = null; foreach (ObjectItem item1 in account.SafeItems) { if (foodIndex.Contains(item1.ObjectGID)) { objectItem = item1; } } if (objectItem == null) { account.Running.NoFood(); return; } int abbleWeight = account.Pods.WeightMax - account.Pods.Weight - 1; //return; DataClass item = GameData.GetDataObject(D2oFileEnum.Items, objectItem.ObjectGID); int objectWeight = (int)item.Fields["realWeight"]; int quantity = abbleWeight / objectWeight; if (objectItem.Quantity < quantity) { quantity = objectItem.Quantity; } ExchangeObjectMoveMessage exchangeObjectMoveMessage = new ExchangeObjectMoveMessage(objectItem.ObjectUID, -quantity); using (BigEndianWriter writer = new BigEndianWriter()) { exchangeObjectMoveMessage.Serialize(writer); MessagePackaging messagePackaging = new MessagePackaging(writer); messagePackaging.Pack((int)exchangeObjectMoveMessage.ProtocolID); account.SocketManager.Send(messagePackaging.Writer.Content); account.LastPacketID.Clear(); } }
private bool IsRealese() { List <Collider> triggers = ObjectItem.GetTriggers(); if (triggers != null && triggers.Count > 0) { foreach (Collider item in triggers) { if (item.gameObject.GetComponent <Hi5_Glove_Collider_Finger>() != null && item.gameObject.GetComponent <Hi5_Glove_Collider_Finger>().mFinger != null && item.gameObject.GetComponent <Hi5_Glove_Collider_Finger>().mFinger.mHand != null) { if (handType == Hi5_Object_Clap_Type.ELeft) { if (item.gameObject.GetComponent <Hi5_Glove_Collider_Finger>().mFinger.mHand.m_IsLeftHand) { return(false); } } else if (handType == Hi5_Object_Clap_Type.ERight) { if (!item.gameObject.GetComponent <Hi5_Glove_Collider_Finger>().mFinger.mHand.m_IsLeftHand) { return(false); } } } else if (item.gameObject.GetComponent <Hi5_Glove_Collider_Palm>() != null && item.gameObject.GetComponent <Hi5_Glove_Collider_Palm>().mHand != null) { if (handType == Hi5_Object_Clap_Type.ELeft) { if (item.gameObject.GetComponent <Hi5_Glove_Collider_Palm>().mHand.m_IsLeftHand) { return(false); } } else if (handType == Hi5_Object_Clap_Type.ERight) { if (!item.gameObject.GetComponent <Hi5_Glove_Collider_Palm>().mHand.m_IsLeftHand) { return(false); } } } } } return(true); }
private void LoadTree(ObjectItem Item, string parent, int flag) { flag++; List <ObjectItem> temp = (from item in mListObjectItems where item.ObjType == flag && item.ObjParentID == parent orderby item.ObjID select item).ToList <ObjectItem>(); for (int i = 0; i < temp.Count; i++) { ObjectItem item = temp[i]; AddChildObjectItem(Item, item); LoadTree(item, item.ObjID, flag); } }
public UCWizardDownloadParameters() { InitializeComponent(); CurrentConfigObject = new ConfigObject(); DownloadObjectItem = new ObjectItem(); mListDownConfigObjs = new List <ConfigObject>(); //DownLoadNumber = 1; mListDownWayItems = new ObservableCollection <PropertyValueEnumItem>(); mListVoiceServiceItems = new ObservableCollection <PropertyValueEnumItem>(); this.CombVoice.ItemsSource = mListVoiceServiceItems; this.CombDownWay.ItemsSource = mListDownWayItems; this.Loaded += UCWizardDownloadParameters_Loaded; this.ButnNext.Click += ButnNext_Click; this.ButnPrevious.Click += ButnPrevious_Click; }
void BtnConfirm_Click(object sender, RoutedEventArgs e) { mSelectedItem = TreeViewPathList.SelectedItem as ObjectItem; PathListerEventEventArgs args = new PathListerEventEventArgs(); args.Code = 1; args.Data = mSelectedItem; OnPathListerEvent(args); var parent = Parent as PopupPanel; if (parent != null) { parent.IsOpen = false; } }
private Asset MapObjectItem(ObjectItem objectItem) { if (objectItem == null) { throw new ArgumentNullException(nameof(objectItem)); } return(new Asset { Id = objectItem.Id, ObjectId = objectItem.ExternalId, Name = objectItem.Name, CurrentStatusCode = objectItem.CurrentStatusCode }); }
public UCWizardCTIConfig() { InitializeComponent(); CTICount = 0; CTIObjItem = new ObjectItem(); CTIConfigObject = new ConfigObject(); mListCTIConfigObjs = new List <ConfigObject>(); mListCTITypeItems = new ObservableCollection <PropertyValueEnumItem>(); this.Loaded += UCWizardCTIConfig_Loaded; this.ButnPrevious.Click += ButnPrevious_Click; this.ButnNext.Click += ButnNext_Click; this.ButnBack.Click += ButnBack_Click; this.ComCTIType.ItemsSource = mListCTITypeItems; }
public override void Deserialize(ICustomDataInput reader) { m_collectorId = reader.ReadInt(); int objectsInfosCount = reader.ReadUShort(); int objectsInfosIndex; m_objectsInfos = new System.Collections.Generic.List <ObjectItem>(); for (objectsInfosIndex = 0; (objectsInfosIndex < objectsInfosCount); objectsInfosIndex = (objectsInfosIndex + 1)) { ObjectItem objectToAdd = new ObjectItem(); objectToAdd.Deserialize(reader); m_objectsInfos.Add(objectToAdd); } m_goldInfo = reader.ReadVarUhInt(); }
private void SaveGenesysConfig() { if (this.IPTexCTI.GetIP() != string.Empty && this.IPTexCTI.GetIP() != "...") { CurrentConfigObj.ListProperties.Find(p => p.PropertyID == 11).Value = this.IPTexCTI.GetIP(); } if (this.TexPort.Text != string.Empty) { CurrentConfigObj.ListProperties.Find(p => p.PropertyID == 12).Value = this.TexPort.Text; } if (this.TexLogName.Text != string.Empty) { CurrentConfigObj.ListProperties.Find(p => p.PropertyID == 911).Value = this.TexLogName.Text; } if (this.TexLogPassw.Password != string.Empty) { CurrentConfigObj.ListProperties.Find(p => p.PropertyID == 912).Value = this.TexLogPassw.Password; } CurrentConfigObj.GetBasicPropertyValues(); mListCtiConfigObjs.Add(CurrentConfigObj); ObjectItem ObjItem243 = new ObjectItem(); ObjectItem ObjItem242 = new ObjectItem(); ObjectItem ObjItem241 = new ObjectItem(); if (mListCtiConfigObjs.Count == 3) { for (int i = 0; i < 3; i++) { WizardHelper.ListAllConfigObjects.Add(mListCtiConfigObjs[i]); switch (i) { case 0: ObjItem243 = MainPage.CreateNewObjectItem(CtiObjItem, mListCtiConfigObjs[i], false); MainPage.RefreshConfigObjectItem(ObjItem243); break; case 1: ObjItem242 = MainPage.CreateNewObjectItem(ObjItem243, mListCtiConfigObjs[i], false); MainPage.RefreshConfigObjectItem(ObjItem242); break; case 2: ObjItem241 = MainPage.CreateNewObjectItem(ObjItem242, mListCtiConfigObjs[i], false); MainPage.RefreshConfigObjectItem(ObjItem241); break; } } } }
public uint GetItemApparatSkinId(ObjectItem item) { uint skin = 0; ObjectEffectInteger effect = (ObjectEffectInteger)item.effects.Find(x => x.actionId == 1176); if (effect != null) { var template = ItemRepository.Instance.GetItemDataById((int)effect.value); if (template != null) { skin = template.appearanceId; } } return(skin); }
public override void Deserialize(IDataReader reader) { uint num = (uint)reader.ReadUShort(); for (int index = 0; (long)index < (long)num; ++index) { ObjectItem objectItem = new ObjectItem(); objectItem.Deserialize(reader); this.objects.Add(objectItem); } this.kamas = (double)reader.ReadVarUhLong(); if (this.kamas < 0.0 || this.kamas > 9.00719925474099E+15) { throw new Exception("Forbidden value (" + (object)this.kamas + ") on element of ExchangeStartedTaxCollectorShopMessage.kamas."); } }
public override void Serialize(IDataWriter writer) { base.Serialize(writer); writer.WriteShort(((short)(m_modulesObjects.Count))); int modulesObjectsIndex; for (modulesObjectsIndex = 0; (modulesObjectsIndex < m_modulesObjects.Count); modulesObjectsIndex = (modulesObjectsIndex + 1)) { ObjectItem objectToSend = m_modulesObjects[modulesObjectsIndex]; objectToSend.Serialize(writer); } writer.WriteInt(m_lastTimeSlotModificationDate); writer.WriteVarUhInt(m_lastTimeSlotModificationAuthorGuildId); writer.WriteVarUhLong(m_lastTimeSlotModificationAuthorId); writer.WriteUTF(m_lastTimeSlotModificationAuthorName); }
public UC_PMParameterBindingPage() { InitializeComponent(); mRootItem_Org = new ObjectItem(); mRootItem_Skill = new ObjectItem(); mListObjcetKPIDetailColumns = new ObservableCollection <ViewColumnInfo>(); mlistKpiMapObjectInfo = new List <KpiMapObjectInfo>(); mListKpiMapObjectInfoItem = new ObservableCollection <KpiMapObjectInfoItem>(); mListAllObjects = new ObservableCollection <ObjectItem>(); Loaded += UC_PMParameterBindingPageLoaded; TvOrg.SelectedItemChanged += TvOrg_SelectedItemChanged; TvSkillGroup.SelectedItemChanged += TvSkillGroup_SelectedItemChanged; LvRecordScoreDetail.SelectionChanged += LvRecordScoreDetail_SelectionChanged; }
public List <ObjectItem> GetStackItemsFromItem(Inventory inventory, ObjectItem item) { List <ObjectItem> resultStack = new List <ObjectItem>(); var possibleItems = inventory.ObjectItems.FindAll(x => x.objectGID == item.objectGID && x.objectUID != item.objectUID && x.effects.Count == item.effects.Count); foreach (var possibleItem in possibleItems) { if (possibleItem.effects.Count == this.GetSameEffectCount(possibleItem, item)) { resultStack.Add(possibleItem); } } return(resultStack); //return inventory.ObjectItems.FindAll(x => x.objectGID == item.objectGID && x.objectUID != item.objectUID && x.effects.Count == item.effects.Count); }
public static IActionResult Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req, ILogger log) { var str = Environment.GetEnvironmentVariable("sqldb_connection"); log.LogInformation("C# HTTP trigger function processed a request."); var obj = new ObjectItem { Description = "This is a desc", Title = "Test Title", }; return(new OkObjectResult(obj)); }
public override void Deserialize(IDataReader reader) { var limit = reader.ReadUShort(); objects = new ObjectItem[limit]; for (int i = 0; i < limit; i++) { objects[i] = new ObjectItem(); objects[i].Deserialize(reader); } kamas = reader.ReadInt(); if (kamas < 0) { throw new Exception("Forbidden value on kamas = " + kamas + ", it doesn't respect the following condition : kamas < 0"); } }
public void PerformCraft(RecipeRecord currentRecipe) { var obj = new ObjectItem((byte)CharacterInventoryPositionEnum.INVENTORY_POSITION_NOT_EQUIPED, currentRecipe.ResultId, ItemRecord.GetItem(currentRecipe.ResultId).GenerateRandomEffect(), CharacterItemRecord.PopNextUID(), 1); Client.Character.Inventory.Add(new CharacterItemRecord(obj, Client.Character.Id)); Client.Send(new ExchangeCraftResultWithObjectDescMessage(2, new ObjectItemNotInContainer(currentRecipe.ResultId, obj.effects, obj.objectUID, 1))); Client.Character.AddJobXp(JobId, (ulong)(currentRecipe.ResultLevel * XpRatio)); }
public void OnGUI() { GUILayout.BeginVertical(); { EditorGUILayout.HelpBox("探测当前打开的场景中的资源", MessageType.Info, true); GUILayout.BeginHorizontal(); { if (GUILayout.Button("Refresh")) { SearchAssetsItems(); } bool isShader = GUILayout.Toggle(flag == FLAG.SHADER, "Shader", EditorStyles.radioButton); if (isShader && flag != FLAG.SHADER) { flag = FLAG.SHADER; SearchAssetsItems(); } bool isTexture = GUILayout.Toggle(flag == FLAG.TEXTURE, "Texture", EditorStyles.radioButton); if (isTexture && flag != FLAG.TEXTURE) { flag = FLAG.TEXTURE; SearchAssetsItems(); } bool isMesh = GUILayout.Toggle(flag == FLAG.MESH, "Mesh", EditorStyles.radioButton); if (isMesh && flag != FLAG.MESH) { flag = FLAG.MESH; SearchAssetsItems(); } } GUILayout.EndHorizontal(); GUILayout.Button( flag == FLAG.SHADER ? "Shader" : flag == FLAG.TEXTURE ? "Texture" : "Mesh", EditorStyles.toolbarPopup ); scroll = EditorGUILayout.BeginScrollView(scroll); { foreach (var kv in items) { if (expandedItem == kv.Value) { GUI.contentColor = Color.green; } else { GUI.contentColor = Color.white; } if (GUILayout.Button((kv.Value.tips == null ? kv.Value.obj.name : kv.Value.obj.name + kv.Value.tips) + " " + "(" + kv.Value.objects.Count + ")", EditorStyles.toolbarDropDown)) { if (expandedItem == kv.Value) { expandedItem = null; } else { expandedItem = kv.Value; } } GUI.contentColor = Color.white; if (expandedItem == kv.Value) { foreach (var obj in kv.Value.objects) { if (GUILayout.Button(obj.ToString(), EditorStyles.miniButton)) { Selection.activeGameObject = obj as GameObject; } } } } } EditorGUILayout.EndScrollView(); } GUILayout.EndVertical(); }
public ObjectItem(ObjectItem child, string name) { _child = child; _name = name; }
private void SearchAssetsItems() { expandedItem = null; items.Clear(); Renderer[] renderers = Object.FindObjectsOfType<Renderer>(); foreach (var renderer in renderers) { Material material = renderer.sharedMaterial; if (material == null) { continue; } ObjectItem shaderItem = null; Shader shader = material.shader; if (shader == null) { continue; } if (flag == FLAG.SHADER) { if (!items.TryGetValue(shader, out shaderItem)) { shaderItem = new ObjectItem(); shaderItem.obj = shader; items.Add(shader, shaderItem); } shaderItem.objects.Add(renderer.gameObject); } else if(flag == FLAG.TEXTURE) { int shaderPropertyCount = ShaderUtil.GetPropertyCount(shader); for (int shaderPropertyIndex = 0; shaderPropertyIndex < shaderPropertyCount; ++shaderPropertyIndex) { if (ShaderUtil.GetPropertyType(shader, shaderPropertyIndex) == ShaderUtil.ShaderPropertyType.TexEnv) { string propertyName = ShaderUtil.GetPropertyName(shader, shaderPropertyIndex); Texture texture = material.GetTexture(propertyName); if (texture != null) { if (!items.TryGetValue(texture, out shaderItem)) { shaderItem = new ObjectItem(); shaderItem.obj = texture; shaderItem.tips = " " + texture.width + "x" + texture.height; if (texture is Texture2D) { shaderItem.tips += " " + ((Texture2D)texture).format; } items.Add(texture, shaderItem); } shaderItem.objects.Add(renderer.gameObject); } } } } else if (flag == FLAG.MESH) { Mesh mesh = null; MeshFilter meshFilter = renderer.gameObject.GetComponent<MeshFilter>(); if (meshFilter == null) { if (renderer is SkinnedMeshRenderer) { mesh = ((SkinnedMeshRenderer)renderer).sharedMesh; } } else { mesh = meshFilter.sharedMesh; } if (mesh != null) { if (!items.TryGetValue(mesh, out shaderItem)) { shaderItem = new ObjectItem(); shaderItem.obj = mesh; shaderItem.tips = " " + "verts:" + mesh.vertexCount + " " + "tris:" + (mesh.triangles == null ? 0 : mesh.triangles.Length / 3); items.Add(mesh, shaderItem); } shaderItem.objects.Add(renderer.gameObject); } } } }