Member 13120882 Ответов: 1

Ошибка синтаксического анализа-классы C#


Я помню, что кодирование на javascript и создание объектов и доступ к ним были довольно простыми. Например:
var country = {
    people:32,
    homes:{
        bigHomes:6,
        smallHomes:2,
        normalHomes:21
    },
    playgrounds:7,
    countryName:"Towns Country"
}; // Then when accessing these variables...

alert("There are " + country.people + " people living in " + country.countryName + "!!");


Как мне повторить это в C#??

Что я уже пробовал:

Я создаю игру с unity. В моей игре есть юниты, и они имеют разную статистику, например, здоровье, урон, урон в секунду и т. д..

using UnityEngine;
using System.Collections;

public class Unit(float health, float speed, float damage, string name, float attackSpeed) {
		this.health = health;
		this.speed = speed;
		this.damage = damage;
		this.name = name;
		this.attackSpeed = attackSpeed;
}

public class GameController : MonoBehaviour {
    public float amountOfBasicBoat = 0;
	public Unit BasicBoat = new Unit(99, 4, 15, "Basic Boat", 1.1);
}


Я получаю ошибку синтаксического анализа-Assets/_Scripts/GameController. cs(4,18): error CS8025: Parsing error.

1 Ответов

Рейтинг:
0

F-ES Sitecore

Если вы не знаете, как определить класс В c# и не можете найти такую базовую вещь в google, то я не понимаю, как у вас есть возможность написать игру. Я бы посоветовал вам взять книгу по c# и пройти через нее, чтобы изучить основы, прежде чем пытаться что-то более продвинутое. Вы не можете ожидать, что научитесь c#, публикуя вопросы на форуме.

public class Unit
{
    public float health { get; set; }
    public float speed { get; set; }
    public float damage { get; set; }
    public float attackSpeed { get; set; }
    public string name { get; set; }
            
    public Unit(float health, float speed, float damage, string name, float attackSpeed)
    {
        this.health = health;
        this.speed = speed;
        this.damage = damage;
        this.name = name;
        this.attackSpeed = attackSpeed;
    }
}


Использование

public Unit BasicBoat = new Unit(99F, 4F, 15F, "Basic Boat", 1.1F);


Вы можете создавать свойства на лету (как вы это делаете в js), используя "динамический", но это вряд ли будет соответствовать вашим общим требованиям.


Member 13120882

Я кодировал на java и выучил язык C#. Я просто забыл о конструкторах. В следующий раз постарайтесь не недооценивать людей. Примерно через десять минут после публикации этого вопроса я решил свою проблему.