コード例 #1
0
ファイル: PickupList.cs プロジェクト: TobieD/Glide
        public static T GetPrefab <T>(PickupName name)
        {
            //See if Exists
            if (!m_PrefabList.ContainsKey(name))
            {
                return(default(T));
            }

            var data = m_PrefabList[name];
            T   obj  = (T)Activator.CreateInstance(typeof(T), data.Model, data.Body, data.TextureData);

            return(obj);
        }
コード例 #2
0
ファイル: PickupList.cs プロジェクト: TobieD/Glide
        public PickupPrefab(RenderContext context, PickupName name, string modelFile)
        {
            if (m_Model == null)
            {
                m_Model = context.Content.Load <Model>(modelFile);

                if (m_Body == null)
                {
                    m_Body          = BodyFactory.CreateRectangle(context.World, 100, 100, 1);
                    m_Body.BodyType = BodyType.Static;
                    m_Body.Enabled  = false;
                    m_Body.IsSensor = true; //pickups are always triggers
                }
            }
        }
コード例 #3
0
ファイル: PickupList.cs プロジェクト: TobieD/Glide
        public PickupPrefab(RenderContext context, PickupName name, string assetFile)
        {
            Name = name;

            if (m_Model == null)
            {
                if (!File.Exists("Content/Model/m_Pickup.xnb"))
                {
                    m_Model = context.Content.Load <Model>("Model/Default");
                    Console.WriteLine("Failed to load model " + assetFile);
                }
                if (assetFile == "WindVulcano")
                {
                    m_Model = context.Content.Load <Model>("Model/m_" + assetFile);
                }
                else
                {
                    //m_Model = context.Content.Load<Model>("Model/m_" + assetFile);
                    m_Model = context.Content.Load <Model>("Model/m_PickupPlane");
                }
            }

            if (m_Body == null)
            {
                if (assetFile != "WindVulcano")
                {
                    m_Body = BodyFactory.CreateRectangle(context.World, 100, 100, 1);
                }
                else
                {
                    m_Body = BodyFactory.CreateRectangle(context.World, 200, 1000, 1);
                }

                m_Body.BodyType = BodyType.Static;
                m_Body.Enabled  = false;
                m_Body.IsSensor = true; //pickups are always triggers
            }

            if (!File.Exists("Content/Textures/Models/D_" + assetFile + ".xnb"))
            {
                TextureData.Diffuse = context.Content.Load <Texture2D>("Textures/Models/D_Default");
                Console.WriteLine("Failed  to load Texture " + assetFile);
            }
            else
            {
                TextureData.Diffuse = context.Content.Load <Texture2D>("Textures/Models/D_" + assetFile);
            }
        }
コード例 #4
0
 public PickupNode(Entity parent, PickupName pickupMode, string name)
 {
     this.chestName = "Take " + name;
     this.parent = parent;
     this.mode = pickupMode;
 }