//Mount public bool Mount(string name, string assetName) { if (_mountPartition != null && _mountPartition.Name == name && _mountPartition.AssetName == assetName) { return(false); } if (_mountPartition == null) { _mountPartition = CreatePartitionObject(name, assetName); } else { if (_mountObject != null) { transform.parent = _mountObject.transform.parent; _mountPartition.UnregisterObject(_mountObject); _mountObject = null; _animator = null; } _mountPartition.Name = name; _mountPartition.AssetName = assetName; } _mountPartition.LoadAsset(OnAssetLoaded, gameObject); return(true); }
/// <summary> /// 更新部件 /// </summary> void UpdatePartitions() { Dictionary <string, PartitionObject> .Enumerator enumerator = m_Partitions.GetEnumerator(); //应该是不存在的~因为这个属性不存在 Transform prevTransform = gameObject.transform.Find(PreviewTransformName); if (prevTransform != null) { #if UNITY_EDITOR GameObject.DestroyImmediate(prevTransform.gameObject); #else GameObject.Destroy(prevTransform.gameObject); #endif } while (enumerator.MoveNext()) { PartitionObject partition = enumerator.Current.Value; if (partition != null) { m_ToLoad.Add(partition.AssetName); partition.LoadAsset(OnAssetLoaded, gameObject); } } enumerator.Dispose(); }
public bool LoadEquipment(string name, string assetName) { if (m_Partitions.ContainsKey(name)) { PartitionObject partition1 = m_Partitions[name]; if (partition1.AssetName.Equals(assetName)) { return(false); } } AddPartition(name, assetName); PartitionObject partition = m_Partitions[name]; if (partition == null) { return(false); } partition.AssetName = assetName; m_ToLoad.Add(partition.AssetName); partition.LoadAsset(OnAssetLoaded, gameObject); return(true); }