Ejemplo n.º 1
0
 public WeaponEffect(MyModelDummy dummy, int effectId, MyWeaponDefinition.WeaponEffectAction action, MyParticleEffect effect)
 {
     this.Dummy = dummy;
     this.EffectId = effectId;
     this.Effect = effect;
     this.Action = action;
 }
 public MyUseObjectCryoChamberDoor(MyCubeBlock owner, string dummyName, MyModelDummy dummyData, int key)
 {
     CryoChamber = owner as MyCryoChamber;
     Debug.Assert(CryoChamber != null, "MyUseObjectCryoChamberDoor should only be used with MyCryoChamber blocks!");
     
     LocalMatrix = dummyData.Matrix;
 }
Ejemplo n.º 3
0
        /// <summary>
        /// ReadDummies
        /// </summary>
        /// <param name="reader"></param>
        /// <returns></returns>
        static Dictionary <string, MyModelDummy> ReadDummies(BinaryReader reader)
        {
            Dictionary <string, MyModelDummy> dummies = new Dictionary <string, MyModelDummy>();

            int nCount = reader.ReadInt32();

            for (int i = 0; i < nCount; ++i)
            {
                string str = reader.ReadString();
                Matrix mat = ReadMatrix(reader);

                MyModelDummy dummy = new MyModelDummy();
                dummy.Name       = str;
                dummy.Matrix     = mat;
                dummy.CustomData = new Dictionary <string, object>();

                int customDataCount = reader.ReadInt32();
                for (int j = 0; j < customDataCount; ++j)
                {
                    string name  = reader.ReadString();
                    string value = reader.ReadString();
                    dummy.CustomData.Add(name, value);
                }

                dummies.Add(str, dummy);
            }

            return(dummies);
        }
        public static IMyUseObject CreateUseObject(string detectorName, MyCubeBlock owner, string dummyName, MyModelDummy dummyData, int shapeKey)
        {
            Type type;
            if (!m_useObjectTypesByDummyName.TryGetValue(detectorName, out type) || type == null)
                return null;

            return (IMyUseObject)Activator.CreateInstance(type, owner, dummyName, dummyData, shapeKey);
        }
        public MyUseObjectPanelButton(MyCubeBlock owner, string dummyName, MyModelDummy dummyData, int key)
        {
            m_buttonPanel = owner as MyButtonPanel;
            m_localMatrix = dummyData.Matrix;

            int orderNumber = 0;
            var parts =  dummyName.Split('_');
            int.TryParse(parts[parts.Length - 1], out orderNumber);
            m_index = orderNumber - 1;
            if (m_index >= m_buttonPanel.BlockDefinition.ButtonCount)
            {
                MyLog.Default.WriteLine(string.Format("{0} Button index higher than defined count.", m_buttonPanel.BlockDefinition.Id.SubtypeName));
                Debug.Fail(string.Format("{0} Button index higher than defined count.", m_buttonPanel.BlockDefinition.Id.SubtypeName));
                m_index = m_buttonPanel.BlockDefinition.ButtonCount - 1;
            }
        }
        public static bool GetSubpartFromDummy(string modelPath, string dummyName, MyModelDummy dummy, ref Data outData)
        {
            if (!dummyName.Contains(MyModelDummy.SUBPART_PREFIX))
                return false;

            Debug.Assert(dummyName.Substring(0, MyModelDummy.SUBPART_PREFIX.Length).Equals(MyModelDummy.SUBPART_PREFIX), string.Format("Subpart name should start with prefix '{0}'", MyModelDummy.SUBPART_PREFIX));
            Debug.Assert(dummy.CustomData.ContainsKey(MyModelDummy.ATTRIBUTE_FILE), "Subpart dummy must have 'file' attribute specified.");

            string subpartPath = Path.Combine(Path.GetDirectoryName(modelPath), (string)dummy.CustomData[MyModelDummy.ATTRIBUTE_FILE]);
            subpartPath += ".mwm"; // Temporary fix
            outData = new Data()
            {
                Name = dummyName.Substring(MyModelDummy.SUBPART_PREFIX.Length),
                File = subpartPath,
                InitialTransform = Matrix.Normalize(dummy.Matrix)
            };
            return true;
        }
 public MyUseObjectDoorTerminal(IMyEntity owner, string dummyName, MyModelDummy dummyData, uint key)
     : base(owner, dummyData)
 {
     Door = (MyDoor)owner;
     LocalMatrix = dummyData.Matrix;
 }
 public MyUseObjectCockpitDoor(IMyEntity owner, string dummyName, MyModelDummy dummyData, uint key)
 {
     Cockpit = owner;
     LocalMatrix = dummyData.Matrix;
 }
 public MyUseObjectTextPanel(IMyEntity owner, string dummyName, MyModelDummy dummyData, uint key)
     : base(owner, dummyData)
 {
     m_textPanel = (MyTextPanel)owner;
     m_localMatrix = dummyData.Matrix;
 }
 public MyUseObjectAirtightDoors(IMyEntity owner, string dummyName, MyModelDummy dummyData, uint key)
     : base(owner, dummyData)
 {
     Door = (MyAirtightDoorGeneric)owner;
     LocalMatrix = dummyData.Matrix;
 }
 public MyUseObjectTextPanel(MyCubeBlock owner, string dummyName, MyModelDummy dummyData, int key)
 {
     m_textPanel = (MyTextPanel)owner;
     m_localMatrix = dummyData.Matrix;
 }
 public MyUseObjectWardrobe(IMyEntity owner, string dummyName, MyModelDummy dummyData, uint key)
     : base(owner, dummyData)
 {
     Block = owner as MyCubeBlock;
     LocalMatrix = dummyData.Matrix;
 }
Ejemplo n.º 13
0
 public MyUseObjectMedicalRoom(IMyEntity owner, string dummyName, MyModelDummy dummyData, uint key)
 {
     m_medicalRoom = (MyMedicalRoom)owner;
     m_localMatrix = dummyData.Matrix;
 }
 public MyUseObjectMedicalRoom(MyCubeBlock owner, string dummyName, MyModelDummy dummyData, int key)
 {
     m_medicalRoom = (MyMedicalRoom)owner;
     m_localMatrix = dummyData.Matrix;
 }
Ejemplo n.º 15
0
        /// <summary>
        /// ReadDummies
        /// </summary>
        /// <param name="reader"></param>
        /// <returns></returns>
        private static Dictionary<string, MyModelDummy> ReadDummies(BinaryReader reader)
        {
            var dummies = new Dictionary<string, MyModelDummy>();

            var nCount = reader.ReadInt32();
            for (var i = 0; i < nCount; ++i)
            {
                var str = reader.ReadString();
                var mat = ReadMatrix(reader);

                var dummy = new MyModelDummy { Matrix = mat, CustomData = new Dictionary<string, object>() };

                var customDataCount = reader.ReadInt32();
                for (var j = 0; j < customDataCount; ++j)
                {
                    var name = reader.ReadString();
                    var value = reader.ReadString();
                    dummy.CustomData.Add(name, value);
                }

                dummies.Add(str, dummy);
            }

            return dummies;
        }
 public MyCubeBlockParticleEffect(CubeBlockEffect effectData, MyEntity entity)
 {
     MyParticlesLibrary.GetParticleEffectsID(effectData.Name, out m_particleId);
     if (m_particleId == -1)
         m_canBeDeleted = true;
     else
     {
         m_loop = effectData.Loop;
         m_delay = effectData.Delay;
         m_spawnTimeMin = Math.Max(0f, effectData.SpawnTimeMin);
         m_spawnTimeMax = Math.Max(m_spawnTimeMin, effectData.SpawnTimeMax);
         m_timer = m_delay;
         m_entity = entity;
         m_originPoint = GetEffectOrigin(effectData.Origin);
         m_duration = effectData.Duration;
         if (m_spawnTimeMax > 0f)
             m_timer += MyUtils.GetRandomFloat(m_spawnTimeMin, m_spawnTimeMax);
     }
 }
 public MyUseObjectCockpitDoor(MyCubeBlock owner, string dummyName, MyModelDummy dummyData, int key)
 {
     Cockpit = owner;
     LocalMatrix = dummyData.Matrix;
 }
 public MyUseObjectTerminal(MyCubeBlock owner, string dummyName, MyModelDummy dummyData, int key)
 {
     Block = owner;
     LocalMatrix = dummyData.Matrix;
 }
 public MyUseObjectAdvancedDoorTerminal(IMyEntity owner, string dummyName, MyModelDummy dummyData, int key)
 {
     Door = (MyAdvancedDoor)owner;
     LocalMatrix = dummyData.Matrix;
 }
Ejemplo n.º 20
0
 public MyUseObjectInventory(IMyEntity owner, string dummyName, MyModelDummy dummyData, uint key)
     : base(owner, dummyData)
 {
     Entity = owner as MyEntity;
     LocalMatrix = dummyData.Matrix;
 }
Ejemplo n.º 21
0
 public MyUseObjectTerminal(IMyEntity owner, string dummyName, MyModelDummy dummyData, uint key)
 {
     Block = owner as MyCubeBlock;
     LocalMatrix = dummyData.Matrix;
 }
 public MyUseObjectBase(IMyEntity owner, MyModelDummy dummy)
 {
     Owner = owner;
     Dummy = dummy;
 }