void AtomicTool::DoActivation() { LicenseSystem* licenseSystem = GetSubsystem<LicenseSystem>(); if (!licenseSystem->ValidateKey(activationKey_)) { ErrorExit(ToString("\nProduct key \"%s\" is invalid, keys are in the form ATOMIC-XXXX-XXXX-XXXX-XXXX\n", activationKey_.CString())); return; } licenseSystem->LicenseAgreementConfirmed(); SubscribeToEvent(E_LICENSE_ACTIVATIONERROR, HANDLER(AtomicTool, HandleLicenseActivationError)); SubscribeToEvent(E_LICENSE_ACTIVATIONSUCCESS, HANDLER(AtomicTool, HandleLicenseActivationSuccess)); licenseSystem->RequestServerActivation(activationKey_); }