public XEntity PlaceObjectAt(XVector2 pos) { string prefabName = "E" + ObjectName.Replace(" ", ""); Type prefab = Type.GetType("RTS4.Environment.Entities.Prefabs." + prefabName); if (prefab == null) { Console.WriteLine("Unable to find prefab \"" + prefabName + "\""); return(null); } XEntity entity = prefab.GetConstructor(new Type[] { }) .Invoke(new object[] { }) as XEntity; var transform = entity.GetComponent <CTransform>(); if (transform != null) { transform.Transform = XMatrix.CreateTranslation(new XVector3(pos.X, 0, pos.Y)); } if (PlacedObjects == null) { PlacedObjects = new List <XEntity>(); } PlacedObjects.Add(entity); return(entity); }