Error message

  • Notice: Undefined index: comment_node_geshinode_form in drupal_retrieve_form() (line 752 of /home/realdev/public_html/includes/form.inc).
  • Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'comment_node_geshinode_form' not found or invalid function name in drupal_retrieve_form() (line 787 of /home/realdev/public_html/includes/form.inc).

C# - Keyboard handling - #xna

namespace GIADBase
{
class KeyboardHandler
{
protected KeyboardState CurrentState, PreviousState;
protected Dictionary
PressLengths = new Dictionary(),
ReleasedLength = new Dictionary();
//keyboardHandler.add(Keys.A);
public List LengthCheckedKeys = new List();
private int i;

//initialise the class
public KeyboardHandler()
{
CurrentState = Keyboard.GetState();
PreviousState = Keyboard.GetState();
}

//update method
public void Update(GameTime gameTime)
{
PreviousState = CurrentState;
CurrentState = Keyboard.GetState();

for (i = 0; i < LengthCheckedKeys.Count; i++)
{
if (this.KeyHeld(LengthCheckedKeys[i]))
{
PressLengths[LengthCheckedKeys[i]] += gameTime.ElapsedGameTime.Milliseconds;
}
else if (this.KeyLeft(LengthCheckedKeys[i]))
{
PressLengths[LengthCheckedKeys[i]] += gameTime.ElapsedGameTime.Milliseconds;
ReleasedLength[LengthCheckedKeys[i]] = PressLengths[LengthCheckedKeys[i]];
}
else
{
PressLengths[LengthCheckedKeys[i]] = 0.0f;
}
}
}

//Check if a key was pressed
public bool KeyPress(Keys k)
{
return ((CurrentState.IsKeyDown(k)) && (!PreviousState.IsKeyDown(k)));
}

//check if a key is being held down
public bool KeyHeld(Keys k)
{
return ((CurrentState.IsKeyDown(k)) && (PreviousState.IsKeyDown(k)));
}

//check if a key was let go
public bool KeyLeft(Keys k)
{
return ((!CurrentState.IsKeyDown(k)) && (PreviousState.IsKeyDown(k)));
}

public void AddKey(Keys k)
{
PressLengths.Add(k, 0.0f);
ReleasedLength.Add(k, 0.0f);
LengthCheckedKeys.Add(k);
}

//check for how long a key was pressed for so far: milliseconds
public float HeldFor(Keys k)
{
return PressLengths[k];
}

//check for how long the key was pressed when it was released
public float ReleasedTime(Keys k)
{
return ReleasedLength[k];
}

}
}

No comments available.

Add new comment