public GameObject CreatePrefab() { string name = "Bark Skin"; string desc = "Are produced by wooden hatch"; float mass = 1f;//too litle, add more later bool unitMass = false; KAnimFile anim = Assets.GetAnim("bark_skin_kanim"); string initialAnim = "object"; Grid.SceneLayer sceneLayer = Grid.SceneLayer.Front; EntityTemplates.CollisionShape collisionShape = EntityTemplates.CollisionShape.CIRCLE; float width = 0.35f; float height = 0.35f; bool isPickupable = true; List <Tag> additionalTags = new List <Tag> { GameTags.IndustrialIngredient, GameTags.Organics }; GameObject gameObject = EntityTemplates.CreateLooseEntity(ID, name, desc, mass, unitMass, anim, initialAnim, sceneLayer, collisionShape, width, height, isPickupable, 0, SimHashes.Creature, additionalTags); gameObject.AddOrGet <EntitySplitter>(); gameObject.AddOrGet <SimpleMassStatusItem>(); return(gameObject); }
public GameObject CreatePrefab() { string id = "BabyCrabShell"; string name = ITEMS.INDUSTRIAL_PRODUCTS.CRAB_SHELL.NAME; string desc = ITEMS.INDUSTRIAL_PRODUCTS.CRAB_SHELL.DESC; float mass = 5f; bool unitMass = true; KAnimFile anim = Assets.GetAnim("crabshells_small_kanim"); string initialAnim = "object"; Grid.SceneLayer sceneLayer = Grid.SceneLayer.Front; EntityTemplates.CollisionShape collisionShape = EntityTemplates.CollisionShape.RECTANGLE; float width = 0.9f; float height = 0.6f; bool isPickupable = true; List <Tag> list = new List <Tag>(); list.Add(GameTags.IndustrialIngredient); list.Add(GameTags.Organics); list = list; GameObject gameObject = EntityTemplates.CreateLooseEntity(id, name, desc, mass, unitMass, anim, initialAnim, sceneLayer, collisionShape, width, height, isPickupable, 0, SimHashes.Creature, list); gameObject.AddOrGet <EntitySplitter>(); gameObject.AddOrGet <SimpleMassStatusItem>(); EntityTemplates.CreateAndRegisterCompostableFromPrefab(gameObject); return(gameObject); }
public void RegisterEquipment(IEquipmentConfig config) { EquipmentDef equipmentDef = config.CreateEquipmentDef(); string id = equipmentDef.Id; string name = equipmentDef.Name; string recipeDescription = equipmentDef.RecipeDescription; float mass = equipmentDef.Mass; bool unitMass = true; KAnimFile anim = equipmentDef.Anim; string initialAnim = "object"; Grid.SceneLayer sceneLayer = Grid.SceneLayer.Ore; EntityTemplates.CollisionShape collisionShape = equipmentDef.CollisionShape; float width = equipmentDef.width; float height = equipmentDef.height; bool isPickupable = true; SimHashes outputElement = equipmentDef.OutputElement; GameObject gameObject = EntityTemplates.CreateLooseEntity(id, name, recipeDescription, mass, unitMass, anim, initialAnim, sceneLayer, collisionShape, width, height, isPickupable, 0, outputElement, null); Equippable equippable = gameObject.AddComponent <Equippable>(); equippable.def = equipmentDef; Debug.Assert((Object)equippable.def != (Object)null); equippable.slotID = equipmentDef.Slot; Debug.Assert(equippable.slot != null); config.DoPostConfigure(gameObject); Assets.AddPrefab(gameObject.GetComponent <KPrefabID>()); }
public GameObject CreatePrefab() { string id = "ResearchDatabank"; string name = ITEMS.INDUSTRIAL_PRODUCTS.RESEARCH_DATABANK.NAME; string desc = ITEMS.INDUSTRIAL_PRODUCTS.RESEARCH_DATABANK.DESC; float mass = 1f; bool unitMass = true; KAnimFile anim = Assets.GetAnim("floppy_disc_kanim"); string initialAnim = "object"; Grid.SceneLayer sceneLayer = Grid.SceneLayer.Front; EntityTemplates.CollisionShape collisionShape = EntityTemplates.CollisionShape.CIRCLE; float width = 0.35f; float height = 0.35f; bool isPickupable = true; List <Tag> list = new List <Tag>(); list.Add(GameTags.IndustrialIngredient); list.Add(GameTags.Experimental); list = list; GameObject gameObject = EntityTemplates.CreateLooseEntity(id, name, desc, mass, unitMass, anim, initialAnim, sceneLayer, collisionShape, width, height, isPickupable, 0, SimHashes.Creature, list); EntitySplitter entitySplitter = gameObject.AddOrGet <EntitySplitter>(); entitySplitter.maxStackSize = (float)ROCKETRY.DESTINATION_RESEARCH.BASIC; return(gameObject); }
public GameObject CreatePrefab() { string iD = ID; string name = ITEMS.INDUSTRIAL_PRODUCTS.BASIC_FABRIC.NAME; string desc = ITEMS.INDUSTRIAL_PRODUCTS.BASIC_FABRIC.DESC; float mass = 1f; bool unitMass = true; KAnimFile anim = Assets.GetAnim("swampreedwool_kanim"); string initialAnim = "object"; Grid.SceneLayer sceneLayer = Grid.SceneLayer.BuildingBack; EntityTemplates.CollisionShape collisionShape = EntityTemplates.CollisionShape.RECTANGLE; float width = 0.8f; float height = 0.45f; bool isPickupable = true; int sortOrder = SORTORDER.BUILDINGELEMENTS + BasicFabricTuning.SORTORDER; List <Tag> list = new List <Tag>(); list.Add(GameTags.IndustrialIngredient); list.Add(GameTags.BuildingFiber); list = list; GameObject gameObject = EntityTemplates.CreateLooseEntity(iD, name, desc, mass, unitMass, anim, initialAnim, sceneLayer, collisionShape, width, height, isPickupable, sortOrder, SimHashes.Creature, list); gameObject.AddOrGet <EntitySplitter>(); PrefabAttributeModifiers prefabAttributeModifiers = gameObject.AddOrGet <PrefabAttributeModifiers>(); prefabAttributeModifiers.AddAttributeDescriptor(decorModifier); return(gameObject); }
public GameObject CreatePrefab() { string id = ID; string name = "Tooth Fossil";//"Primitive Hatch Fossil"; string desc = "Primitive Hatch Fossil"; float mass = 1f; bool unitMass = false; KAnimFile anim = Assets.GetAnim("bark_skin_kanim"); string initialAnim = "object"; Grid.SceneLayer sceneLayer = Grid.SceneLayer.Front; EntityTemplates.CollisionShape collisionShape = EntityTemplates.CollisionShape.CIRCLE; float width = 0.35f; float height = 0.35f; bool isPickupable = true; List <Tag> additionalTags = new List <Tag> { GameTags.IndustrialIngredient, GameTags.Organics, TagManager.Create("FossilStone") }; GameObject gameObject = EntityTemplates.CreateLooseEntity(id, name, desc, mass, unitMass, anim, initialAnim, sceneLayer, collisionShape, width, height, isPickupable, 0, SimHashes.Creature, additionalTags); gameObject.AddOrGet <EntitySplitter>(); gameObject.AddOrGet <SimpleMassStatusItem>(); var input = new[] { new ComplexRecipe.RecipeElement(HatchConfig.EGG_ID, 1f), new ComplexRecipe.RecipeElement(RawEggConfig.ID, 1f) }; var output = new[] { new ComplexRecipe.RecipeElement(SturdyHatchConfig.EGG_ID, 1f) }; var fabricatorId = Buildings.GeneticSamplerConfig.ID; var recipeId = ComplexRecipeManager.MakeRecipeID(fabricatorId, input, output); var Recipe = new ComplexRecipe(recipeId, input, output) { time = 100f, description = RecipeDescription, nameDisplay = ComplexRecipe.RecipeNameDisplay.Result, fabricators = new List <Tag> { fabricatorId }, sortOrder = 120 }; return(gameObject); }
public GameObject CreatePrefab() { string id = "FarmStationTools"; string name = ITEMS.INDUSTRIAL_PRODUCTS.FARM_STATION_TOOLS.NAME; string desc = ITEMS.INDUSTRIAL_PRODUCTS.FARM_STATION_TOOLS.DESC; float mass = 5f; bool unitMass = true; KAnimFile anim = Assets.GetAnim("kit_planttender_kanim"); string initialAnim = "object"; Grid.SceneLayer sceneLayer = Grid.SceneLayer.Front; EntityTemplates.CollisionShape collisionShape = EntityTemplates.CollisionShape.RECTANGLE; float width = 0.8f; float height = 0.6f; bool isPickupable = true; List <Tag> list = new List <Tag>(); list.Add(GameTags.MiscPickupable); list = list; return(EntityTemplates.CreateLooseEntity(id, name, desc, mass, unitMass, anim, initialAnim, sceneLayer, collisionShape, width, height, isPickupable, 0, SimHashes.Creature, list)); }
public GameObject CreatePrefab() { string id = "GeneShufflerRecharge"; string name = ITEMS.INDUSTRIAL_PRODUCTS.GENE_SHUFFLER_RECHARGE.NAME; string desc = ITEMS.INDUSTRIAL_PRODUCTS.GENE_SHUFFLER_RECHARGE.DESC; float mass = 5f; bool unitMass = true; KAnimFile anim = Assets.GetAnim("vacillator_charge_kanim"); string initialAnim = "object"; Grid.SceneLayer sceneLayer = Grid.SceneLayer.Front; EntityTemplates.CollisionShape collisionShape = EntityTemplates.CollisionShape.RECTANGLE; float width = 0.8f; float height = 0.6f; bool isPickupable = true; List <Tag> list = new List <Tag>(); list.Add(GameTags.IndustrialIngredient); list = list; return(EntityTemplates.CreateLooseEntity(id, name, desc, mass, unitMass, anim, initialAnim, sceneLayer, collisionShape, width, height, isPickupable, 0, SimHashes.Creature, list)); }
public GameObject CreatePrefab() { string id = "GasGrassHarvested"; string name = CREATURES.SPECIES.GASGRASS.NAME; string desc = CREATURES.SPECIES.GASGRASS.DESC; float mass = 1f; bool unitMass = false; KAnimFile anim = Assets.GetAnim("harvested_gassygrass_kanim"); string initialAnim = "object"; Grid.SceneLayer sceneLayer = Grid.SceneLayer.Front; EntityTemplates.CollisionShape collisionShape = EntityTemplates.CollisionShape.CIRCLE; float width = 0.25f; float height = 0.25f; bool isPickupable = true; List <Tag> list = new List <Tag>(); list.Add(GameTags.Other); list = list; GameObject gameObject = EntityTemplates.CreateLooseEntity(id, name, desc, mass, unitMass, anim, initialAnim, sceneLayer, collisionShape, width, height, isPickupable, 0, SimHashes.Creature, list); gameObject.AddOrGet <EntitySplitter>(); return(gameObject); }
public static EquipmentDef CreateEquipmentDef(string Id, string Slot, SimHashes OutputElement, float Mass, string Anim, string SnapOn, string BuildOverride, int BuildOverridePriority, List <AttributeModifier> AttributeModifiers, string SnapOn1 = null, bool IsBody = false, EntityTemplates.CollisionShape CollisionShape = EntityTemplates.CollisionShape.CIRCLE, float width = 0.325f, float height = 0.325f, Tag[] additional_tags = null, string RecipeTechUnlock = null) { EquipmentDef equipmentDef = ScriptableObject.CreateInstance <EquipmentDef>(); equipmentDef.Id = Id; equipmentDef.Slot = Slot; equipmentDef.RecipeTechUnlock = RecipeTechUnlock; equipmentDef.OutputElement = OutputElement; equipmentDef.Mass = Mass; equipmentDef.Anim = Assets.GetAnim(Anim); equipmentDef.SnapOn = SnapOn; equipmentDef.SnapOn1 = SnapOn1; equipmentDef.BuildOverride = ((BuildOverride == null || BuildOverride.Length <= 0) ? null : Assets.GetAnim(BuildOverride)); equipmentDef.BuildOverridePriority = BuildOverridePriority; equipmentDef.IsBody = IsBody; equipmentDef.AttributeModifiers = AttributeModifiers; equipmentDef.CollisionShape = CollisionShape; equipmentDef.width = width; equipmentDef.height = height; equipmentDef.AdditionalTags = additional_tags; return(equipmentDef); }