Пример #1
0
    private void Update()
    {
        if (deployed)
        {
            if (Time.time >= BuildingTimer)
            {
                GameObject createdStructure = Instantiate(structureToBuild);
                createdStructure.transform.position = transform.position;
                createdStructure.tag = tag;

                BuildingsManager.AddBuilding(createdStructure.GetComponent <Structure>());

                Destroy(gameObject);
            }
        }
        else
        {
            float distanceToTarget = Vector2.Distance(transform.position, aiAttributes.currentManualTarget);
            if (distanceToTarget < 2f)
            {
                BuildAi attachedBuildAi = GetComponent <BuildAi>();
                attachedBuildAi.CurrentOrder.DestroyOrder();
                Destroy(attachedBuildAi);

                BuildingTimer = Time.time + buildingTime;

                GetComponent <SpriteRenderer>().sprite = buildingSprite;
                structureBuildBar.ShowBar();

                aiAttributes.AttachedRigidBody.velocity = Vector2.zero;

                deployed = true;
            }
        }
    }
Пример #2
0
    private void Start()
    {
        Cargo     = GetComponent <MetalCargo>();
        Hitpoints = GetComponent <Hitpoints>();

        BuildingsManager.AddBuilding(this);
    }
Пример #3
0
        public static async void ChoseCallBackQuery(Telegram.Bot.TelegramBotClient botClient, Update Update)
        {
            try
            {
                using (TelegramContext db = new TelegramContext())
                {
                    var update   = Update;
                    var user     = db.Users.Where(x => x.UserId == update.CallbackQuery.From.Id).Single();
                    var callBack = update.CallbackQuery;
                    await botClient.AnswerCallbackQueryAsync(update.CallbackQuery.Id);

                    if (callBack.Data == "AddBuilding")
                    {
                        BuildingsManager.AddBuilding(botClient, db, update.CallbackQuery.Message);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }