Splits the full path into name of particle and it's directory path, then registers the particle with the name and returns its ID Called by C++
Silently fail on retail, game already takes too long to boot, lets not make it longer
TODO(kumarjac): bake in this error
См. определение в файле ParticleList.c строка 387
388 {
390#ifdef DIAG_DEVELOPER
391 if (fullPath.
Replace(
"\\",
"/") > 0)
392 {
393 ErrorEx(
string.Format(
"Using wrong path delimiter for particle registering! Use '/' instead of '\\'. fullPath=%1", fullPath),
ErrorExSeverity.WARNING);
394 }
395#endif
396
398 if (lastIndex < 0)
399 {
401#ifdef WAITING_FOR_PBOS_TO_BE_UPDATED
403 return ParticleList.INVALID;
404#else
406#endif
407 }
408
409
410
411 string rootPath = fullPath.
Substring(0, lastIndex + 1);
412 string fileName = fullPath.
Substring(lastIndex + 1, fullPath.
Length() - (lastIndex + 1));
413
415 }
static string GetPathToParticles()
Returns base path to all particles.
static int RegisterParticle(string file_name)
static int RegisterParticleByFullPath(string fullPath)
proto native int Length()
Returns length of string.
proto int Replace(string sample, string replace)
Replace all occurrances of 'sample' in 'str' by 'replace'.
proto native int LastIndexOf(string sample)
Finds last 'sample' in 'str'. Returns -1 when not found.
proto string Substring(int start, int len)
Substring of 'str' from 'start' position 'len' number of characters.
Перекрестные ссылки ErrorEx, GetPathToParticles(), INVALID, string::LastIndexOf(), string::Length(), RegisterParticle(), RegisterParticleByFullPath(), string::Replace() и string::Substring().
Используется в RegisterParticleByFullPath().