# Particle

Класс для работы с партиклями. Обратите внимание на то, что включает в себя не только статические методы

# Статические методы

# Create

Создаёт партикл по пути из папки Dota 2.

Аргументы:

Возвращаемые значения:

  • Particle - экземпляр класса

Пример использования:

let exampleScript = {};

exampleScript.OnUpdate = () => {
    if(!GameRules.IsActiveGame()) {
        return;
    }

    let me = EntitySystem.GetLocalHero();
    
    if(!me) {
        return;
    }
    
    // Создаёт партикль каждый тик и удаляет через 1 секунду.
    let particle = Particle.Create('particles/ui_mouseactions/drag_selected_ring.vpcf', 
        Enum.ParticleAttachment.PATTACH_POINT, 
        me);

    particle.SetControl(0, me.GetAbsOrigin());

    setTimeout(() => {
        particle.Destroy();
    });
};

RegisterScript(exampleScript);

# CreateCircle

Создаёт партикл круга

Аргументы:

  • particle - Particle | null. Если указан валидный партикл, он удалится и создастся новый
  • position - Vector | Entity
  • radius - number

Возвращаемые значения:

  • Particle - экземпляр класса

Пример использования:

let exampleScript = {};

exampleScript.OnUpdate = () => {
    // TODO: cделать пример
};

RegisterScript(exampleScript);

# CreateColoredCircle

Создаёт цветной партикл круга

Аргументы:

  • particle - Particle | null. Если указан валидный партикль, он удалится и создастся новый
  • position - Vector | Entity
  • radius - number
  • r - number
  • g - number
  • b - number
  • alpha - number. Прозрачность партикла
  • dashAlpha - number. Прозрачность чёрточек в партикле

Возвращаемые значения:

  • Particle - экземпляр класса

Пример использования:

let exampleScript = {};

exampleScript.OnUpdate = () => {
    if(!GameRules.IsActiveGame()) {
        return;
    }

    let me = EntitySystem.GetLocalHero();
    
    if(!me) {
        return;
    }
    
    // Создаёт партикль каждый тик и удаляет в следующий тик.
    let particle = Particle.CreateColoredCircle(null, new Vector(0, 0, 0), 400, 255, 255, 255, 255, 0);

    particle.SetControl(0, me.GetAbsOrigin());

    setTimeout(() => {
        particle.Destroy();
    });
};

RegisterScript(exampleScript);

# Методы экземпляра класса

# SetControl

Устанавливает Control по индексу. Посмотреть индексы можно в Workshop Tools

Аргументы:

  • controlIndex - number
  • vector - Vector

Пример использования:

let exampleScript = {};

exampleScript.OnUpdate = () => {
    // TODO: пример использования
};

RegisterScript(exampleScript);

# Destroy

Удаляет партикл

Пример использования:

let exampleScript = {};

exampleScript.OnUpdate = () => {
    // TODO: пример использования
};

RegisterScript(exampleScript);