示例#1
0
FText UK2Node_InputKey::GetNodeTitle(ENodeTitleType::Type TitleType) const
{
	if (bControl || bAlt || bShift || bCommand)
	{
		if (CachedNodeTitle.IsOutOfDate())
		{
			FFormatNamedArguments Args;
			Args.Add(TEXT("ModifierKey"), GetModifierText());
			Args.Add(TEXT("Key"), GetKeyText());
			
			// FText::Format() is slow, so we cache this to save on performance
			CachedNodeTitle = FText::Format(NSLOCTEXT("K2Node", "InputKey_Name_WithModifiers", "{ModifierKey} {Key}"), Args);
		}
		return CachedNodeTitle;
	}
	else
	{
		return GetKeyText();
	}
}
/**
 * Returns the friendly, localized string name of this key binding
 * @todo Slate: Got to be a better way to do this
 */
FText FInputChord::GetInputText( ) const
{
#if PLATFORM_MAC
    const FText CommandText = LOCTEXT("KeyName_Control", "Ctrl");
    const FText ControlText = LOCTEXT("KeyName_Command", "Cmd");
#else
    const FText ControlText = LOCTEXT("KeyName_Control", "Ctrl");
    const FText CommandText = LOCTEXT("KeyName_Command", "Cmd"); 
#endif
    const FText AltText = LOCTEXT("KeyName_Alt", "Alt");
    const FText ShiftText = LOCTEXT("KeyName_Shift", "Shift");
    
	const FText AppenderText = LOCTEXT("ModAppender", "+");

	FFormatNamedArguments Args;
	int32 ModCount = 0;

    if (bCtrl)
    {
		Args.Add(FString::Printf(TEXT("Mod%d"),++ModCount), ControlText);
    }
    if (bCmd)
    {
		Args.Add(FString::Printf(TEXT("Mod%d"),++ModCount), CommandText);
    }
    if (bAlt)
    {
		Args.Add(FString::Printf(TEXT("Mod%d"),++ModCount), AltText);
    }
    if (bShift)
    {
		Args.Add(FString::Printf(TEXT("Mod%d"),++ModCount), ShiftText);
    }

	for (int32 i = 1; i <= 4; ++i)
	{
		if (i > ModCount)
		{
			Args.Add(FString::Printf(TEXT("Mod%d"), i), FText::GetEmpty());
			Args.Add(FString::Printf(TEXT("Appender%d"), i), FText::GetEmpty());
		}
		else
		{
			Args.Add(FString::Printf(TEXT("Appender%d"), i), AppenderText);
		}

	}

	Args.Add(TEXT("Key"), GetKeyText());

	return FText::Format(LOCTEXT("FourModifiers", "{Mod1}{Appender1}{Mod2}{Appender2}{Mod3}{Appender3}{Mod4}{Appender4}{Key}"), Args);
}
示例#3
0
FText UK2Node_InputKey::GetModifierText() const
{
#if PLATFORM_MAC
    const FText CommandText = NSLOCTEXT("UK2Node_InputKey", "KeyName_Control", "Ctrl");
    const FText ControlText = NSLOCTEXT("UK2Node_InputKey", "KeyName_Command", "Cmd");
#else
    const FText ControlText = NSLOCTEXT("UK2Node_InputKey", "KeyName_Control", "Ctrl");
    const FText CommandText = NSLOCTEXT("UK2Node_InputKey", "KeyName_Command", "Cmd");
#endif
    const FText AltText = NSLOCTEXT("UK2Node_InputKey", "KeyName_Alt", "Alt");
    const FText ShiftText = NSLOCTEXT("UK2Node_InputKey", "KeyName_Shift", "Shift");
    
	const FText AppenderText = NSLOCTEXT("UK2Node_InputKey", "ModAppender", "+");

	FFormatNamedArguments Args;
	int32 ModCount = 0;

    if (bControl)
    {
		Args.Add(FString::Printf(TEXT("Mod%d"),++ModCount), ControlText);
    }
    if (bCommand)
    {
		Args.Add(FString::Printf(TEXT("Mod%d"),++ModCount), CommandText);
    }
    if (bAlt)
    {
		Args.Add(FString::Printf(TEXT("Mod%d"),++ModCount), AltText);
    }
    if (bShift)
    {
		Args.Add(FString::Printf(TEXT("Mod%d"),++ModCount), ShiftText);
    }

	for (int32 i = 1; i <= 4; ++i)
	{
		if (i > ModCount)
		{
			Args.Add(FString::Printf(TEXT("Mod%d"), i), FText::GetEmpty());
		}

		Args.Add(FString::Printf(TEXT("Appender%d"), i), (i < ModCount ? AppenderText : FText::GetEmpty()));
	}

	Args.Add(TEXT("Key"), GetKeyText());

	return FText::Format(NSLOCTEXT("UK2Node_InputKey", "NodeTitle", "{Mod1}{Appender1}{Mod2}{Appender2}{Mod3}{Appender3}{Mod4}"), Args);
}
示例#4
0
FText UK2Node_InputKey::GetTooltipText() const
{
	if (CachedTooltip.IsOutOfDate())
	{
		FText ModifierText = GetModifierText();
		FText KeyText = GetKeyText();

		// FText::Format() is slow, so we cache this to save on performance
		if (!ModifierText.IsEmpty())
		{
			CachedTooltip = FText::Format(NSLOCTEXT("K2Node", "InputKey_Tooltip_Modifiers", "Events for when the {0} key is pressed or released while {1} is also held."), KeyText, ModifierText);
		}
		else
		{
			CachedTooltip = FText::Format(NSLOCTEXT("K2Node", "InputKey_Tooltip", "Events for when the {0} key is pressed or released."), KeyText);
		}
	}
	return CachedTooltip;
}
示例#5
0
/** 更新按钮上显示的按键文字 */
static void UpdateKeyBtn(void)
{
	ControlKey ctrlkey;
	wchar_t btn_text[24], buff_text[12];

	GameConfig_GetKeyControl( &ctrlkey );
	
	GetKeyText( ctrlkey.left, buff_text );
	swprintf( btn_text, sizeof(btn_text), L"<size=18px>%s</size>", buff_text );
	Button_TextW( btn_left, btn_text );
	
	GetKeyText( ctrlkey.right, buff_text );
	swprintf( btn_text, sizeof(btn_text), L"<size=18px>%s</size>", buff_text );
	Button_TextW( btn_right, btn_text );
	
	GetKeyText( ctrlkey.up, buff_text );
	swprintf( btn_text, sizeof(btn_text), L"<size=18px>%s</size>", buff_text );
	Button_TextW( btn_up, btn_text );
	
	GetKeyText( ctrlkey.down, buff_text );
	swprintf( btn_text, sizeof(btn_text), L"<size=18px>%s</size>", buff_text );
	Button_TextW( btn_down, btn_text );

	GetKeyText( ctrlkey.a_attack, buff_text );
	swprintf( btn_text, sizeof(btn_text), L"<size=18px>%s</size>", buff_text );
	Button_TextW( btn_a_atk, btn_text );

	GetKeyText( ctrlkey.b_attack, buff_text );
	swprintf( btn_text, sizeof(btn_text), L"<size=18px>%s</size>", buff_text );
	Button_TextW( btn_b_atk, btn_text );

	GetKeyText( ctrlkey.defense, buff_text );
	swprintf( btn_text, sizeof(btn_text), L"<size=18px>%s</size>", buff_text );
	Button_TextW( btn_defense, btn_text );

	GetKeyText( ctrlkey.jump, buff_text );
	swprintf( btn_text, sizeof(btn_text), L"<size=18px>%s</size>", buff_text );
	Button_TextW( btn_jump, btn_text );
}
示例#6
0
int CPROC KeyHandler( uintptr_t psv, uint32_t key )
{
	if( GetKeyText( key ) == '\x1b' )
		g.flags.exit = 1;
   return 0; // nope, didn't use it.
}