Beispiel #1
0
        protected override void Init(MyObjectBuilder_DefinitionBase builder)
        {
            base.Init(builder);
            MyObjectBuilder_PhysicalMaterialDefinition definition = builder as MyObjectBuilder_PhysicalMaterialDefinition;

            if (definition != null)
            {
                this.Density = definition.Density;
                this.HorisontalTransmissionMultiplier = definition.HorisontalTransmissionMultiplier;
                this.HorisontalFragility = definition.HorisontalFragility;
                this.SupportMultiplier   = definition.SupportMultiplier;
                this.CollisionMultiplier = definition.CollisionMultiplier;
            }
            MyObjectBuilder_MaterialPropertiesDefinition definition2 = builder as MyObjectBuilder_MaterialPropertiesDefinition;

            if (definition2 != null)
            {
                this.InheritFrom = MyStringHash.GetOrCompute(definition2.InheritFrom);
                foreach (MyObjectBuilder_MaterialPropertiesDefinition.ContactProperty property in definition2.ContactProperties)
                {
                    MyStringId orCompute = MyStringId.GetOrCompute(property.Type);
                    if (!this.CollisionProperties.ContainsKey(orCompute))
                    {
                        this.CollisionProperties[orCompute] = new Dictionary <MyStringHash, CollisionProperty>(MyStringHash.Comparer);
                    }
                    MyStringHash hash = MyStringHash.GetOrCompute(property.Material);
                    this.CollisionProperties[orCompute][hash] = new CollisionProperty(property.SoundCue, property.ParticleEffect, property.AlternativeImpactSounds);
                }
                foreach (MyObjectBuilder_MaterialPropertiesDefinition.GeneralProperty property2 in definition2.GeneralProperties)
                {
                    this.GeneralSounds[MyStringId.GetOrCompute(property2.Type)] = new MySoundPair(property2.SoundCue, true);
                }
            }
        }
Beispiel #2
0
        public static List <ShopItem> DynPrices(List <ShopItem> shopitems, long FactionID)
        {
            float worlddensity;
            MyObjectBuilder_PhysicalMaterialDefinition materials = new MyObjectBuilder_PhysicalMaterialDefinition();

            worlddensity = materials.Density;
            foreach (ShopItem item in shopitems)
            {
                switch (item.ItemName)
                {
                case ("Stone"):
                {
                    item.ItemPrice = GetValue(FactionID, (float)itemvalues.Stone);
                    break;
                }

                case ("Iron"):
                {
                    item.ItemPrice = GetValue(FactionID, (float)itemvalues.Iron);
                    break;
                }

                case ("Silicon"):
                {
                    item.ItemPrice = GetValue(FactionID, (float)itemvalues.Silicon);
                    break;
                }

                case ("Nickel"):
                {
                    item.ItemPrice = GetValue(FactionID, (float)itemvalues.Nickel);
                    break;
                }

                case ("Cobalt"):
                {
                    item.ItemPrice = GetValue(FactionID, (float)itemvalues.Cobalt);
                    break;
                }

                case ("Silver"):
                {
                    item.ItemPrice = GetValue(FactionID, (float)itemvalues.Silver);
                    break;
                }

                case ("Gold"):
                {
                    item.ItemPrice = GetValue(FactionID, (float)itemvalues.Gold);
                    break;
                }

                case ("Uranium"):
                {
                    item.ItemPrice = GetValue(FactionID, (float)itemvalues.Uranium);
                    break;
                }

                case ("Magnesium"):
                {
                    item.ItemPrice = GetValue(FactionID, (float)itemvalues.Magnesium);
                    break;
                }

                case ("Platinum"):
                {
                    item.ItemPrice = GetValue(FactionID, (float)itemvalues.Platinum);
                    break;
                }

                case ("UpgradedConstruction"):
                {
                    item.ItemPrice = GetValue(FactionID, (float)itemvalues.UpgradedConstruction);
                    break;
                }

                case ("AdvancedConstruction"):
                {
                    item.ItemPrice = GetValue(FactionID, (float)itemvalues.AdvancedConstruction);
                    break;
                }

                case ("QuantumConstruction"):
                {
                    item.ItemPrice = GetValue(FactionID, (float)itemvalues.QuantumConstruction);
                    break;
                }

                default:
                    break;
                }
            }
            return(shopitems);
        }