public static Vehicle Create(GameObject vehicleGameObject, int carId, int[] colors, Vector3 position, Quaternion rotation) { var inst = vehicleGameObject.AddComponent <Vehicle>(); VehicleDef def; if (carId == -1) { def = GetRandomDef(); } else { def = Item.GetDefinition <VehicleDef>(carId); } inst.Initialize(def, colors); inst.transform.position = position - Vector3.up * inst.AverageWheelHeight; inst.transform.localRotation = rotation; OutOfRangeDestroyer destroyer = Utilities.F.GetOrAddComponent <OutOfRangeDestroyer>(inst.gameObject); destroyer.timeUntilDestroyed = 5; destroyer.range = 300; return(inst); }
public static Vehicle Create(int carId, int[] colors, Vector3 position, Quaternion rotation) { var inst = new GameObject().AddComponent <Vehicle>(); VehicleDef def; if (carId == -1) { def = GetRandomDef(); } else { def = Item.GetDefinition <VehicleDef>(carId); } inst.Initialize(def, colors); inst.transform.position = position - Vector3.up * inst.AverageWheelHeight; inst.transform.localRotation = rotation; // Networking.Server.Instance.GlobalGroup.Add(inst); OutOfRangeDestroyer destroyer = inst.gameObject.AddComponent <OutOfRangeDestroyer> (); destroyer.timeUntilDestroyed = 5; destroyer.range = 300; return(inst); }