Esempio n. 1
0
void plArmatureBehavior::SetStrength(float val, float rate /* = 0.f */)
{
    float oldStrength = GetStrength();
    if (rate == 0)
        fStrength.Set(val);
    else
        fStrength.Set(val, fabs(val - oldStrength) / rate);

    if (fAnim)
        fAnim->Fade(val, rate);
    if (val > 0 && oldStrength == 0)
        IStart();
    else if (val == 0 && oldStrength > 0)
        IStop();
}
Esempio n. 2
0
int __stdcall IMessageProc(sIMessage_base * msgBase) {
    sIMessage_2params * msg = (msgBase->s_size>=sizeof(sIMessage_2params))?static_cast<sIMessage_2params*>(msgBase):0;
    switch (msgBase->id) {
    /* Wiadomoœci na które TRZEBA odpowiedzieæ */
    case IM_PLUG_NET:        return NET_EXPIMP; // Zwracamy wartoœæ NET, która MUSI byæ ró¿na od 0 i UNIKATOWA!
	case IM_PLUG_TYPE:       return IMT_UI|IMT_CONFIG; // Zwracamy jakiego typu jest nasza wtyczka (które wiadomoœci bêdziemy obs³ugiwaæ)
    case IM_PLUG_VERSION:    return 0; // Wersja wtyczki tekstowo major.minor.release.build ...
    case IM_PLUG_SDKVERSION: return KONNEKT_SDK_V;  // Ta linijka jest wymagana!
    case IM_PLUG_SIG:        return (int)"EXPIMP"; // Sygnaturka wtyczki (krótka, kilkuliterowa nazwa)
    case IM_PLUG_CORE_V:     return (int)"W98"; // Wymagana wersja rdzenia
    case IM_PLUG_UI_V:       return 0; // Wymagana wersja UI
    case IM_PLUG_NAME:       return (int)"exPiMP"; // Pe³na nazwa wtyczki
    case IM_PLUG_NETNAME:    return 0; // Nazwa obs³ugiwanej sieci (o ile jak¹œ sieæ obs³uguje)
    case IM_PLUG_INIT:       Plug_Init(msg->p1,msg->p2);return Init();
    case IM_PLUG_DEINIT:     Plug_Deinit(msg->p1,msg->p2);return DeInit();

    case IM_SETCOLS:     return ISetCols();

    case IM_UI_PREPARE:      return IPrepare();
    case IM_START:           return IStart();
    case IM_END:             return IEnd();

    case IM_UIACTION:        return ActionProc((sUIActionNotify_base*)msg->p1);

	case IM_PLUG_ARGS: {
		sIMessage_plugArgs * pa = static_cast<sIMessage_plugArgs*> (msgBase);
		if (pa->argc < 2) return 0;
		const char * import_ = getArgV(pa->argv+1 , pa->argc-1 , "-import" , true);
		if (import_ && *import_) {
			CStdString import = import_;
			if (import.find("expimp:")==0) {
				import = import.substr(import.find(':') + 1);
			}
			DoImport(import);		
		}
		return 0;}

    /* Tutaj obs³ugujemy wszystkie pozosta³e wiadomoœci */

    default:
        if (Ctrl) Ctrl->setError(IMERROR_NORESULT);
        return 0;

 }
 return 0;
}