Esempio n. 1
0
    public MainWindow() : base(Gtk.WindowType.Toplevel)
    {
        Build();

        m_DocumentController  = new DocumentController(new GtkWarningViewHelper(warningsScrolledWindow, warningsTreeView), new FileSystem(), new FileDialogHelper(), new GtkTextViewHelper(this.codeTextview), new Document());
        m_GeneratorController = new GeneratorController(new FileSystem(), new GtkResultViewHelper(resultsTreeview), new ClipBoardHelper(), new GtkTextViewHelper(this.detailsTextview));
    }
    // Adding generator method
    public void AddGenerator(Generator generator)
    {
        if (generators.FindIndex(x => x.generatorData.id.Equals(generator.id)) > -1)
        {
            generators.Find(x => x.generatorData.id.Equals(generator.id)).generatorData = generator;
            return;
        }

        GeneratorController generatorController = Instantiate(generatorPrefab, this.transform).GetComponent <GeneratorController>();

        generatorController.generatorData = generator;
        generators.Add(generatorController);
        generatorController.name = generator.nick;
        generatorController.transform.position = new Vector3(generator.position.x, 0, generator.position.z);
        generatorController.GetComponent <CircleLineRenderer>().CreatePoints(16, AppConstants.GeneratorRange / 12f, 0.1f);
        generatorController.transform.GetChild(0).gameObject.SetActive(generator.nick == PlayerPrefs.GetString(AppConstants.NickTag) && generator.batteryLevel > 0);
        generatorController.transform.GetChild(1).gameObject.SetActive(generator.nick == PlayerPrefs.GetString(AppConstants.NickTag) && generator.converterLevel > 0);

        generatorController.transform.GetChild(1).GetChild(0).GetComponent <MeshRenderer>().material =
            generatorController.generatorData.converterFromResource == (int)AppConstants.ResourceType.ENERGY ? energy :
            generatorController.generatorData.converterFromResource == (int)AppConstants.ResourceType.BIOMASS ? biomass :
            generatorController.generatorData.converterFromResource == (int)AppConstants.ResourceType.GADGETS ? gadgets :
            fuel;
        generatorController.transform.GetChild(1).GetChild(1).GetComponent <MeshRenderer>().material =
            generatorController.generatorData.converterToResource == (int)AppConstants.ResourceType.ENERGY ? energy :
            generatorController.generatorData.converterToResource == (int)AppConstants.ResourceType.BIOMASS ? biomass :
            generatorController.generatorData.converterToResource == (int)AppConstants.ResourceType.GADGETS ? gadgets :
            fuel;

        generatorController.GetComponent <SphereCollider>().enabled = true;
    }
    public override void OnInspectorGUI()
    {
        generatorController = (GeneratorController)target;
        base.OnInspectorGUI();

        horizontalLine.normal.background = EditorGUIUtility.whiteTexture;
        horizontalLine.margin            = new RectOffset(0, 0, 4, 4);
        horizontalLine.fixedHeight       = 1;
        controlPanel = "Box";
        controlPanel.normal.background = EditorGUIUtility.whiteTexture;
        float maxWidth = 300;

        GUILayout.BeginVertical(controlPanel, GUILayout.MinWidth(maxWidth));

        FirewallSettings();
        HorizontalLine(Color.black);

        OtherSettings();
        HorizontalLine(Color.black);

        FloorCountSettings(maxWidth);
        HorizontalLine(Color.black);

        CustomSizeSettings();
        HorizontalLine(Color.black);

        ControlButtons();
        HorizontalLine(Color.black);

        TestButtons();
        HorizontalLine(Color.black);

        Demonstration();
        GUILayout.EndVertical();
    }
Esempio n. 4
0
 // Use this for initialization
 private void Start()
 {
     MainController = transform.parent.gameObject.transform.parent.gameObject;
     GenController  = MainController.GetComponent <GeneratorController>();
     thisSide       = transform.GetChild(0).gameObject;
     playerCon      = GameObject.Find("Player").GetComponent <PlayerController>();
 }
Esempio n. 5
0
    public MainWindow()
        : base(Gtk.WindowType.Toplevel)
    {
        Build();

        m_DocumentController = new DocumentController(new GtkWarningViewHelper(warningsScrolledWindow, warningsTreeView), new FileSystem(), new FileDialogHelper(), new GtkTextViewHelper(this.codeTextview), new Document());
        m_GeneratorController = new GeneratorController(new FileSystem(), new GtkResultViewHelper(resultsTreeview), new ClipBoardHelper(), new GtkTextViewHelper(this.detailsTextview));
    }
Esempio n. 6
0
    void SpawnGeneratorPrefab(GameObject generatorSpawn)
    {
        GameObject generatorGameObject = Instantiate(generatorPrefab, generatorSpawn.transform.position, Quaternion.identity) as GameObject;

        print(generatorGameObject.name);
        GeneratorController generator = generatorGameObject.GetComponent <GeneratorController>();

        print("Hello!");
        generator.onTouch += GeneratorAnimation;
        generator.onTouch += lightController.LightsOn;
    }
Esempio n. 7
0
        private string GenerateDetailLoiDoc(GeneratorController gc, int reqid, string loicode, string DirectoryResultPath)
        {
            string    resulturl          = "";
            DataTable dt                 = gc.generate_loi_detail_getdata(reqid);
            string    LoiDocPath         = Path.Combine(Environment.CurrentDirectory, "Template");
            string    Templatedetailfile = ConfigurationManager.AppSettings["Templatedetailfile"];
            string    FullTemplateDetail = Path.Combine(LoiDocPath, Templatedetailfile);
            string    filenameSavedOri   = string.Concat("LOIDoc_Detail_", loicode);
            string    resultfile         = Path.Combine(DirectoryResultPath, filenameSavedOri, ".pdf");
            string    resultfilehtml     = Path.Combine(DirectoryResultPath, filenameSavedOri + ".htm");

            string TextTemplateDetail = ReadApprovalTemplate(FullTemplateDetail);

            int           no = 0;
            StringBuilder sb = new StringBuilder();

            sb.Append(TextTemplateDetail);
            foreach (DataRow dr in dt.Rows)
            {
                no += 1;
                sb.Append("<tr style='text-align:center'>");
                sb.Append("<td>" + no + "</td>");
                sb.Append("<td>" + dr["workpackageid"].ToString() + "</td>");
                sb.Append("<td>" + dr["Customer_PO"].ToString() + "</td>");
                sb.Append("<td>" + Convert.ToDateTime(dr["Customer_PO_Date"]).ToString("dd/MM/yyyy") + "</td>");
                sb.Append("<td>" + dr["Region"].ToString() + "</td>");
                sb.Append("<td>" + dr["Site_ID"].ToString() + "</td>");
                sb.Append("<td>" + dr["Site_ID"].ToString() + "</td>");
                sb.Append("<td>" + dr["ScopeOfWork"].ToString() + "</td>");
                sb.Append("<td>" + dr["Subcone_Name"].ToString() + "</td>");
                sb.Append("<td>" + dr["Site_Model"].ToString() + "</td>");
                sb.Append("<td>" + String.Format("{0:n0}", dr["Unit_Price"]) + "</td>");
                sb.Append("<td>" + dr["Qty"].ToString() + "</td>");
                sb.Append("<td>" + String.Format("{0:n0}", dr["Total_Price"]) + "</td>");
                sb.Append("</tr>");
            }
            sb.Append("</table>");
            sb.Append("</body>");
            try
            {
                HtmlTextWriter sw = new HtmlTextWriter(new StreamWriter(resultfilehtml, false, UnicodeEncoding.UTF8));
                sw.BeginRender();
                sw.WriteLine(sb.ToString());
                sw.Close();
                sw.Dispose();
                resulturl = GeneralConfig.ConvertAnyFormatToPDFHtmlNew(resultfilehtml, DirectoryResultPath, filenameSavedOri);
            }

            catch (Exception ex)
            {
                EBOQ_Lib_New.DAL.DAL_AppLog.ErrLogInsert("Program.cs:GenerateDetailLoiDoc", ex.Message, "NON-SP");
            }
            return(resulturl);
        }
        public void Setup()
        {
            m_Mockery = new Mockery();

            m_FileSystem            = m_Mockery.NewMock <IFileSystem>();
            m_ClipBoardHelper       = m_Mockery.NewMock <IClipBoardHelper>();
            m_ResultViewHelper      = m_Mockery.NewMock <IResultViewHelper>();
            m_DetailsTextViewHelper = m_Mockery.NewMock <ITextViewHelper>();
            m_ExportHelper          = m_Mockery.NewMock <IExporter>();
            Expect.Once.On(m_ResultViewHelper).EventAdd("SelectionChanged", Is.Anything);
            m_GeneratorController = new GeneratorController(m_FileSystem, m_ResultViewHelper, m_ClipBoardHelper, m_DetailsTextViewHelper);
        }
Esempio n. 9
0
    IEnumerator UpdateCoroutine(int generatorIndex)
    {
        while (true)
        {
            generator = GeneratorsController.instance.generators[generatorIndex];
            UpdatePopup();
            yield return(new WaitForEndOfFrame());

            if (Input.GetKey(KeyCode.Escape))
            {
                Close();
            }
        }
    }
Esempio n. 10
0
    private void Awake()
    {
        ani = GetComponent <Animator>();
        gc  = FindObjectOfType <GeneratorController>();
        om  = gameObject.GetComponent(typeof(ObjectMover)) as ObjectMover;
        om.setSpeed(speed);
        sound = FindObjectOfType <SoundController>();

        if (!Settings.getMusic())
        {
            //disable the music
            music.SetFloat("musicVol", -80f);
        }
        nextFootPrint = footprintSpace;
    }
    // Creating battery method
    public void CreateBattery(bool confirmed = false)
    {
        if (DownButtonController.instance.standardMenuButtonsVisible)
        {
            DownButtonController.instance.ToggleStandardMenu();
        }

        GeneratorController ownGenerator = PlayerColliderController.instance.GetOwnGenerator(true);

        if (ownGenerator == null)
        {
            BannerController.instance.showBannerWithText(true, "Aby dołączyć baterię, musisz znajdować się w pobliżu własnego generatora", true);
            return;
        }
        if (PlayerPrefs.GetInt(AppConstants.BatteryCreatedTag) > 0)
        {
            BannerController.instance.showBannerWithText(true, "Twój generator posiada już baterię", true);
            return;
        }
        if (!confirmed)
        {
            ConfirmationPopup.instance.Open(() => { CreateBattery(true); ConfirmationPopup.instance.Close(); }, () => { ConfirmationPopup.instance.Close(); }, "Czy chcesz dołączyć baterię do swojego generatora za " + AppConstants.GeneratorBatteryPurchaseCost + " energii ?");
            return;
        }
        if (PlayerPrefs.GetFloat(AppConstants.EnergyTag) < AppConstants.GeneratorBatteryPurchaseCost)
        {
            BannerController.instance.showBannerWithText(true, "Masz zbyt mało energii", true);
            return;
        }
        ResourcesController.instance.AddEnergy(-AppConstants.GeneratorBatteryPurchaseCost);

        Utils.Web.PostValues(AppConstants.AddBatteryUrl, new List <KeyValuePair <string, string> >(new KeyValuePair <string, string>[] {
            new KeyValuePair <string, string>("USER_ID", AppConstants.UUID + AppConstants.PlayerDeviceIdentifierID)
        }), (code, response) =>
        {
            if (code == 200)
            {
                ownGenerator.transform.GetChild(0).gameObject.SetActive(true);
                ownGenerator.generatorData.batteryLevel = 1;
                PlayerPrefs.SetInt(AppConstants.BatteryCreatedTag, 1);
                PlayerPrefs.Save();
            }
            else
            {
                BannerController.instance.showBannerWithText(true, "Błąd serwera :(", true);
            }
        });
    }
Esempio n. 12
0
        private void RegisterPartRandom(BugPart part, Connection[] posibleConnections, IConnectable parent)
        {
            if (part.SetConnection(M.Mathn.SelectRandmo(posibleConnections, GeneratorController.SafeRandom()), parent, ((MonoBehaviour)parent).gameObject, this))
            {
                Locations.Add(part.transform.position);
                mBugParts.Add(part);

                if (part is IConnectable)
                {
                    mConnectables.Add(part as IConnectable);
                }

                if (mFuctionParts.ContainsKey(part.GetType()))
                {
                    mFuctionParts[part.GetType()].Add(part);
                }
            }
        }
        private async Task <Tuple <IConnectable, Connection[]> > GetRandomConnector()
        {
            IConnectable Connector = M.Mathn.SelectRandmo(mConnectables.ToArray(), GeneratorController.SafeRandom());

            Connection[] openConnections = await Connector.GetOpenConnections();

            for (int d = 0; d < 10; d++)
            {
                if (openConnections[0] != Connection.None)
                {
                    break;
                }

                Connector       = M.Mathn.SelectRandmo(mConnectables.ToArray(), GeneratorController.SafeRandom());
                openConnections = await Connector.GetOpenConnections();
            }
            return(new Tuple <IConnectable, Connection[]>(Connector, openConnections));
        }
Esempio n. 14
0
    // Patch construction end
    public void PlacingPatchFlagEnd(bool confirmed = false)
    {
        List <Vector2> patchPolygon = new List <Vector2>();

        flagPositions = Geometry.GetConvexHull(flagPositions);
        foreach (Vector3 flagPosition in flagPositions)
        {
            patchPolygon.Add(new Vector2(flagPosition.x, flagPosition.z));
        }
        GeneratorController ownGenerator = GeneratorsController.instance.generators.Find(x => x.generatorData.nick.Equals(PlayerPrefs.GetString(AppConstants.NickTag)));

        if (!Geometry.PolygonContainsPoint(patchPolygon, new Vector2(ownGenerator.transform.position.x, ownGenerator.transform.position.z)))
        {
            BannerController.instance.showBannerWithText(true, "Twój generator nie leży wewnątrz wyznaczonego rewiru!", true);
            return;
        }

        if (!confirmed)
        {
            ConfirmationPopup.instance.Open(() => { PlacingPatchFlagEnd(true); ConfirmationPopup.instance.Close(); }, () => { ConfirmationPopup.instance.Close(); }, "Czy uznać Twój rewir za ukończony?");
            return;
        }

        patchFlagButton.Play("downButtonOut");

        Vector3 centroid          = Geometry.CalculateCentroid(flagPositions);
        float   maxDiagonalLength = float.MinValue;

        foreach (Vector3 flagPosition1 in flagPositions)
        {
            foreach (Vector3 flagPosition2 in flagPositions)
            {
                if (Vector3.Distance(flagPosition1, flagPosition2) > maxDiagonalLength)
                {
                    maxDiagonalLength = Vector3.Distance(flagPosition1, flagPosition2);
                }
            }
        }

        StartCoroutine(SmoothPatchView(centroid, maxDiagonalLength));
    }
Esempio n. 15
0
 private void Start()
 {
     generatorController = generator.GetComponent <GeneratorController>();
 }
Esempio n. 16
0
 public GeneratorHubService(ILogger <GeneratorHubService> logger, IHubContext <GeneratorHub, IGeneratorHub> monitorHub, GeneratorController controller)
 {
     this._logger     = logger;
     this._controller = controller;
     this._monitorHub = monitorHub;
 }
Esempio n. 17
0
 void GeneratorAnimation(GeneratorController generator)
 {
     generator.onTouch -= GeneratorAnimation;
     generator.transform.GetChild(0).GetComponent <Renderer>().enabled = true;
 }
Esempio n. 18
0
 public void LightsOn(GeneratorController generator)
 {
     generator.onTouch -= LightsOn;
     print("Yow");
     RenderSettings.ambientLight = Color.white;
 }
    // Creating converter method
    public void CreateConverter(bool confirmed = false)
    {
        if (DownButtonController.instance.standardMenuButtonsVisible)
        {
            DownButtonController.instance.ToggleStandardMenu();
        }

        GeneratorController ownGenerator = PlayerColliderController.instance.GetOwnGenerator(true);

        if (ownGenerator == null)
        {
            BannerController.instance.showBannerWithText(true, "Aby dołączyć konwerter, musisz znajdować się w pobliżu własnego generatora", true);
            return;
        }
        if (PlayerPrefs.GetInt(AppConstants.ConverterCreatedTag) > 0)
        {
            BannerController.instance.showBannerWithText(true, "Twój generator posiada już konwerter", true);
            return;
        }
        if (!confirmed)
        {
            ConfirmationPopup.instance.Open(() => { CreateConverter(true); ConfirmationPopup.instance.Close(); }, () => { ConfirmationPopup.instance.Close(); }, "Czy chcesz dołączyć konwerter do swojego generatora za " + AppConstants.GeneratorConverterPurchaseCost + " energii ?");
            return;
        }
        if (PlayerPrefs.GetFloat(AppConstants.EnergyTag) < AppConstants.GeneratorConverterPurchaseCost)
        {
            BannerController.instance.showBannerWithText(true, "Masz zbyt mało energii", true);
            return;
        }
        ResourcesController.instance.AddEnergy(-AppConstants.GeneratorConverterPurchaseCost);

        Utils.Web.PostValues(AppConstants.AddConverterUrl, new List <KeyValuePair <string, string> >(new KeyValuePair <string, string>[] {
            new KeyValuePair <string, string>("USER_ID", AppConstants.UUID + AppConstants.PlayerDeviceIdentifierID),
            new KeyValuePair <string, string>("FROM_RESOURCE", ((int)AppConstants.ResourceType.ENERGY).ToString()),
            new KeyValuePair <string, string>("TO_RESOURCE", (PlayerPrefs.GetInt(AppConstants.FractionTag) == (int)AppConstants.Fraction.NATURE ? (int)AppConstants.ResourceType.BIOMASS : PlayerPrefs.GetInt(AppConstants.FractionTag) == (int)AppConstants.Fraction.COMMERCY ? (int)AppConstants.ResourceType.GADGETS : (int)AppConstants.ResourceType.FUEL).ToString()),
        }), (code, response) =>
        {
            if (code == 200)
            {
                ownGenerator.generatorData.converterLevel        = 1;
                ownGenerator.generatorData.converterFromResource = (int)AppConstants.ResourceType.ENERGY;
                ownGenerator.generatorData.converterToResource   = (PlayerPrefs.GetInt(AppConstants.FractionTag) == (int)AppConstants.Fraction.NATURE ? (int)AppConstants.ResourceType.BIOMASS : PlayerPrefs.GetInt(AppConstants.FractionTag) == (int)AppConstants.Fraction.COMMERCY ? (int)AppConstants.ResourceType.GADGETS : (int)AppConstants.ResourceType.FUEL);
                ownGenerator.transform.GetChild(1).gameObject.SetActive(true);

                ownGenerator.transform.GetChild(1).GetChild(0).GetComponent <MeshRenderer>().material =
                    ownGenerator.generatorData.converterFromResource == (int)AppConstants.ResourceType.ENERGY ? energy :
                    ownGenerator.generatorData.converterFromResource == (int)AppConstants.ResourceType.BIOMASS ? biomass :
                    ownGenerator.generatorData.converterFromResource == (int)AppConstants.ResourceType.GADGETS ? gadgets :
                    fuel;
                ownGenerator.transform.GetChild(1).GetChild(1).GetComponent <MeshRenderer>().material =
                    ownGenerator.generatorData.converterToResource == (int)AppConstants.ResourceType.ENERGY ? energy :
                    ownGenerator.generatorData.converterToResource == (int)AppConstants.ResourceType.BIOMASS ? biomass :
                    ownGenerator.generatorData.converterToResource == (int)AppConstants.ResourceType.GADGETS ? gadgets :
                    fuel;

                PlayerPrefs.SetInt(AppConstants.ConverterCreatedTag, 1);
                PlayerPrefs.Save();
            }
            else
            {
                BannerController.instance.showBannerWithText(true, "Błąd serwera :(", true);
            }
        });
    }
Esempio n. 20
0
        private void GenerateLoiDoc()
        {
            GeneratorController gc = new GeneratorController();

            DataTable dt = gc.LOI_generateDocument_getdata();

            Console.WriteLine("Total LOI Generated: " + dt.Rows.Count.ToString());

            foreach (DataRow dr in dt.Rows)
            {
                string LoiDocPath   = Path.Combine(Environment.CurrentDirectory, "Template");
                string Templatefile = ConfigurationManager.AppSettings["Templatefile"];
                string FullTemplate = Path.Combine(LoiDocPath, Templatefile);

                string DirectoryResultPath = Path.Combine(ConfigurationManager.AppSettings["DirectoryResultPath"], dr["LOI_Code"].ToString());
                if (!Directory.Exists(DirectoryResultPath))
                {
                    Directory.CreateDirectory(DirectoryResultPath);
                }

                string filenameSavedOri = string.Concat("LOIDoc_", dr["LOI_Code"].ToString());
                string resultfile       = Path.Combine(DirectoryResultPath, filenameSavedOri + "_final.pdf");
                string resultfilehtml   = Path.Combine(DirectoryResultPath, filenameSavedOri + ".htm");

                string ResultPathUrl = string.Concat(ConfigurationManager.AppSettings["ResultPathUrl"], dr["LOI_Code"].ToString(), "/", filenameSavedOri, ".pdf");

                string TextTemplate = ReadApprovalTemplate(FullTemplate);

                StringBuilder sb = new StringBuilder();
                sb.Append(TextTemplate);
                sb.Replace("[nokia_logo]", "<img src='https://eboqh3i.nsnebast.com/Images/nokia-logo.png' height='36px' width='100px'/>");
                sb.Replace("[ttd]", "<img src='data:image/png;base64,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' height='36px' width='100px'/>");
                sb.Replace("[subcon_name]", dr["Subcone_Name"].ToString());
                sb.Replace("[subcon_address]", dr["SCon_Addr"].ToString());
                sb.Replace("[subcon_address_city]", "");
                sb.Replace("[subcon_phone]", dr["SCon_Phone"].ToString());
                sb.Replace("[subcon_fax]", dr["SCon_Fax"].ToString());
                sb.Replace("[loi_reference]", dr["LOI_Reference"].ToString());
                sb.Replace("[loi_approved]", "Jakarta, " + Convert.ToDateTime(dr["MU_Approve_Date"]).ToString("dd MMMM yyyy"));
                string cpo = dr["CPO"].ToString();
                sb.Replace("[cpo]", cpo.Remove(cpo.Length - 1));
                sb.Replace("[epm_id]", dr["EPM_Vendor_ID"].ToString());
                sb.Replace("[po_no]", cpo.Remove(cpo.Length - 1));
                string sow = dr["ScopeOfWork"].ToString();
                sb.Replace("[sow_detail]", sow.Remove(sow.Length - 1));
                sb.Replace("[Approver_cpm]", dr["CPM_Approver_Id"].ToString());
                sb.Replace("[Approver_cpm_date]", Convert.ToDateTime(dr["CPM_Approve_Date"]).ToString("dd MMMM yyyy HH:mm:ss"));
                sb.Replace("[Approver_pbm]", dr["PBM_Approver_Id"].ToString());
                sb.Replace("[Approver_pbm_date]", Convert.ToDateTime(dr["PBM_Approve_Date"]).ToString("dd MMMM yyyy HH:mm:ss"));
                sb.Replace("[Approver_cdm]", dr["CDM_Approver_Id"].ToString());
                sb.Replace("[Approver_cdm_date]", Convert.ToDateTime(dr["CDM_Approve_Date"]).ToString("dd MMMM yyyy HH:mm:ss"));
                sb.Replace("[Approver_mb]", dr["MB_Approver_Id"].ToString());
                sb.Replace("[Approver_mb_date]", Convert.ToDateTime(dr["MB_Approve_Date"]).ToString("dd MMMM yyyy HH:mm:ss"));
                sb.Replace("[Approver_mu]", dr["MU_Approver_Id"].ToString());
                sb.Replace("[Approver_mu_date]", Convert.ToDateTime(dr["MU_Approve_Date"]).ToString("dd MMMM yyyy HH:mm:ss"));
                sb.Replace("[CTName]", dr["ProjectName"].ToString());
                Console.WriteLine("Preparing to generate document and Merge");
                try
                {
                    HtmlTextWriter sw = new HtmlTextWriter(new StreamWriter(resultfilehtml, false, UnicodeEncoding.UTF8));
                    sw.BeginRender();
                    sw.WriteLine(sb.ToString());
                    sw.Close();
                    sw.Dispose();
                    string result           = GeneralConfig.ConvertAnyFormatToPDFHtmlNew(resultfilehtml, DirectoryResultPath, filenameSavedOri);
                    int    RequestId        = Convert.ToInt32(dr["RequestId"]);
                    string LoiDetailPdfPath = GenerateDetailLoiDoc(gc, RequestId, dr["LOI_Code"].ToString(), DirectoryResultPath);
                    Console.WriteLine("Merge in Progress");
                    using (FileStream stream = new FileStream(resultfile, FileMode.Create))
                    {
                        Document pdfDoc = new Document(PageSize.A4);
                        PdfCopy  pdf    = new PdfCopy(pdfDoc, stream);
                        pdfDoc.Open();
                        pdf.AddDocument(new PdfReader(result));
                        pdf.AddDocument(new PdfReader(LoiDetailPdfPath));

                        if (pdfDoc != null)
                        {
                            pdfDoc.Close();
                        }
                    }
                    Console.WriteLine("Merge Completed");
                    Console.WriteLine("Record Result of Merge");
                    gc.LOI_Update_Document_GeneratedLink(ResultPathUrl, RequestId);
                    Console.WriteLine("Record Result of Merge Completed");
                }

                catch (Exception ex)
                {
                    Console.WriteLine("Merge error: " + ex.Message.ToString());
                    EBOQ_Lib_New.DAL.DAL_AppLog.ErrLogInsert("Program.cs:GenerateLoiDoc", ex.Message, "NON-SP");
                    Console.Read();
                }
            }
        }
Esempio n. 21
0
    public void PlacePatchFlag(bool confirmed = false)
    {
        if (!ArenaController.instance.CheckIfWithinArena(PlayerColliderController.instance.transform.GetChild(0).position))
        {
            BannerController.instance.showBannerWithText(true, "Jesteś poza obszarem rozgrywki!", true);
            return;
        }

        if (!PlayerColliderController.instance.CanPlacePatchFlagHere())
        {
            BannerController.instance.showBannerWithText(true, "Zbyt blisko wierzchołków rewiru innego gracza. Odejdź kilka metrów", true);
            return;
        }

        if (flagPositions.FindIndex(x => Vector3.Distance(x, PlayerColliderController.instance.transform.GetChild(0).position) < AppConstants.PatchMinimumFlagDistanceInMeters) > -1)
        {
            BannerController.instance.showBannerWithText(true, "Zbyt blisko poprzednich flag. Odejdź kilka metrów", true);
            return;
        }

        if (flagPositions.Count > 0 && Vector3.Distance(flagPositions[flagPositions.Count - 1], PlayerColliderController.instance.transform.GetChild(0).position) > AppConstants.PatchMaximumFlagDistanceInMeters)
        {
            BannerController.instance.showBannerWithText(true, "Zbyt duży odstęp. Cofnij się troszkę", true);
            return;
        }

        if (flagPositions.Count > 2)
        {
            for (int i = 1; i < flagPositions.Count; i++)
            {
                Vector2 point     = new Vector2(PlayerColliderController.instance.transform.GetChild(0).position.x, PlayerColliderController.instance.transform.GetChild(0).position.z);
                Vector2 lineStart = new Vector2(flagPositions[i - 1].x, flagPositions[i - 1].z);
                Vector2 lineEnd   = new Vector2(flagPositions[i].x, flagPositions[i].z);
                double  distance  = Geometry.DistanceFromPointToLine(point, lineStart, lineEnd);
                if (distance < AppConstants.PatchMinimumFlagDistanceInMeters / 5)
                {
                    BannerController.instance.showBannerWithText(true, "Twoje flagi są położone zbyt blisko jednej prostej. Postaraj się utworzyć wielokąt foremny.", true);
                    return;
                }
            }
        }

        if (flagPositions.Count == AppConstants.PatchMaximumFlagsCount - 1)
        {
            List <Vector2> patchPolygon = new List <Vector2>();
            flagPositions = Geometry.GetConvexHull(flagPositions);
            foreach (Vector3 flagPosition in flagPositions)
            {
                patchPolygon.Add(new Vector2(flagPosition.x, flagPosition.z));
            }
            Vector2 newFlagPos = new Vector2(PlayerColliderController.instance.transform.GetChild(0).position.x, PlayerColliderController.instance.transform.GetChild(0).position.z);
            patchPolygon.Add(newFlagPos);
            GeneratorController ownGenerator = GeneratorsController.instance.generators.Find(x => x.generatorData.nick.Equals(PlayerPrefs.GetString(AppConstants.NickTag)));
            if (!Geometry.PolygonContainsPoint(patchPolygon, new Vector2(ownGenerator.transform.position.x, ownGenerator.transform.position.z)))
            {
                BannerController.instance.showBannerWithText(true, "Twój generator nie leży wewnątrz wyznaczonego rewiru!", true);
                return;
            }
        }

        if (!confirmed)
        {
            ConfirmationPopup.instance.Open(() => { PlacePatchFlag(true); ConfirmationPopup.instance.Close(); }, () => { ConfirmationPopup.instance.Close(); }, "Czy chcesz tutaj postawić flagę?");
            return;
        }

        flagPositions.Add(PlayerColliderController.instance.transform.GetChild(0).position);
        patchFlagButtonCount.text = (AppConstants.PatchMaximumFlagsCount - flagPositions.Count).ToString();

        flagObjects.Add(PlayerColliderController.instance.transform.GetChild(0).gameObject);
        PlayerColliderController.instance.transform.GetChild(0).transform.localScale = new Vector3(0.65f, 0.65f, 0.65f);
        PlayerColliderController.instance.transform.GetChild(0).transform.SetParent(map.transform.parent);

        if (flagPositions.Count == AppConstants.PatchMinimumFlagsCount)
        {
            patchFlagButtonEnd.interactable = true;
            patchFlagButtonEnd.transform.GetChild(0).GetComponent <CanvasGroup>().alpha = 1f;
        }

        if (flagPositions.Count >= AppConstants.PatchMaximumFlagsCount)
        {
            PlacingPatchFlagEnd(true);
        }
        else
        {
            GameObject flag = Instantiate(patchFlag);
            flag.transform.SetParent(PlayerColliderController.instance.transform);
            flag.transform.SetSiblingIndex(0);
            flag.transform.localPosition = new Vector3(5f, 10f, 0f);
            flag.transform.localScale    = new Vector3(0.65f, 0.65f, 0.65f);
        }
    }
 public GeneratorControllerTests()
 {
     _controller = new GeneratorController();
 }