/// <summary> /// Merge a <see cref="BasicDevice"/> and <see cref="TwoPieceDevice"/> to a <see cref="ThreePieceDevice"/> /// </summary> /// <returns>null if failed</returns> public GameObject MergeBasicAndTwoPiece(BasicDevice basic, TwoPieceDevice twoPiece) { List <DeviceInfo> infos = new List <DeviceInfo>(); infos.Add(basic.DeviceInfo); infos.AddRange(twoPiece.DeviceInfos); return(InstantiateThreePieceDevice(infos.ToArray())); }
private GameObject InstantiateTwoPieceDevice(params DeviceInfo[] infos) { GameObject go = Instantiate(PrefabHolder.Instance.devices.twoPieceDevice); TwoPieceDevice device = go.GetComponent <TwoPieceDevice>(); device.DeviceId = string.Join("__", infos.Select(info => info.Uid)); device.SetDeviceInfos(infos); ActivateGameObjectIfNeeded(go); Debug.LogFormat("Spawned TwoPieceDevice with uid '{0}'", device.DeviceId); return(go); }