//String shader2 = "sampler2D g_samSrcColor;float4 MyShader( float4 Tex : TEXCOORD0 ) : COLOR0{float4 Color;Color = tex2D( g_samSrcColor, Tex.xy);return Color;}"; private void DrawSprite(SlimDX.Direct3D10.Device device) { if (_sprite == null) { _sprite = new Sprite(device, 1); _sTexture = Texture2D.FromFile( device, @"C:\temp\privet.png"); _srv = new ShaderResourceView(device, _sTexture); _si[0] = new SpriteInstance(_srv, new Vector2(0, 0), new Vector2(1, 1)); //_sprite.ProjectionTransform = Matrix.OrthoOffCenterLH(0, 800, -600, 0, -10, 10); _sprite.ViewTransform = Matrix.Transformation2D(Vector2.Zero, 0.0f, new Vector2(2.0f, 2.0f), Vector2.Zero, 0.0f, Vector2.Zero); using (var bytecode = ShaderBytecode.Compile(shader, "PShader", "ps_4_0", ShaderFlags.EnableBackwardsCompatibility, EffectFlags.None)) pixelShader = new PixelShader(device, bytecode); } device.PixelShader.Set(pixelShader); //if ((DateTime.Now - _lastSprite).TotalMilliseconds > 0) //{ _sprite.Begin(SpriteFlags.None); _sprite.DrawImmediate(_si); _sprite.End(); _lastSprite = DateTime.Now; //} }
public LevelUI() { backgroundSprite = SpriteManager.Sprites["LevelUI_Background"].CreateInstance(); iconSprite = SpriteManager.Sprites["LevelUI_Icons"].CreateInstance(); elements = new List <ActionUI>() { new ActionUI() { Action = PlayerAction.Destroy, Frame = "Icon_Drill" }, new ActionUI() { Action = PlayerAction.Turn, Frame = "Icon_Turn" }, new ActionUI() { Action = PlayerAction.Push, Frame = "Icon_Push" }, new ActionUI() { Action = PlayerAction.Pull, Frame = "Icon_Pull" }, new ActionUI() { Action = PlayerAction.Grab, Frame = "Icon_Grapple" }, }; for (int i = 0; i < elements.Count; i++) { elements[i].Location = new Vector2(i * backgroundSprite.Source.Image.FrameSize.X, 160); } }
private void InstantiateSprite(GameObject clientObject, SpriteInstance spriteInstance) { var go = GameObject.Instantiate(spriteInstance); go.transform.parent = clientObject.transform; go.transform.position = new Vector3(go.transform.position.x, go.transform.position.y, spriteInstance.Layer); }
protected SpriteInstance[] GetSpriteInstances() { SpriteInstance[] sprites = new SpriteInstance[allSprites.Count]; for (int i = 0; i < sprites.Length; i++) sprites[i] = allSprites[i].Instance; return sprites; }
void LoadSprite(string path) { //Debug Debug.Log(AssetDatabase.GUIDToAssetPath(path)); //Split name to components string[] fileName = AssetDatabase.GUIDToAssetPath(path).Split('/', '.'); //Split file name to components string[] components = fileName[fileName.Length - 2].Split(' '); //Sprite instance SpriteInstance newInstance = new SpriteInstance(); //ID newInstance.spriteId = int.Parse(components[1]); //Assign sprite object newInstance.spriteObject = (Sprite)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(path), typeof(Sprite)); //Switch depending on colour if (components.Length > 2) { //newInstance.colour = GetColourFromComponent(components[2]); } //Switch depending on the avatar part AssignToListByType(components[0], components[2], newInstance); }
public static SpriteImage GetSpriteImage(this SpriteInstance spriteInstance) { var texSize = spriteInstance.Texture.GetSize(); var leftTop = new Vector2(spriteInstance.Rectangle.X, spriteInstance.Rectangle.Y) / texSize; var size = new Vector2(spriteInstance.Rectangle.Z, spriteInstance.Rectangle.W) / texSize; return(new SpriteImage(spriteInstance.Texture, leftTop, size)); }
public ISpriteInstance AddSprite(Sprite sprite) { Contract.Requires(sprite != null && sprite.SpriteSheet == SpriteSheet); var instance = new SpriteInstance(this, sprite); m_instances.Add(instance); instance.Size = new Vector2(sprite.Size.X, sprite.Size.Y); return instance; }
public Bullet FireRaw(Vector3 pos, float angle, float speed, SpriteImage image, Animation anim = null) { var vel = new Vector3(MathX.DCos(angle) * speed, MathX.DSin(angle) * speed, 0f); var tex = image.Texture; var sprite = new SpriteInstance(SpriteEffect, pos, vel, image.Size, tex, image.TextureRegion.Rectangle, anim); sprite.Rotation = MathX.DegToRad(angle - 90f); var bullet = new Bullet(this, sprite); return(bullet); }
public ISpriteInstance AddSprite(Sprite sprite) { Contract.Requires(sprite != null && sprite.SpriteSheet == SpriteSheet); var instance = new SpriteInstance(this, sprite); m_instances.Add(instance); instance.Size = new Vector2(sprite.Size.X, sprite.Size.Y); return(instance); }
public void DrawMessage(string message, Anchor anchor, int xOffset, int yOffset) { message = message.ToLower(); int realXOffset; int realYOffset; switch (anchor) { default: case Anchor.TopLeft: realXOffset = (xOffset * charSize) + (charSize / 2); realYOffset = (yOffset * charSize) + (charSize / 2); break; case Anchor.BottomLeft: realXOffset = (xOffset * charSize) + (charSize / 2); realYOffset = renderTarget.Height - ((yOffset + 1) * charSize) - (charSize / 2); break; case Anchor.TopRight: realXOffset = renderTarget.Width - (message.Length * charSize) - (charSize / 2); realYOffset = (yOffset * charSize) + (charSize / 2); break; case Anchor.BottomRight: realXOffset = renderTarget.Width - (message.Length * charSize) - (charSize / 2); realYOffset = renderTarget.Height - ((yOffset + 1) * charSize) - (charSize / 2); break; } float scaleX = 64f / (float)renderTarget.Width; //A lot of stuff here assume a charSize for 16, and the size of the character sheet being 256x256, but it's currently too delicate of a balance for me to try to cleanup. float scaleY = 64f / (float)renderTarget.Height; float xf = (((((float)realXOffset / (float)renderTarget.Width) * 2f) - 1) * 2) + (0.5f * scaleX); float yf = -((((((float)realYOffset / (float)renderTarget.Height) * 2f) - 1) * 2) + (0.5f * scaleY)); messageSprite.Begin(SpriteFlags.None); SpriteInstance[] chars = new SpriteInstance[message.Length]; for (int i = 0; i < message.Length; i++) { int charNum = 0; if (charSheetSprites.ContainsKey(message[i])) { charNum = charSheetSprites[message[i]]; } float charX = ((charNum % 16) * 0.0625f); float charY = ((charNum / 16) * 0.0625f); chars[i] = new SpriteInstance(spriteView, new Vector2(charX, charY), new Vector2(0.0625f, 0.0625f)); chars[i].Transform = Matrix.Add(Matrix.Translation(xf + (i * scaleX), yf, 0), Matrix.Scaling(scaleX - 1, scaleY - 1, 0)); } messageSprite.DrawBuffered(chars); messageSprite.End(); }
private Level(int width, int height) { Width = width; Height = height; data = new LevelTile[width, height]; tileColors = new Dictionary <TileType, Color>() { [TileType.Floor] = Color.White, [TileType.Wall] = Color.DarkGray, [TileType.Movable] = Color.Green, }; sprite = SpriteManager.Sprites["MarsTiles"].CreateInstance(); }
protected override bool Init(object controller, object binding, DefinitionFile definition) { if (!base.Init(controller, binding, definition)) { return(false); } DefinitionFileWithStyle file = new DefinitionFileWithStyle(definition, typeof(UiSpritePresenter)); _spriteInstance = DefinitionResolver.Get <Sprite>(Controller, Binding, file["Sprite"], null).CreateInstance(); _spriteInstance.Sequence = DefinitionResolver.GetString(Controller, Binding, file["Sequence"]); return(true); }
public void Merge(string iSlot, string vSlot, ScriptNode rawSprite) { var si = new SpriteInstance(); si.Source = new SpriteSource(rawSprite, new Point(), "", iSlot, vSlot); si.Position = new Point( -si.Source.Canvas.CenterX, -si.Source.Canvas.CenterY ); if (Body) { BodySprite = si; Body = false; } si.Group = ExtractMap(rawSprite); Sprites.Add(si); // Sort sprites on Z index Sprites.Sort(delegate(SpriteInstance a, SpriteInstance b) { return(a.Source.Z - b.Source.Z); }); Groups.Add(si.Group); Console.WriteLine("Merging {0} {1} groups {2}", iSlot, vSlot, string.Join(", ", si.Group.Select(x => x.Name))); MBRValid = false; while (true) { var a = si.Group; var b = FindGroup(a); if (b == null) { break; } if (Groups.Count > 0 && Groups[0] == si.Group) { // Swap a and b var c = a; a = b; b = c; } MergeGroup(a, b); } }
public void GetHitBy(BasePlayerProjectile projectile, float dmgMultiplier = 1) { if (isHorde) { return; } var effectiveMultiplier = GetEffectiveMultiplier(projectile.DamageType); var dmgInflicted = effectiveMultiplier * projectile.DamageInflicted * dmgMultiplier; TakeDamage(dmgInflicted); var shouldBeHurt = true; switch (projectile.DamageType) { case DamageTypes.Frost: _frostDurationSeconds = projectile.StatusEffectSeconds * effectiveMultiplier; _frostDamagePerSecond = dmgInflicted * projectile.StatusDamageMultiplier; _burnDurationSeconds = 0; shouldBeHurt = false; break; case DamageTypes.Chemical: _poisonedDurationSeconds = projectile.StatusEffectSeconds * effectiveMultiplier; _poisonDamagePerSecond = dmgInflicted * projectile.StatusDamageMultiplier; shouldBeHurt = false; break; case DamageTypes.Electrical: _stunnedDurationSeconds = projectile.StatusEffectSeconds * effectiveMultiplier; break; case DamageTypes.Fire: _burnDurationSeconds = projectile.StatusEffectSeconds * effectiveMultiplier; _burnDamagePerSecond = dmgInflicted * projectile.StatusDamageMultiplier; _frostDurationSeconds = 0; break; } UpdateStatusEffect(justApplied: true); if (!IsDead && shouldBeHurt) { CurrentActionState = Action.Hurt; SpriteInstance.UpdateToCurrentAnimationFrame(); UpdateSpritesRelativeY(); } }
public ISpriteInstance AddSprite(Sprite sprite) { Contract.Requires(sprite != null && sprite.SpriteSheet == SpriteSheet); var instance = new SpriteInstance(this, sprite); instance.Size = new Vector2(sprite.Size.X, sprite.Size.Y); instance.Color = new Color4ub(255, 255, 255, 255); instance.RotateFromOrigin = false; lock (m_instances) { m_instances.Add(instance); } return(instance); }
public ISpriteInstance AddSprite(Sprite sprite) { Contract.Requires(sprite != null && sprite.SpriteSheet == SpriteSheet); var instance = new SpriteInstance(this, sprite); instance.Size = new Vector2(sprite.Size.X, sprite.Size.Y); instance.Color = new Color4ub(255, 255, 255, 255); instance.RotateFromOrigin = false; lock (m_instances) { m_instances.Add(instance); } return instance; }
protected void UpdateAnimation() { if (SpriteInstance.CurrentChain == null || SpriteInstance.CurrentChain.Count == 1) { SpriteInstance.RelativeY = _spriteRelativeY; } else { SpriteInstance.UpdateToCurrentAnimationFrame(); if (SpriteInstance.UseAnimationRelativePosition) { SpriteInstance.RelativeX *= (SpriteInstance.FlipHorizontal ? -SpriteInstance.TextureScale : SpriteInstance.TextureScale); SpriteInstance.RelativeY *= (SpriteInstance.FlipVertical ? -SpriteInstance.TextureScale : SpriteInstance.TextureScale); } SpriteInstance.RelativeY += _spriteRelativeY; } }
bool ItemIsValid(SpriteInstance item) { bool itemValidFlag = true; //Check skin colour if (item.type == spriteType.faceShape || item.type == spriteType.body) { if (item.colour != currentSkinColour) { itemValidFlag = false; } } //Check hair colour if (item.type == spriteType.hairDown || item.type == spriteType.hairUp) { if (item.colour != currentHairColour) { itemValidFlag = false; } } return(itemValidFlag); }
public override void PostInitialize() { bool oldShapeManagerSuppressAdd = FlatRedBall.Math.Geometry.ShapeManager.SuppressAddingOnVisibilityTrue; FlatRedBall.Math.Geometry.ShapeManager.SuppressAddingOnVisibilityTrue = true; base.PostInitialize(); if (SpriteInstance.Parent == null) { SpriteInstance.CopyAbsoluteToRelative(); SpriteInstance.AttachTo(this, false); } base.SpriteInstance.Texture = AllParticles; base.SpriteInstance.LeftTexturePixel = 1949f; base.SpriteInstance.RightTexturePixel = 2037f; base.SpriteInstance.TopTexturePixel = 1724f; base.SpriteInstance.BottomTexturePixel = 1825f; base.SpriteInstance.TextureScale = 1f; base.SpriteInstance.UseAnimationRelativePosition = false; base.SpriteInstance.AnimationChains = BaseStructureAnimationChainListFile; base.SpriteInstance.CurrentChainName = "BombardingTower"; if (mAxisAlignedRectangleInstance.Parent == null) { mAxisAlignedRectangleInstance.CopyAbsoluteToRelative(); mAxisAlignedRectangleInstance.AttachTo(this, false); } base.AxisAlignedRectangleInstance.Width = 64f; base.AxisAlignedRectangleInstance.Height = 64f; if (LightSpriteInstance.Parent == null) { LightSpriteInstance.CopyAbsoluteToRelative(); LightSpriteInstance.AttachTo(this, false); } if (LightSpriteInstance.Parent == null) { base.LightSpriteInstance.X = 0f; } else { base.LightSpriteInstance.RelativeX = 0f; } if (LightSpriteInstance.Parent == null) { base.LightSpriteInstance.Y = 30f; } else { base.LightSpriteInstance.RelativeY = 30f; } if (LightSpriteInstance.Parent == null) { base.LightSpriteInstance.Z = -1f; } else { base.LightSpriteInstance.RelativeZ = -1f; } base.LightSpriteInstance.LeftTexturePixel = 1792f; base.LightSpriteInstance.RightTexturePixel = 2048f; base.LightSpriteInstance.TopTexturePixel = 1792f; base.LightSpriteInstance.BottomTexturePixel = 2048f; base.LightSpriteInstance.TextureScale = 1f; #if FRB_MDX LightSpriteInstance.ColorOperation = Microsoft.DirectX.Direct3D.TextureOperation.Modulate; #else base.LightSpriteInstance.ColorOperation = FlatRedBall.Graphics.ColorOperation.Modulate; #endif base.LightSpriteInstance.Blue = 0.5f; base.LightSpriteInstance.Alpha = 0.25f; if (AimSpriteInstance.Parent == null) { AimSpriteInstance.CopyAbsoluteToRelative(); AimSpriteInstance.AttachTo(this, false); } if (AimSpriteInstance.Parent == null) { base.AimSpriteInstance.X = 0f; } else { base.AimSpriteInstance.RelativeX = 0f; } if (AimSpriteInstance.Parent == null) { base.AimSpriteInstance.Y = 78f; } else { base.AimSpriteInstance.RelativeY = 78f; } if (AimSpriteInstance.Parent == null) { base.AimSpriteInstance.Z = 1f; } else { base.AimSpriteInstance.RelativeZ = 1f; } base.AimSpriteInstance.Texture = AllParticles; base.AimSpriteInstance.LeftTexturePixel = 1939f; base.AimSpriteInstance.RightTexturePixel = 1986f; base.AimSpriteInstance.TopTexturePixel = 1846f; base.AimSpriteInstance.BottomTexturePixel = 2002f; base.AimSpriteInstance.TextureScale = 1f; if (PivotPoint.Parent == null) { PivotPoint.CopyAbsoluteToRelative(); PivotPoint.AttachTo(this, false); } if (PivotPoint.Parent == null) { base.PivotPoint.Y = 30f; } else { base.PivotPoint.RelativeY = 30f; } if (LightAimSpriteInstance.Parent == null) { LightAimSpriteInstance.CopyAbsoluteToRelative(); LightAimSpriteInstance.AttachTo(this, false); } if (LightAimSpriteInstance.Parent == null) { base.LightAimSpriteInstance.Y = 120f; } else { base.LightAimSpriteInstance.RelativeY = 120f; } base.LightAimSpriteInstance.Texture = AllParticles; base.LightAimSpriteInstance.LeftTexturePixel = 1060f; base.LightAimSpriteInstance.RightTexturePixel = 1122f; base.LightAimSpriteInstance.TopTexturePixel = 1269f; base.LightAimSpriteInstance.BottomTexturePixel = 1339f; base.LightAimSpriteInstance.TextureScale = 1f; base.LightAimSpriteInstance.Width = 91f; base.LightAimSpriteInstance.Height = 70f; base.LightAimSpriteInstance.Visible = true; #if FRB_MDX LightAimSpriteInstance.ColorOperation = Microsoft.DirectX.Direct3D.TextureOperation.Modulate; #else base.LightAimSpriteInstance.ColorOperation = FlatRedBall.Graphics.ColorOperation.Modulate; #endif base.LightAimSpriteInstance.Red = 0.5f; base.LightAimSpriteInstance.Green = 0.23f; base.LightAimSpriteInstance.BlendOperation = FlatRedBall.Graphics.BlendOperation.Add; FlatRedBall.Math.Geometry.ShapeManager.SuppressAddingOnVisibilityTrue = oldShapeManagerSuppressAdd; }
public override void PostInitialize() { bool oldShapeManagerSuppressAdd = FlatRedBall.Math.Geometry.ShapeManager.SuppressAddingOnVisibilityTrue; FlatRedBall.Math.Geometry.ShapeManager.SuppressAddingOnVisibilityTrue = true; base.PostInitialize(); if (LightOrShadowSprite.Parent == null) { LightOrShadowSprite.CopyAbsoluteToRelative(); LightOrShadowSprite.AttachTo(this, false); } if (LightOrShadowSprite.Parent == null) { base.LightOrShadowSprite.Y = -8f; } else { base.LightOrShadowSprite.RelativeY = -8f; } if (LightOrShadowSprite.Parent == null) { base.LightOrShadowSprite.Z = -1f; } else { base.LightOrShadowSprite.RelativeZ = -1f; } base.LightOrShadowSprite.Texture = AllParticles; base.LightOrShadowSprite.LeftTexturePixel = 1019f; base.LightOrShadowSprite.RightTexturePixel = 1072f; base.LightOrShadowSprite.TopTexturePixel = 1895f; base.LightOrShadowSprite.BottomTexturePixel = 1948f; base.LightOrShadowSprite.TextureScale = 1f; base.LightOrShadowSprite.Width = 32f; base.LightOrShadowSprite.Height = 24f; base.LightOrShadowSprite.Animate = false; #if FRB_MDX LightOrShadowSprite.ColorOperation = Microsoft.DirectX.Direct3D.TextureOperation.Modulate; #else base.LightOrShadowSprite.ColorOperation = FlatRedBall.Graphics.ColorOperation.Modulate; #endif base.LightOrShadowSprite.Alpha = 0.8f; base.LightOrShadowSprite.ParentRotationChangesPosition = false; base.LightOrShadowSprite.ParentRotationChangesRotation = false; if (SpriteInstance.Parent == null) { SpriteInstance.CopyAbsoluteToRelative(); SpriteInstance.AttachTo(this, false); } if (SpriteInstance.Parent == null) { base.SpriteInstance.Z = 1f; } else { base.SpriteInstance.RelativeZ = 1f; } base.SpriteInstance.TextureScale = 0.5f; base.SpriteInstance.AnimationChains = CannonProjectileAnimationChainListFile; base.SpriteInstance.CurrentChainName = "Shot"; base.SpriteInstance.Visible = true; base.SpriteInstance.ParentRotationChangesPosition = false; if (mCircleInstance.Parent == null) { mCircleInstance.CopyAbsoluteToRelative(); mCircleInstance.AttachTo(this, false); } if (CircleInstance.Parent == null) { base.CircleInstance.X = 0f; } else { base.CircleInstance.RelativeX = 0f; } if (CircleInstance.Parent == null) { base.CircleInstance.Y = 0f; } else { base.CircleInstance.RelativeY = 0f; } base.CircleInstance.Radius = 16f; base.CircleInstance.Color = Microsoft.Xna.Framework.Color.Red; base.CircleInstance.ParentRotationChangesPosition = false; mGeneratedCollision = new FlatRedBall.Math.Geometry.ShapeCollection(); mGeneratedCollision.Circles.AddOneWay(mCircleInstance); FlatRedBall.Math.Geometry.ShapeManager.SuppressAddingOnVisibilityTrue = oldShapeManagerSuppressAdd; }
//Type switch void AssignToListByType(string word, string colour, SpriteInstance instance) { switch (word) { case "Face": instance.type = spriteType.faceShape; instance.colour = GetSkinColourFromComponent(colour); faceShapes.Add(instance); return; case "SkinColour": instance.type = spriteType.skin; instance.colour = GetSkinColourFromComponent(colour); skinColours.Add(instance); return; case "Body": instance.type = spriteType.body; instance.colour = GetSkinColourFromComponent(colour); bodies.Add(instance); return; case "Eyes": instance.type = spriteType.eyes; instance.colour = spriteColour.none; eyes.Add(instance); return; case "HairColour": instance.type = spriteType.hairColour; instance.colour = GetHairColourFromComponent(colour); hairColours.Add(instance); return; case "HairDown": instance.type = spriteType.hairDown; instance.colour = GetHairColourFromComponent(colour); hairDown.Add(instance); return; case "HairUp": instance.type = spriteType.hairUp; instance.colour = GetHairColourFromComponent(colour); hairUp.Add(instance); return; case "Mouth": instance.type = spriteType.mouth; instance.colour = spriteColour.none; mouths.Add(instance); return; case "Nose": instance.type = spriteType.nose; instance.colour = spriteColour.none; noses.Add(instance); return; default: instance.type = spriteType.none; instance.colour = spriteColour.none; return; } }
public override void PostInitialize() { bool oldShapeManagerSuppressAdd = FlatRedBall.Math.Geometry.ShapeManager.SuppressAddingOnVisibilityTrue; FlatRedBall.Math.Geometry.ShapeManager.SuppressAddingOnVisibilityTrue = true; base.PostInitialize(); if (SpriteInstance.Parent == null) { SpriteInstance.CopyAbsoluteToRelative(); SpriteInstance.AttachTo(this, false); } base.SpriteInstance.Texture = Stage2; base.SpriteInstance.TextureScale = 0.5f; base.SpriteInstance.Animate = true; base.SpriteInstance.AnimationChains = Chicken2Animations; base.SpriteInstance.CurrentChainName = "Running"; if (mCircleInstance.Parent == null) { mCircleInstance.CopyAbsoluteToRelative(); mCircleInstance.AttachTo(this, false); } base.CircleInstance.Radius = 24f; if (LightSprite.Parent == null) { LightSprite.CopyAbsoluteToRelative(); LightSprite.AttachTo(this, false); } if (LightSprite.Parent == null) { base.LightSprite.Z = 1f; } else { base.LightSprite.RelativeZ = 1f; } base.LightSprite.Texture = AllAssetsSheet; base.LightSprite.LeftTexturePixel = 1792f; base.LightSprite.RightTexturePixel = 2048f; base.LightSprite.TopTexturePixel = 1792f; base.LightSprite.BottomTexturePixel = 2048f; base.LightSprite.TextureScale = 0.2f; #if FRB_MDX LightSprite.ColorOperation = Microsoft.DirectX.Direct3D.TextureOperation.Modulate; #else base.LightSprite.ColorOperation = FlatRedBall.Graphics.ColorOperation.Modulate; #endif base.LightSprite.Red = 0.5f; base.LightSprite.Blue = 0.5f; base.LightSprite.BlendOperation = FlatRedBall.Graphics.BlendOperation.Add; if (ShadowSprite.Parent == null) { ShadowSprite.CopyAbsoluteToRelative(); ShadowSprite.AttachTo(this, false); } if (ShadowSprite.Parent == null) { base.ShadowSprite.Y = -36f; } else { base.ShadowSprite.RelativeY = -36f; } if (ShadowSprite.Parent == null) { base.ShadowSprite.Z = -1f; } else { base.ShadowSprite.RelativeZ = -1f; } base.ShadowSprite.Texture = AllParticles; base.ShadowSprite.LeftTexturePixel = 1019f; base.ShadowSprite.RightTexturePixel = 1072f; base.ShadowSprite.TopTexturePixel = 1895f; base.ShadowSprite.BottomTexturePixel = 1948f; base.ShadowSprite.TextureScale = 1f; base.ShadowSprite.Width = 32f; base.ShadowSprite.Height = 20f; #if FRB_MDX ShadowSprite.ColorOperation = Microsoft.DirectX.Direct3D.TextureOperation.Modulate; #else base.ShadowSprite.ColorOperation = FlatRedBall.Graphics.ColorOperation.Modulate; #endif base.ShadowSprite.Alpha = 0.3f; if (PoisonedParticles.Parent == null) { PoisonedParticles.CopyAbsoluteToRelative(); PoisonedParticles.AttachTo(this, false); } if (FrozenParticles.Parent == null) { FrozenParticles.CopyAbsoluteToRelative(); FrozenParticles.AttachTo(this, false); } if (SmokeParticles.Parent == null) { SmokeParticles.CopyAbsoluteToRelative(); SmokeParticles.AttachTo(this, false); } if (StunParticles.Parent == null) { StunParticles.CopyAbsoluteToRelative(); StunParticles.AttachTo(this, false); } mGeneratedCollision = new FlatRedBall.Math.Geometry.ShapeCollection(); mGeneratedCollision.Circles.AddOneWay(mCircleInstance); FlatRedBall.Math.Geometry.ShapeManager.SuppressAddingOnVisibilityTrue = oldShapeManagerSuppressAdd; }
//String shader2 = "sampler2D g_samSrcColor;float4 MyShader( float4 Tex : TEXCOORD0 ) : COLOR0{float4 Color;Color = tex2D( g_samSrcColor, Tex.xy);return Color;}"; private void DrawSprite(SlimDX.Direct3D10.Device device) { if (_sprite == null) { _sprite = new Sprite(device, 1); _sTexture = Texture2D.FromFile( device, @"C:\temp\privet.png"); _srv=new ShaderResourceView(device, _sTexture); _si[0] = new SpriteInstance(_srv, new Vector2(0, 0), new Vector2(1,1)); //_sprite.ProjectionTransform = Matrix.OrthoOffCenterLH(0, 800, -600, 0, -10, 10); _sprite.ViewTransform = Matrix.Transformation2D(Vector2.Zero, 0.0f, new Vector2(2.0f, 2.0f), Vector2.Zero, 0.0f, Vector2.Zero); using (var bytecode = ShaderBytecode.Compile(shader, "PShader", "ps_4_0", ShaderFlags.EnableBackwardsCompatibility, EffectFlags.None)) pixelShader = new PixelShader(device, bytecode); } device.PixelShader.Set(pixelShader); //if ((DateTime.Now - _lastSprite).TotalMilliseconds > 0) //{ _sprite.Begin(SpriteFlags.None); _sprite.DrawImmediate(_si); _sprite.End(); _lastSprite = DateTime.Now; //} }
public override void PostInitialize() { bool oldShapeManagerSuppressAdd = FlatRedBall.Math.Geometry.ShapeManager.SuppressAddingOnVisibilityTrue; FlatRedBall.Math.Geometry.ShapeManager.SuppressAddingOnVisibilityTrue = true; base.PostInitialize(); if (SpriteInstance.Parent == null) { SpriteInstance.CopyAbsoluteToRelative(); SpriteInstance.AttachTo(this, false); } base.SpriteInstance.Texture = AllParticles; base.SpriteInstance.LeftTexturePixel = 1622f; base.SpriteInstance.RightTexturePixel = 1746f; base.SpriteInstance.TopTexturePixel = 1568f; base.SpriteInstance.BottomTexturePixel = 1789f; base.SpriteInstance.TextureScale = 1f; base.SpriteInstance.AnimationChains = BaseStructureAnimationChainListFile; base.SpriteInstance.CurrentChainName = "ElectricTower"; if (mAxisAlignedRectangleInstance.Parent == null) { mAxisAlignedRectangleInstance.CopyAbsoluteToRelative(); mAxisAlignedRectangleInstance.AttachTo(this, false); } base.AxisAlignedRectangleInstance.Width = 64f; base.AxisAlignedRectangleInstance.Height = 64f; if (LightSpriteInstance.Parent == null) { LightSpriteInstance.CopyAbsoluteToRelative(); LightSpriteInstance.AttachTo(this, false); } if (LightSpriteInstance.Parent == null) { base.LightSpriteInstance.X = 15f; } else { base.LightSpriteInstance.RelativeX = 15f; } if (LightSpriteInstance.Parent == null) { base.LightSpriteInstance.Y = 95f; } else { base.LightSpriteInstance.RelativeY = 95f; } if (LightSpriteInstance.Parent == null) { base.LightSpriteInstance.Z = -1f; } else { base.LightSpriteInstance.RelativeZ = -1f; } base.LightSpriteInstance.LeftTexturePixel = 1792f; base.LightSpriteInstance.RightTexturePixel = 2048f; base.LightSpriteInstance.TopTexturePixel = 1792f; base.LightSpriteInstance.BottomTexturePixel = 2048f; base.LightSpriteInstance.TextureScale = 1f; base.LightSpriteInstance.Width = 1f; base.LightSpriteInstance.Height = 1f; base.LightSpriteInstance.AnimationChains = StructureGlowAnimationChainList; base.LightSpriteInstance.CurrentChainName = "ElectricGlow"; #if FRB_MDX LightSpriteInstance.ColorOperation = Microsoft.DirectX.Direct3D.TextureOperation.Modulate; #else base.LightSpriteInstance.ColorOperation = FlatRedBall.Graphics.ColorOperation.Modulate; #endif base.LightSpriteInstance.Blue = 0.5f; base.LightSpriteInstance.Alpha = 0.5f; if (AimSpriteInstance.Parent == null) { AimSpriteInstance.CopyAbsoluteToRelative(); AimSpriteInstance.AttachTo(this, false); } if (AimSpriteInstance.Parent == null) { base.AimSpriteInstance.X = 16.07512f; } else { base.AimSpriteInstance.RelativeX = 16.07512f; } if (AimSpriteInstance.Parent == null) { base.AimSpriteInstance.Y = 97.46671f; } else { base.AimSpriteInstance.RelativeY = 97.46671f; } base.AimSpriteInstance.Texture = AllParticles; base.AimSpriteInstance.LeftTexturePixel = 1635f; base.AimSpriteInstance.RightTexturePixel = 1636f; base.AimSpriteInstance.TopTexturePixel = 1579f; base.AimSpriteInstance.BottomTexturePixel = 1580f; base.AimSpriteInstance.TextureScale = 1f; if (PivotPoint.Parent == null) { PivotPoint.CopyAbsoluteToRelative(); PivotPoint.AttachTo(this, false); } if (PivotPoint.Parent == null) { base.PivotPoint.X = 15f; } else { base.PivotPoint.RelativeX = 15f; } if (PivotPoint.Parent == null) { base.PivotPoint.Y = 95f; } else { base.PivotPoint.RelativeY = 95f; } if (LightAimSpriteInstance.Parent == null) { LightAimSpriteInstance.CopyAbsoluteToRelative(); LightAimSpriteInstance.AttachTo(this, false); } base.LightAimSpriteInstance.Texture = AllParticles; base.LightAimSpriteInstance.LeftTexturePixel = 0f; base.LightAimSpriteInstance.RightTexturePixel = 1f; base.LightAimSpriteInstance.TopTexturePixel = 0f; base.LightAimSpriteInstance.BottomTexturePixel = 1f; base.LightAimSpriteInstance.TextureScale = 1f; base.LightAimSpriteInstance.UseAnimationRelativePosition = false; base.LightAimSpriteInstance.Animate = false; base.LightAimSpriteInstance.Visible = false; FlatRedBall.Math.Geometry.ShapeManager.SuppressAddingOnVisibilityTrue = oldShapeManagerSuppressAdd; }
public void Draw(SpriteInstance iconSprite, SpriteInstance backgroundSprite) { backgroundSprite.DrawFrame(Location, Value > 0 ? "Frame_Active" : "Frame_Disabled"); iconSprite.DrawFrame(Location, Frame); GameCore.Instance.SpriteBatch.DrawString(SpriteManager.Fonts["Font"], Value > 0 ? Value.ToString() : "OoC", Location + new Vector2(24, -5), Color.White); }
public override void PostInitialize() { bool oldShapeManagerSuppressAdd = FlatRedBall.Math.Geometry.ShapeManager.SuppressAddingOnVisibilityTrue; FlatRedBall.Math.Geometry.ShapeManager.SuppressAddingOnVisibilityTrue = true; base.PostInitialize(); if (SpriteInstance.Parent == null) { SpriteInstance.CopyAbsoluteToRelative(); SpriteInstance.AttachTo(this, false); } base.SpriteInstance.Texture = AllParticles; base.SpriteInstance.LeftTexturePixel = 1617f; base.SpriteInstance.RightTexturePixel = 1694f; base.SpriteInstance.TopTexturePixel = 1948f; base.SpriteInstance.BottomTexturePixel = 2031f; base.SpriteInstance.TextureScale = 1f; base.SpriteInstance.AnimationChains = BaseStructureAnimationChainListFile; base.SpriteInstance.CurrentChainName = "PiercingTower"; if (mAxisAlignedRectangleInstance.Parent == null) { mAxisAlignedRectangleInstance.CopyAbsoluteToRelative(); mAxisAlignedRectangleInstance.AttachTo(this, false); } base.AxisAlignedRectangleInstance.Width = 64f; base.AxisAlignedRectangleInstance.Height = 64f; if (LightSpriteInstance.Parent == null) { LightSpriteInstance.CopyAbsoluteToRelative(); LightSpriteInstance.AttachTo(this, false); } if (LightSpriteInstance.Parent == null) { base.LightSpriteInstance.X = -2.5f; } else { base.LightSpriteInstance.RelativeX = -2.5f; } if (LightSpriteInstance.Parent == null) { base.LightSpriteInstance.Y = 36f; } else { base.LightSpriteInstance.RelativeY = 36f; } if (LightSpriteInstance.Parent == null) { base.LightSpriteInstance.Z = -1f; } else { base.LightSpriteInstance.RelativeZ = -1f; } base.LightSpriteInstance.Texture = AllParticles; base.LightSpriteInstance.LeftTexturePixel = 1792f; base.LightSpriteInstance.RightTexturePixel = 2048f; base.LightSpriteInstance.TopTexturePixel = 1792f; base.LightSpriteInstance.BottomTexturePixel = 2048f; base.LightSpriteInstance.TextureScale = 1f; base.LightSpriteInstance.Width = 1f; base.LightSpriteInstance.Height = 1f; #if FRB_MDX LightSpriteInstance.ColorOperation = Microsoft.DirectX.Direct3D.TextureOperation.Modulate; #else base.LightSpriteInstance.ColorOperation = FlatRedBall.Graphics.ColorOperation.Modulate; #endif base.LightSpriteInstance.Blue = 0.5f; base.LightSpriteInstance.Alpha = 0.25f; if (AimSpriteInstance.Parent == null) { AimSpriteInstance.CopyAbsoluteToRelative(); AimSpriteInstance.AttachTo(this, false); } if (AimSpriteInstance.Parent == null) { base.AimSpriteInstance.X = 2f; } else { base.AimSpriteInstance.RelativeX = 2f; } if (AimSpriteInstance.Parent == null) { base.AimSpriteInstance.Y = 46.11102f; } else { base.AimSpriteInstance.RelativeY = 46.11102f; } if (AimSpriteInstance.Parent == null) { base.AimSpriteInstance.Z = 0.1f; } else { base.AimSpriteInstance.RelativeZ = 0.1f; } base.AimSpriteInstance.Texture = AllParticles; base.AimSpriteInstance.LeftTexturePixel = 1598f; base.AimSpriteInstance.RightTexturePixel = 1782f; base.AimSpriteInstance.TopTexturePixel = 1827f; base.AimSpriteInstance.BottomTexturePixel = 1946f; base.AimSpriteInstance.TextureScale = 1f; if (ArrowSpriteInstance.Parent == null) { ArrowSpriteInstance.CopyAbsoluteToRelative(); ArrowSpriteInstance.AttachTo(this, false); } if (ArrowSpriteInstance.Parent == null) { ArrowSpriteInstance.X = 1f; } else { ArrowSpriteInstance.RelativeX = 1f; } if (ArrowSpriteInstance.Parent == null) { ArrowSpriteInstance.Y = 57.24112f; } else { ArrowSpriteInstance.RelativeY = 57.24112f; } if (ArrowSpriteInstance.Parent == null) { ArrowSpriteInstance.Z = 0f; } else { ArrowSpriteInstance.RelativeZ = 0f; } ArrowSpriteInstance.Texture = AllParticles; ArrowSpriteInstance.LeftTexturePixel = 2019f; ArrowSpriteInstance.RightTexturePixel = 2034f; ArrowSpriteInstance.TopTexturePixel = 1571f; ArrowSpriteInstance.BottomTexturePixel = 1712f; ArrowSpriteInstance.TextureScale = 1f; if (PivotPoint.Parent == null) { PivotPoint.CopyAbsoluteToRelative(); PivotPoint.AttachTo(this, false); } if (PivotPoint.Parent == null) { base.PivotPoint.X = -2.5f; } else { base.PivotPoint.RelativeX = -2.5f; } if (PivotPoint.Parent == null) { base.PivotPoint.Y = 36f; } else { base.PivotPoint.RelativeY = 36f; } if (LightAimSpriteInstance.Parent == null) { LightAimSpriteInstance.CopyAbsoluteToRelative(); LightAimSpriteInstance.AttachTo(this, false); } base.LightAimSpriteInstance.Texture = AllParticles; base.LightAimSpriteInstance.TextureScale = 1f; base.LightAimSpriteInstance.AnimationChains = StructureGlowAnimationChainList; base.LightAimSpriteInstance.Visible = false; FlatRedBall.Math.Geometry.ShapeManager.SuppressAddingOnVisibilityTrue = oldShapeManagerSuppressAdd; }