static void BuildViewLookup() { string getViewName(BlueprintUnit bp) { if (!ResourcesLibrary.LibraryObject.ResourceNamesByAssetId.ContainsKey(bp.Prefab.AssetId)) { return("NULL"); } var path = ResourcesLibrary.LibraryObject.ResourceNamesByAssetId[bp.Prefab.AssetId].Split('/'); return(path[path.Length - 1]); } var units = ResourcesLibrary.GetBlueprints <BlueprintUnit>().OrderBy(getViewName); foreach (var bp in units) { if (bp.Prefab.AssetId == "") { continue; } if (!ResourcesLibrary.LibraryObject.ResourceNamesByAssetId.ContainsKey(bp.Prefab.AssetId)) { continue; } if (m_Units.ContainsKey(bp.Prefab.AssetId)) { continue; } m_Units[bp.Prefab.AssetId] = getViewName(bp); } }
static void BuildEquipmentLookup() { var blueprints = ResourcesLibrary.GetBlueprints <BlueprintItemEquipment>() .Where(bp => bp.EquipmentEntity != null) .OrderBy(bp => bp.EquipmentEntity.name); foreach (var bp in blueprints) { switch (bp.ItemType) { case ItemType.Head: if (m_Helm.ContainsKey(bp.EquipmentEntity.AssetGuid)) { break; } m_Helm[bp.EquipmentEntity.AssetGuid] = bp.EquipmentEntity.name; break; case ItemType.Shoulders: if (m_Cloak.ContainsKey(bp.EquipmentEntity.AssetGuid)) { break; } m_Cloak[bp.EquipmentEntity.AssetGuid] = bp.EquipmentEntity.name; break; case ItemType.Armor: if (m_Armor.ContainsKey(bp.EquipmentEntity.AssetGuid)) { break; } m_Armor[bp.EquipmentEntity.AssetGuid] = bp.EquipmentEntity.name; break; case ItemType.Wrist: if (m_Bracers.ContainsKey(bp.EquipmentEntity.AssetGuid)) { break; } m_Bracers[bp.EquipmentEntity.AssetGuid] = bp.EquipmentEntity.name; break; case ItemType.Gloves: if (m_Gloves.ContainsKey(bp.EquipmentEntity.AssetGuid)) { break; } m_Gloves[bp.EquipmentEntity.AssetGuid] = bp.EquipmentEntity.name; break; case ItemType.Feet: if (m_Boots.ContainsKey(bp.EquipmentEntity.AssetGuid)) { break; } m_Boots[bp.EquipmentEntity.AssetGuid] = bp.EquipmentEntity.name; break; default: break; } } }