protected T GetModel <T>(SerializableDictionaryBase <string, T> listModel, string assetBundlePath, string name, string remarkResourcesPath) where T : UnityEngine.Object { if (name == null) { return(null); } if (listModel.TryGetValue(name, out T value)) { return(value); } T model = null; #if UNITY_EDITOR //编辑器模式下直接加载资源 if (!remarkResourcesPath.IsNull()) { model = LoadAssetUtil.LoadAssetAtPathForEditor <T>(remarkResourcesPath); } else { model = LoadAssetUtil.SyncLoadAsset <T>(assetBundlePath, name); } #else model = LoadAssetUtil.SyncLoadAsset <T>(assetBundlePath, name); #endif if (model != null) { listModel.Add(name, model); } return(model); }
public ToolData() { Map = new SerializableDictionaryBase <Tool, SingleToolData>(); foreach (var type in Utility.GetEnumValues <Tool>()) { Map[type] = new SingleToolData(); } }
public RefineTask(SerializableDictionaryBase <Resource, float> affinities, float gangue_affinity, float maximum_concentration, float optimal_distance, float half_distance) : base(optimal_distance, half_distance) { foreach (Resource resource in affinities.Keys) { Affinities[resource] = affinities[resource]; } GangueAffinity = gangue_affinity; MaximumConcentration = maximum_concentration; }
protected T GetModel <T>(SerializableDictionaryBase <string, T> listModel, string assetBundlePath, string name) where T : Object { if (name == null) { return(null); } if (listModel.TryGetValue(name, out T value)) { return(value); } T anim = LoadAssetUtil.SyncLoadAsset <T>(assetBundlePath, name); if (anim != null) { listModel.Add(name, anim); } return(anim); }
public static IEnumerable <V> Select <T, U, V>( this SerializableDictionaryBase <T, U> dictionary, Func <T, U, V> Selector) { return(dictionary.Select(pair => Selector(pair.Key, pair.Value))); }
protected T GetModel <T>(SerializableDictionaryBase <string, T> listModel, string assetBundlePath, string name) where T : UnityEngine.Object { return(GetModel <T>(listModel, assetBundlePath, name, null)); }