Esempio n. 1
0
    IEnumerator LateStart()
    {
        yield return(new WaitForEndOfFrame());

        if (isMenu)
        {
            Rocket rocket = FindObjectOfType <RocketPad>().CraftRocket();

            rocket.AddFuel(rocket.fuelCapacity);

            UI.Instance.rocketProgress.SetProgress(1f);
        }
    }
    void TryConsumeFuel()
    {
        if (rocket == null || rocket.Power >= 1f)
        {
            return;
        }

        if (fuelIntake.inventory.ItemCount == 0)
        {
            return;
        }

        Dictionary <string, uint> itemsConsumed = new Dictionary <string, uint>();

        foreach (var item in fuelIntake.inventory.Items)
        {
            ItemData data = ItemManager.Instance.GetData(item.Key);

            for (int i = 0; i < item.Value; i++)
            {
                FuelData fuel = data as FuelData;
                if (fuel != null)
                {
                    uint count;
                    itemsConsumed.TryGetValue(item.Key, out count);

                    itemsConsumed[item.Key] = count + 1;

                    if (rocket.AddFuel(1))
                    {
                        break;
                    }
                }
            }
        }

        foreach (var item in itemsConsumed)
        {
            fuelIntake.inventory.Remove(item.Key, item.Value);
        }
    }
Esempio n. 3
0
        static void Main(string[] args)
        {
            var Car1 = new Car("Toyota Supra", "Toyota", 2009, "1137-A213-DSJ123");

            //Console.WriteLine(Car1.ToString());
            //Console.WriteLine(Car1);

            //Console.WriteLine(Car1.GetHashCode());
            //Console.WriteLine();

            //var Car2 = new Car("Toyota Supra", "Toyota", 2009, "123-3A-432B");
            //Console.WriteLine(Car1.Equals(Car2));
            //Car1.HowOld();
            //Console.WriteLine();

            //var Car3 = new Car("Nissan GTR R-35", "Nissan", 2017, "1231-AFGS-124");
            //Console.WriteLine(Car3.ToString());

            //Car3.SwitchLights();
            //Console.WriteLine(Car3.Lights);
            //Car3.SwitchMusic();
            //Console.WriteLine(Car3.Music);
            //Console.WriteLine();
            //Car3.AddFuel();
            //Car3.AddOil();
            //Console.WriteLine();


            var Falcon9 = new Rocket();

            Falcon9.DoSmth();
            //Console.WriteLine();

            //Treatment method

            Falcon9.AddFuel(); // via class object

            //Переменные ссылочного интерфейсного типа
            //могут ссылаться на любой объект, реализующий ее интерфейс
            IAdd Ilink = new Rocket();

            Ilink.AddFuel(); // via interface link

            //Присваивание ссылке на интерфейс
            //объектов различных типов,
            //поддерживающих этот интерфейс
            Add(Falcon9); //Upcasting


            //Явное указание имени интерфейса перед реализуемым элементом
            //Ismth1 Falcon8 = new Rocket();
            //Falcon8.StartEngine();

            //В таком случае соответствующий элемент не входит в интерфейс класса
            //var Falcon7 = new Rocket();
            //Falcon7.StartEngine(); - ERROR

            //Implicit upcasting
            //((Ismth1)(Falcon7)).StartEngine();
            //((Ismth2)(Falcon7)).StartEngine();


            Console.ReadKey();
        }