/// <summary> /// Filters the given value using the <see cref="UseMode"/>. /// </summary> /// <param name="mode">The mode.</param> /// <param name="value">The value to process.</param> /// <param name="defaultValue">The default value.</param> /// <returns>The combined value.</returns> protected static Vector2 ApplyUseModeMask(UseMode mode, Vector2 value, Vector2 defaultValue) { return(new Vector2( (mode & UseMode.Horizontal) == UseMode.Horizontal ? value.X : defaultValue.X, (mode & UseMode.Vertical) == UseMode.Vertical ? value.Y : defaultValue.Y )); }
/// <summary> /// Filters the given value using the <see cref="UseMode"/>. /// </summary> /// <param name="mode">The mode.</param> /// <param name="value">The value to process.</param> /// <param name="defaultValue">The default value.</param> /// <returns>The combined value.</returns> protected static Float2 ApplyUseModeMask(UseMode mode, Float2 value, Float2 defaultValue) { return(new Float2( (mode & UseMode.Horizontal) == UseMode.Horizontal ? value.X : defaultValue.X, (mode & UseMode.Vertical) == UseMode.Vertical ? value.Y : defaultValue.Y )); }
private bool WasPressed(UseMode useMode) { switch (useMode) { case UseMode.LeftClick: return(Input.GetMouseButtonDown(0)); case UseMode.RightClick: return(Input.GetMouseButtonDown(1)); } return(false); }
private bool WasPressed(UseMode useMode) { // This might be better off with the new input manager system? // Figure out the use mode and then return the input value for that use mode. switch (useMode) { case UseMode.LeftClick: return(Input.GetMouseButtonDown(0)); case UseMode.RightClick: return(Input.GetMouseButtonDown(1)); } // If we don't have an applicable usemode, don't worry about it. return(false); }
internal static int UseTexture(int TextureIndex, UseMode Mode) { if (TextureIndex == -1) return 0; Textures[TextureIndex].CyclesSurvived = 0; if (Textures[TextureIndex].Loaded) { return Textures[TextureIndex].OpenGlTextureIndex; } else if (Textures[TextureIndex].Data != null) { if (Textures[TextureIndex].IsRGBA) { LoadTextureRGBAforOpenGl(TextureIndex); } else { LoadTextureRGBforOpenGl(TextureIndex); } return Textures[TextureIndex].OpenGlTextureIndex; } else { if (Renderer.LoadTexturesImmediately == Renderer.LoadTextureImmediatelyMode.Yes | Mode == UseMode.LoadImmediately || (Renderer.LoadTexturesImmediately != Renderer.LoadTextureImmediatelyMode.NotYet & Textures[TextureIndex].LoadImmediately & Mode != UseMode.QueryDimensions)) { LoadTextureData(TextureIndex); if (Textures[TextureIndex].Loaded) { return Textures[TextureIndex].OpenGlTextureIndex; } else if (Textures[TextureIndex].Data != null) { if (Textures[TextureIndex].IsRGBA) { LoadTextureRGBAforOpenGl(TextureIndex); } else { LoadTextureRGBforOpenGl(TextureIndex); } return Textures[TextureIndex].OpenGlTextureIndex; } else { return 0; } } else { if (Mode == UseMode.QueryDimensions & Textures[TextureIndex].FileName != null) { try { Bitmap b = (Bitmap)Image.FromFile(Textures[TextureIndex].FileName); Textures[TextureIndex].ClipWidth = b.Width; Textures[TextureIndex].ClipHeight = b.Height; b.Dispose(); } catch (Exception ex) { Interface.AddMessage(Interface.MessageType.Error, false, "Internal error in TextureManager.cs::UseTexture: " + ex.Message); throw; } } Textures[TextureIndex].Queried = true; return 0; } } }
internal static int UseTexture(int TextureIndex, UseMode Mode) { if (TextureIndex > Textures.Length || Textures[TextureIndex] == null || TextureIndex == -1) { return(0); } Textures[TextureIndex].CyclesSurvived = 0; if (Textures[TextureIndex].Loaded) { return(Textures[TextureIndex].OpenGlTextureIndex); } else if (Textures[TextureIndex].Data != null) { if (Textures[TextureIndex].IsRGBA) { LoadTextureRGBAforOpenGl(TextureIndex); } else { LoadTextureRGBforOpenGl(TextureIndex); } return(Textures[TextureIndex].OpenGlTextureIndex); } else { if (Renderer.LoadTexturesImmediately == Renderer.LoadTextureImmediatelyMode.Yes | Mode == UseMode.LoadImmediately || (Renderer.LoadTexturesImmediately != Renderer.LoadTextureImmediatelyMode.NotYet & Textures[TextureIndex].LoadImmediately & Mode != UseMode.QueryDimensions)) { LoadTextureData(TextureIndex); if (Textures[TextureIndex].Loaded) { return(Textures[TextureIndex].OpenGlTextureIndex); } else if (Textures[TextureIndex].Data != null) { if (Textures[TextureIndex].IsRGBA) { LoadTextureRGBAforOpenGl(TextureIndex); } else { LoadTextureRGBforOpenGl(TextureIndex); } return(Textures[TextureIndex].OpenGlTextureIndex); } else { return(0); } } else { if (Mode == UseMode.QueryDimensions & Textures[TextureIndex].FileName != null) { try { Bitmap b = (Bitmap)Image.FromFile(Textures[TextureIndex].FileName); Textures[TextureIndex].ClipWidth = b.Width; Textures[TextureIndex].ClipHeight = b.Height; b.Dispose(); } catch (Exception ex) { Interface.AddMessage(Interface.MessageType.Error, false, "Internal error in TextureManager.cs::UseTexture: " + ex.Message); throw; } } Textures[TextureIndex].Queried = true; return(0); } } }
/// <summary> /// Converts the <see cref="UseMode"/> into the <see cref="Vector2"/> mask. /// </summary> /// <param name="mode">The mode.</param> /// <returns>The mask.</returns> protected static Vector2 GetUseModeMask(UseMode mode) { return(new Vector2((mode & UseMode.Horizontal) == UseMode.Horizontal ? 1.0f : 0.0f, (mode & UseMode.Vertical) == UseMode.Vertical ? 1.0f : 0.0f)); }
internal static int UseTexture(int TextureIndex, UseMode Mode) { if (TextureIndex == -1) return 0; Textures[TextureIndex].CyclesSurvived = 0; if (Textures[TextureIndex].Loaded) { return Textures[TextureIndex].OpenGlTextureIndex; } else if (Textures[TextureIndex].Data != null) { if (Textures[TextureIndex].IsRGBA) { LoadTextureRGBAforOpenGl(TextureIndex); } else { LoadTextureRGBforOpenGl(TextureIndex); } return Textures[TextureIndex].OpenGlTextureIndex; } else { if (Renderer.LoadTexturesImmediately == Renderer.LoadTextureImmediatelyMode.Yes | Mode == UseMode.LoadImmediately || (Renderer.LoadTexturesImmediately != Renderer.LoadTextureImmediatelyMode.NotYet & Textures[TextureIndex].LoadImmediately & Mode != UseMode.QueryDimensions)) { LoadTextureData(TextureIndex); if (Textures[TextureIndex].Loaded) { return Textures[TextureIndex].OpenGlTextureIndex; } else if (Textures[TextureIndex].Data != null) { if (Textures[TextureIndex].IsRGBA) { LoadTextureRGBAforOpenGl(TextureIndex); } else { LoadTextureRGBforOpenGl(TextureIndex); } return Textures[TextureIndex].OpenGlTextureIndex; } else { return 0; } } else { if (Mode == UseMode.QueryDimensions & Textures[TextureIndex].FileName != null) { Bitmap b = (Bitmap)Image.FromFile(Textures[TextureIndex].FileName); Textures[TextureIndex].ClipWidth = b.Width; Textures[TextureIndex].ClipHeight = b.Height; b.Dispose(); } Textures[TextureIndex].Queried = true; return 0; } } }