private static void DoAutoInstance(GameObject instanceSource, GameObject gameObjectTarget, bool replace, bool copyScale, string instanceName) { if (instanceSource == null || gameObjectTarget == null) { return; } Transform transform = gameObjectTarget.transform; GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(instanceSource, transform.position, transform.rotation, transform.parent); Transform transform2 = gameObject.transform; if (copyScale) { transform2.localScale = transform.localScale; } if (replace) { GameObjectAutoInstancer.ReplaceTransform(transform, transform2); } if (!instanceName.NullOrEmpty()) { gameObject.name = instanceName; } }
public void OnEnable() { GameObjectAutoInstancer.DoAutoInstance(this.InstanceSource, this.GameObjectTarget ?? base.gameObject, this.Replace, this.CopyScale, this.InstanceName); }