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; } } }
private void Start() { Cargo = GetComponent <MetalCargo>(); Hitpoints = GetComponent <Hitpoints>(); BuildingsManager.AddBuilding(this); }
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); } }