Объектно ориентированные функции и свойства
Объектно ориентированное программирование для разработки сценариев квестов
class className : Class1, Class2, ... { }
Определение нового класса. При желании он может наследоваться от одного или нескольких классов. Внутри определения класса могут быть конструкторы, функции и определения переменных. Доступ к этим переменным и функциям осуществляется с использованием точечной нотации (все они общедоступны).
new className(param1, param2, ...)
Создает и возвращает экземпляр (объект) класса className . Конструктору класса может быть передано ноль или более параметров (в зависимости от определений параметров конструктора класса).
variable.Properties
Возвращает список всех свойств, которые реализует эта переменная.
variable.Size
Возвращает либо количество элементов в массиве, если переменная имеет тип ARRAY, либо количество символов в строковом представлении этой переменной.
variable.Type
Возвращает тип этой переменной (например, NONE, STRING, NUMBER, ARRAY, OBJECT).
variable.EmptyOrWhite
Возвращает true тогда и только тогда, когда базовая строка пуста или содержит только пробелы.
variable.Add(value)
Добавляет передаваемое значение к базовому массиву или к внутреннему строковому представлению.
variable.Remove(item)
Если переменная является словарем, удаляется запись с именем переданного ключа. В противном случае, если переменная является массивом, удаляются все записи, равные переданному элементу. Возвращает количество удаленных записей.
variable.RemoveAt(index)
Если переменная является массивом, удаляется указанная запись с этим индексом. Возвращает количество удаленных записей.
variable.Contains(value)
Если переменная представляет собой список, возвращает, содержит ли она это значение. В противном случае преобразует текущую переменную в строку и возвращает, содержит ли она переданное значение.
variable.StartsWith(value)
Начинается ли переменная, преобразованная в строку, с этого значения.
variable.EndsWith(value)
Заканчивается ли переменная, преобразованная в строку, этим значением.
variable.Replace(oldValue, newValue)
Заменяет старое значение на новое значение.
variable.ReplaceAndTrim(oldValue1, newValue1, oldValue2, newValue2, ... )
Заменяет все oldValueX соответствующим newValueX. Возвращает строку без начальных и завершающих пробелов.
variable.IndexOf(value, from=0)
Возвращает индекс значения в переменной (-1, если не найдено).
variable.Join(sep=" ")
Преобразует список в строку на основе символа разделения строк.
variable.First
Возвращает первый символ этой строки или первого элемента списка.
variable.Last
Возвращает последний символ этой строки или последнего элемента списка.
variable.Keys
Если базовая переменная является словарем, возвращает все ключи словаря.
variable.Substring(value, from, size)
Возвращает подстроку заданной строки.
variable.Split(sep=" ")
Возвращает новый список на основе символа разделения строк.
variable.Trim()
Возвращает новую переменную без начальных или завершающих пробелов.
variable.Lower()
Возвращает новую переменную, преобразованную в нижний регистр.
variable.Upper()
Возвращает новую переменную, преобразованную в верхний регистр.
variable.Sort()
Сортирует базовый массив.
variable.Reverse()
Изменяет содержимое базового массива или строки на противоположное.
Примеры
class Stuff1
{
x = 2;
Stuff1(a)
{
x = a;
}
function AddStuff1(n)
{
return n + x;
}
}
class Stuff2
{
y = 3;
Stuff2(b)
{
y = b;
}
function AddStuff2(n)
{
return n + y;
}
}
class CoolStuff : Stuff1, Stuff2
{
z = 3;
CoolStuff(a, b, c)
{
x = a;
y = b;
z = c;
}
function AddCoolStuff()
{
return x + addStuff2(z);
}
}
addition = 100;
obj1 = new Stuff1(10);
print(obj1.x); // prints 10
print(obj1.AddStuff1(addition); // prints 110
obj2 = new Stuff2(20);
print(obj2.y); // prints 20
print(obj2.AddStuff2(addition)); // prints 120
newObj = new CoolStuff(11, 13, 17);
print(newObj.AddCoolStuff()); // prints 41
print(newObj.AddStuff1(addition)); // prints 111
print(newObj.AddStuff2(addition)); // prints 113Last updated