public IEnumerable <SerializedGameObject> GetObjectsByComponent(SerializedMonoScript script) { foreach (var assetFile in AllAssetFiles()) { foreach (var gameObject in assetFile.GetObjectsByComponent(script)) { yield return(gameObject); } } }
public ISerializedItem ReadMonoScriptChild(SerializedMonoScript script) { // TODO Add namespace var key = '.' + script.ClassName; if (!_scriptTypeMap.ContainsKey(key)) { return(null); } var child = (ISerializedItem)Activator.CreateInstance(_scriptTypeMap[key]); child.DeserializeAsset(this, _stream); return(child); }
public IEnumerable <SerializedGameObject> GetObjectsByComponent(SerializedMonoScript script) { if (!TypesByPropHash.TryGetValue(script.PropertiesHash.ToByteArray(), out var types)) { yield break; } if (types.Count == 1) { foreach (var obj in GetObjectsByType <SerializedMonoBehaviour>(types[0])) { yield return((SerializedGameObject)obj.GameObject.LoadValue()); } } else if (types.Count > 1) { throw new NotImplementedException(); } }
public SerializedGameObject GetObjectByComponent(SerializedMonoScript script) { return(GetObjectsByComponent(script).FirstOrDefault()); }