/// <summary> /// Constructor /// </summary> /// <param name="instanceCount">creating instance count</param> /// <param name="textureFileName">texture file name</param> public TracerBullets(int id, int instanceCount, string textureFileName, GameSceneNode sceneParent) { this.id = id; textureResource = FrameworkCore.ResourceManager.LoadTexture(textureFileName); bullets = new BulletObject[instanceCount]; // Create instance bullets for (int i = 0; i < bullets.Length; i++) { bullets[i] = new BulletObject(i); } tracerBulletBillboard = new GameBillboard(); tracerBulletBillboard.Create(instanceCount, textureResource.Texture2D, RenderingSpace.World, false); tracerBulletBillboard.SourceBlend = Blend.SourceAlpha; tracerBulletBillboard.DestinationBlend = Blend.One; tracerBulletBillboard.BlendFunction = BlendFunction.Add; tracerBulletBillboard.AlphaBlendEnable = true; tracerBulletBillboard.DepthBufferEnable = true; tracerBulletBillboard.DepthBufferWriteEnable = false; tracerBulletBillboard.DepthBufferFunction = CompareFunction.Less; tracerBulletBillboard.AlphaFunction = CompareFunction.Greater; tracerBulletBillboard.CullMode = CullMode.None; sceneParent.AddChild(tracerBulletBillboard); }
/// <summary> /// create members for creating mesh data. /// </summary> /// <param name="vertexCount">vertex count</param> /// <param name="indexCount">index count</param> /// <param name="fileName">texture file name</param> public void Create(int vertexCount, int indexCount, string fileName) { // Load texture GameResourceTexture2D resource = FrameworkCore.ResourceManager.LoadTexture(fileName); Create(vertexCount, indexCount, resource.Texture2D); }
/// <summary> /// create point sprite objects using the texture. /// </summary> /// <param name="count">sprite object count</param> /// <param name="fileName">texture file name</param> /// <param name="space">3D render space</param> /// <param name="alwaysUpdate"></param> public void Create(int count, string fileName, RenderingSpace space, bool alwaysUpdate) { // load a texture. GameResourceTexture2D resource = FrameworkCore.ResourceManager.LoadTexture(fileName); Create(count, resource.Texture2D, space, alwaysUpdate); }
/// <summary> /// Loads a texture. /// </summary> /// <param name="resourcePath">texture file name</param> public void LoadTexture(string resourcePath) { string resourceFullPath = Path.Combine(resourcePath, TextureFileName); GameResourceTexture2D resource = FrameworkCore.ResourceManager.LoadTexture(resourceFullPath); // Set to texture SetTexture(resource.Texture2D); }
/// <summary> /// creates 2D sprite objects using the texture. /// </summary> /// <param name="count">sprite objects count</param> /// <param name="fileName">texture file name</param> public void Create(int count, string fileName) { for (int i = 0; i < count; i++) { spriteList.Add(null); } GameResourceTexture2D resource = FrameworkCore.ResourceManager.LoadTexture(fileName); texture2D = resource.Texture2D; }
/// <summary> /// initializes with collison layer and creates a simple shadow. /// </summary> public override void Initialize() { base.Initialize(); colLayerMoveWorld = RobotGameGame.CurrentGameLevel.CollisionLayerMoveWorld; colLayerHitWorld = RobotGameGame.CurrentGameLevel.CollisionLayerHitWorld; colLayerFriendlyMech = RobotGameGame.CurrentGameLevel.CollisionLayerFriendlyMech; colLayerEnemyMech = RobotGameGame.CurrentGameLevel.CollisionLayerEnemyMech; colLayerAllMech = RobotGameGame.CurrentGameLevel.CollisionLayerAllMech; colLayerItems = RobotGameGame.CurrentGameLevel.CollisionLayerItems; colLayerVersusTeam = RobotGameGame.CurrentGameLevel.CollisionVersusTeam; // creates a simple shadow. GameResourceTexture2D resource = FrameworkCore.ResourceManager.LoadTexture("Textures/shadow"); simpleShadow = new GameQuad(new Vector3(0.0f, 0.02f, 0.0f), Vector3.Up, Vector3.Forward, 3.0f, 3.0f); simpleShadow.Name = "simple shadow"; simpleShadow.Texture = resource.Texture2D; simpleShadow.LightingEnabled = false; simpleShadow.Alpha = 0.6f; simpleShadow.AlphaBlendEnable = true; simpleShadow.ReferenceAlpha = 0; simpleShadow.DepthBufferEnable = true; simpleShadow.DepthBufferWriteEnable = true; simpleShadow.DepthBufferFunction = CompareFunction.Less; simpleShadow.SourceBlend = Blend.SourceAlpha; simpleShadow.DestinationBlend = Blend.InverseSourceAlpha; simpleShadow.BlendFunction = BlendFunction.Add; simpleShadow.AlphaFunction = CompareFunction.Greater; simpleShadow.CullMode = CullMode.CullCounterClockwiseFace; this.AddChild(simpleShadow); }