static ItemObject CreateItem(EnvironmentObject env, ItemID itemID, MaterialID materialID, IntVector3 p) { var builder = new ItemObjectBuilder(itemID, materialID); var item = builder.Create(env.World); item.MoveToMustSucceed(env, p); return(item); }
public static void AddGem(LivingObject living) { var world = living.World; var materials = Materials.GetMaterials(MaterialCategory.Gem).ToArray(); var material = materials[Helpers.GetRandomInt(materials.Length)].ID; var itemBuilder = new ItemObjectBuilder(ItemID.Gem, material); var item = itemBuilder.Create(world); item.MoveToMustSucceed(living); }
public static FoodGenerator Create(World world) { var builder = new ItemObjectBuilder(ItemID.Contraption, MaterialID.Diamond) { Name = "Food Generator", Color = GameColor.Gold, }; var item = new FoodGenerator(builder); item.Initialize(world); return(item); }
void CreateItems(LivingObject living, int numItems) { var gemMaterials = Materials.GetMaterials(MaterialCategory.Gem).ToArray(); for (int i = 0; i < numItems; ++i) { var material = gemMaterials[m_random.Next(gemMaterials.Length)].ID; var builder = new ItemObjectBuilder(ItemID.Gem, material); var item = builder.Create(living.World); item.MoveTo(living); } }
// Write this object into message-out internal override void Write(BinaryWriter binaryWriter) { base.Write(binaryWriter); // Amount MyMwcLog.IfNetVerbose_AddToLog("Amount: " + Amount); MyMwcMessageOut.WriteFloat(Amount, binaryWriter); // Item's objectbuilder bool isItemsObjectBuilder = ItemObjectBuilder != null; MyMwcMessageOut.WriteBool(isItemsObjectBuilder, binaryWriter); if (isItemsObjectBuilder) { ItemObjectBuilder.Write(binaryWriter); } }
// Read this object from message-in internal override bool Read(BinaryReader binaryReader, EndPoint senderEndPoint, int gameVersion) { if (base.Read(binaryReader, senderEndPoint, gameVersion) == false) { return(NetworkError()); } // Amount float?amount = MyMwcMessageIn.ReadFloat(binaryReader); if (amount == null) { return(NetworkError()); } Amount = amount.Value; MyMwcLog.IfNetVerbose_AddToLog("Amount: " + Amount); // Item's objectbuilder bool?isItemObjectBuilder = MyMwcMessageIn.ReadBoolEx(binaryReader, senderEndPoint); if (isItemObjectBuilder == null) { return(NetworkError()); } if (isItemObjectBuilder.Value) { ItemObjectBuilder = MyMwcObjectBuilder_Base.ReadAndCreateNewObject(binaryReader, senderEndPoint) as MyMwcObjectBuilder_Base; if (ItemObjectBuilder == null) { return(NetworkError()); } if (ItemObjectBuilder.Read(binaryReader, senderEndPoint, gameVersion) == false) { return(NetworkError()); } } else { ItemObjectBuilder = null; } return(true); }
void OnTickStart() { if (this.Environment == null) { return; } if (!this.Environment.GetContents(this.Location).OfType <ItemObject>().Any(o => o.ItemID == Dwarrowdelf.ItemID.Food)) { var builder = new ItemObjectBuilder(ItemID.Food, Dwarrowdelf.MaterialID.Flesh) { Color = GameColor.Green, NutritionalValue = 200, }; var ob = builder.Create(this.World); var ok = ob.MoveTo(this.Container, this.Location); if (!ok) { ob.Destruct(); } } if (!this.Environment.GetContents(this.Location).OfType <ItemObject>().Any(o => o.ItemID == Dwarrowdelf.ItemID.Drink)) { var builder = new ItemObjectBuilder(ItemID.Drink, Dwarrowdelf.MaterialID.Water) { Color = GameColor.Aquamarine, RefreshmentValue = 200, }; var ob = builder.Create(this.World); var ok = ob.MoveTo(this.Container, this.Location); if (!ok) { ob.Destruct(); } } }
FoodGenerator(ItemObjectBuilder builder) : base(builder) { }
LivingObject CreateDwarf(int i) { var builder = new LivingObjectBuilder(LivingID.Dwarf) { Color = (GameColor)m_random.Next(GameColorRGB.NUMCOLORS - 1) + 1, }; switch (i) { case 0: builder.Name = "Doc"; builder.SetSkillLevel(SkillID.Fighting, 100); break; case 1: builder.Name = "Grumpy"; builder.SetSkillLevel(SkillID.Fighting, 100); break; case 2: builder.Name = "Happy"; builder.SetSkillLevel(SkillID.Fighting, 100); break; case 3: builder.Name = "Sleepy"; builder.SetSkillLevel(SkillID.Fighting, 100); break; case 4: builder.Name = "Bashful"; builder.SetSkillLevel(SkillID.Fighting, 100); break; case 5: builder.Name = "Sneezy"; builder.SetSkillLevel(SkillID.Fighting, 100); break; case 6: builder.Name = "Dopey"; builder.SetSkillLevel(SkillID.Fighting, 100); break; } var dwarf = builder.Create(this.World); dwarf.SetAI(new DwarfAI(dwarf)); var gemMaterials = Materials.GetMaterials(MaterialCategory.Gem).ToArray(); var material = gemMaterials[m_random.Next(gemMaterials.Length)].ID; var itemBuilder = new ItemObjectBuilder(ItemID.Gem, material); var item = itemBuilder.Create(this.World); item.MoveTo(dwarf); return(dwarf); }
public override void RemapEntityIds(IMyEntityIdRemapContext remapContext) { base.RemapEntityIds(remapContext); ItemObjectBuilder.RemapEntityIds(remapContext); }