Справочник: C#

Общее

Переменная

Переменная — поименованная область памяти, адрес которой можно использовать для осуществления доступа к данным и изменять значение в ходе выполнения программы. Переменные хранят в себе информацию разного типа, эти данные называют значением переменной. Для каждого типа данных есть свой тип переменной. Например:

  1. Целочисленные: int (от –2 147 483 648 до 2 147 483 647), long (от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807).
  2. Символы и строки: char (элемент в кодировке UTF-16), string (последовательность элементов в кодировке UTF-16).
  3. С плавающей запятой (дробные): float (от 1,5 × 10–45 до 3,4 × 1038, с точностью до 7 цифр), double (от 5,0 × 10–324 до 1,7 × 10308, с точностью до 15 цифр).
  4. Логические: bool (значение true или false).

Инициализация переменной

Все переменные в C# должны быть объявлены (инициализированы) до их применения. Например:

int i; //объявление переменной типа int

Задать значение переменной можно, в частности, с помощью оператора присваивания — знак «=». Кроме того, при объявлении переменной можно сразу задать ее значение. Например:

int i = 10;        // задаем целочисленной переменной i значение 10
char symbol = 'Z';   // объявляем переменную symbol буквенным значением Z
float f = 15.7;   // переменная f объявляется числовым значением 15.7
int x = 5, y = 10, z = 12;    // объявляем несколько переменных одного типа

Переменные численных типов можно складывать, вычитать, умножать и делить:

+ — операция сложения;

— операция вычитания;

* — операция умножения;

/ — операция деления.

Оператор if

Довольно часто при создании скриптов возникает необходимость сделать так, чтобы выполнение или невыполнение каких-то действий зависело от выполнения или невыполнения некоторого условия. Для решения подобных задач используется условный оператор if:

int a = 5;
int b = 2;
// если a > b, то
if (a > b) {
	print(a); // выведем a
}

Чтобы сказать программе, что делать, если условие не выполняется, используйте блок else:

int a = 5;
int b = 67;
// если a > b, то
if (a > b) {
	print(a); // выведем a
}
else { // иначе
	print(b); // выведем b
}

Бывает, что нужно проверить несколько вариантов условия. Для этого используется блок else if:

int age = 30;
// если возраст > 70
if (age > 70) { 
	print("Ты уже старик");
}
// в остальных случаях, если возраст > 18
else if (age > 18) {
	print("Ты уже взрослый");
}
// во всех остальных случаях
else {
	print("Ты еще ребенок");
}

Для сравнения значений существуют следующие операторы:

> больше

>= больше или равно.

== равно.

!= не равно.

<= меньше или равно.

< меньше.

Функции

Функция — участок кода с собственными именем, который принимает на вход какие-то данные, что-то с ними делает и возвращает обратно результат (хотя возможен вариант когда функция ничего не принимает и не возвращает,а просто что-то делает).

Посмотри на пример:

string name = "Александр";
string otchestvo = "Сергеевич";
string surname = "Пушкин";
 
 
string name2 = "Наталья";
string otchestvo2 = "Николаевна";
string surname2 = "Гончарова";
 
Console.WriteLine(surname  + " " + name + " " + otchestvo);
System.Console.WriteLine(surname2  + " " + name2 + " " + otchestvo2);
 
Console.ReadLine();

У нас есть разные люди с данными в виде отдельных фамилии, имени, отчества, которые надо объединить и вывести на экран. Обрати внимание, что два раза повторяется один и тот же участок кода — склеивание трех строк в одну. Функция в нашем случае будет выглядеть вот так:

public static string CreateFio(string surname, string name, string otchestvo)
{
    string fio = surname + " " + name + " " + otchestvo;
    return fio;
}

Слова public static отложим пока в сторону, string означает, что функция вернет назад строку, CreateFio(string surname, string name, string otchestvo) — название функции и описание того, что она принимает на вход три строки.

Теперь та же программа будет выглядеть таким образом:

 static void Main(string[] args)
    {
        string name = "Александр";
        string otchestvo = "Сергеевич";
        string surname = "Пушкин";

        string name2 = "Наталья";
        string otchestvo2 = "Николаевна";
        string surname2 = "Гончарова";
 
        Console.WriteLine(CreateFio(surname, name, otchestvo));
        Console.WriteLine(CreateFio(surname2, name2, otchestvo2));
 
        Console.ReadLine();

 public static string CreateFio(string surname, string name, string otchestvo)
    {
        string fio = surname + " " + name + " " + otchestvo;
        return fio;
    }

Unity Engine

Instantiate

Эта функция клонирует объект и размещает клон в нужно тебе месте.

Ты можешь клонировать GameObject или компонент. Если ты клонируешь компонент, то GameObject, к которому он присоединен, также будет клонирован. В обоих случаях все дочерние объекты также будут клонированы. Все свойства при этом будут соответствовать оригинальному объекту.

Ты можешь клонировать объект, который размещен на сцене или prefab.

Instantiate (original, transform.position); // клонирование объекта и размещение его в координатах родителя
Instantiate (original, Vector3); // клонирование объекта и размещение его в любых координатах
Instantiate (original, Vector3, Quaternion); // клонирование объекта и размещение его в любых координатах, с любым разворотом
OnTriggerEnter(Collider)

OnTriggerEnter(Collider) — это функция событий.

OnTriggerEnter вызывается, когда Collider other входит в триггер. Код, который будет размещен в этой функции, будет выполнен один раз.

    void OnTriggerEnter(Collider other) {
        Destroy(other.gameObject);
    }
OnTriggerExit(Collider)

OnTriggerExit(Collider) — это функция событий.

OnTriggerEnter вызывается, когда Collider other выходит из триггер. Код, который будет размещен в этой функции, будет выполнен один раз.

    void OnTriggerExit(Collider other) {
        Destroy(other.gameObject);
    }
OnTriggerStay(Collider)

OnTriggerStay(Collider) — это функция событий.

OnTriggerStay вызывается почти каждый кадр, пока Collider other находится в триггере. Код, который будет размещен в этой функции, будет выполнятся до тех пор, пока Collider other не выйдет за пределы триггера.

    // Применяет силу "вверх" ко всем игровым объектам с компонентом Rigidbody, которые входят в триггер.
    void OnTriggerStay ( Collider other )
    {
        if (other.attachedRigidbody)
            other.attachedRigidbody.AddForce ( Vector3.up * 10);
    }
Start()

Start — это функция событий.

Функция Start вызывается до обновления первого кадра(first frame) только если скрипт включен.

Для объектов добавленных на сцену, функция Start будет вызываться во всех скриптах до функции Update. Естественно, это не может быть обеспечено при создании объекта непосредственно во время игры.

    void Start () {
        Player = GameObject.FindGameObjectWithTag("Player"); // Ищем игровой объект с тегом "Player"
    }
Transform

Каждый объект в сцене имеет Transform. Компонент Transform содержит в себе следующие свойства: позиция (position), поворот (rotation) и масштаб объекта (scale).

Значения положения, вращения и масштаба Transform’а измеряются относительно его родителя. Если у Transform’а нет родителя, тогда все эти свойства измеряются в мировом пространстве.

transform.position + = Vector3.up * 10.0F; // перемещаем игровой объект
Update()

Updateэто функция событий.

Игра — это что-то вроде анимации, в которой кадры генерируются на ходу. Ключевой концепт в программировании игр заключается в изменении позиции, состояния и поведения объектов в игре прямо перед отрисовкой кадра. Такой код в Unity обычно размещают в функции Update. Update вызывается перед отрисовкой кадра и перед расчётом анимаций.

void Update() {
    float distance = speed * Time.deltaTime * Input.GetAxis("Horizontal");
    transform.Translate(Vector3.right * distance);
}

Этот справочник постоянно дополняется. Если у тебя есть, что добавить, тебе хочется что-то убрать или изменить, а может просто сказать «спасибо» — пиши Администратору сайта.