예제 #1
0
    public void UpdateSelection()
    {
        CaseData openedCase = InvestigationManager.GetCase();

        if (InteractionManager.selection.type == SelectionType.CLUE)
        {
            if (!opened)
            {
                SetSelectionUIActive(true);
            }
            header.text    = "PISTA";
            objName.text   = openedCase.clues[InteractionManager.selection.clue].clueName;
            objIcon.sprite = openedCase.clues[InteractionManager.selection.clue].img;
        }
        else if (InteractionManager.selection.type == SelectionType.WITNESS)
        {
            if (!opened)
            {
                SetSelectionUIActive(true);
            }
            header.text    = "TESTEMUNHA";
            objName.text   = openedCase.witnesses[InteractionManager.selection.witness].witnessName;
            objIcon.sprite = openedCase.witnesses[InteractionManager.selection.witness].image;
        }
        else if (InteractionManager.selection.type == SelectionType.NONE)
        {
            if (opened)
            {
                SetSelectionUIActive(false);
            }
            //header.text = "SEM SELEÇÃO";
            //objName.text = "NONE";
            //objIcon.sprite = null;
        }
    }
예제 #2
0
    public void SetObject(WitnessData witness)
    {
        CaseData openedCase = InvestigationManager.GetCase();

        GetComponent <CanvasGroup>().alpha = 1;
        string fullDescription = "";

        fullDescription += "IDADE: " + witness.age + "\n";
        fullDescription += "PROFISSÃO: " + witness.job + "\n";
        fullDescription += "RUMORES:";
        Files files = Files.Load();

        int witnessIndex = openedCase.GetWitnessIndexFromData(witness);

        foreach (Rumor r in files.GetCaseStatus().rumors)
        {
            if (r.target == witnessIndex)
            {
                RumorData rd = openedCase.GetRumorData(r);
                print(r.from + "/" + r.target);
                fullDescription += "\n" + "* " + rd.from.witnessName + ": " + rd.description;
            }
        }
        description.text = fullDescription;
        title.text       = witness.witnessName;
        icon.sprite      = witness.image;
    }
예제 #3
0
    public uint getMaxPlantes()
    {
        uint basicCapacity = (uint)(getCapacity1() * WorldTerrain.GetInstance().getTotalTilesInAChunk());
        uint bonusCapacity = basicCapacity * InvestigationManager.GetInstance().getPlanterCapacityBonus() / 100;

        return(basicCapacity + bonusCapacity);
    }
예제 #4
0
 private void Update()
 {
     if (InvestigationManager.HasActiveCase())
     {
         if (InputSeeker.seekers.Count > 1)
         {
             return;
         }
         if (Input.GetKeyDown(KeyCode.Tab))
         {
             InteractionManager.selection.ChangeType();
             UpdateSelection();
         }
         else if (Input.GetKeyDown(KeyCode.Q))
         {
             InteractionManager.selection.Shift(-1);
             UpdateSelection();
         }
         else if (Input.GetKeyDown(KeyCode.E))
         {
             InteractionManager.selection.Shift(1);
             UpdateSelection();
         }
     }
 }
예제 #5
0
    void init()
    {
        if (m_itemDescriptionText == null)
        {
            m_itemDescriptionText = GameObject.Find("ItemTitle").GetComponent <Text>();
        }
        if (m_currentItemBonusText == null)
        {
            m_currentItemBonusText = GameObject.Find("CurrentItemBonus").GetComponent <Text>();
        }
        if (m_nextItemBonusText == null)
        {
            m_nextItemBonusText = GameObject.Find("NextItemBonus").GetComponent <Text>();
        }

        if (m_coopPanels.Count == 0)
        {
            for (int i = 1; i <= (int)MilestoneType.NUMBER_MILESTONES; ++i)
            {
                m_coopPanels.Add(GameObject.Find("CoopItemPanel_" + i).GetComponent <RectTransform>());
                m_coopPanelImages.Add(m_coopPanels[m_coopPanels.Count - 1].transform.FindChild("ObjectImage").GetComponent <Image>());
            }
        }

        m_selectedMilestone = MilestoneType.EXPANSION;

        updateCoopList();
        updateSelectedMilestone();

        bool ecoGrant = InvestigationManager.GetInstance().isInvestigated(INVESTIGATIONS_ID.ECO_SUBVENCION);

        m_coopPanels [(int)MilestoneType.ECOLOGY].GetComponent <Button> ().interactable = ecoGrant;
    }
예제 #6
0
    void updateBuildingList(bool changeOfTab)
    {
        List <BUILDINGS> buildingsIds = new List <BUILDINGS>();
        BuildingsManager buildingsMan = BuildingsManager.GetInstance();

        foreach (BUILDINGS buildingId in Enum.GetValues(typeof(BUILDINGS)))
        {
            if (buildingId != 0 && !buildingsMan.isBuilded(buildingId))
            {
                if (buildingId != BUILDINGS.PLANTA || InvestigationManager.GetInstance().isInvestigated(INVESTIGATIONS_ID.PLANTA))
                {
                    buildingsIds.Add(buildingId);
                }
            }
        }
        if (changeOfTab)
        {
            selectedId = buildingsIds.Count > 0 ? (int)buildingsIds[0] : 0;
        }
        // UPDATE DATA
        numOfPages   = Convert.ToInt32(Math.Ceiling(buildingsIds.Count / (float)itemsPerPage));
        selectedPage = Math.Min(selectedPage, numOfPages - 1);
        selectedPage = Math.Max(selectedPage, 0);
        showBuildingsSelectedPage(buildingsIds);
        //m_buildingsID = buildingsIds;
    }
 public void clicked()
 {
     if (InvestigationManager.GetInstance().isInvestigated(INVESTIGATIONS_ID.COOP))
     {
         CoopMenu.SetActive(true);
     }
 }
예제 #8
0
    void updateAvailableInfo()
    {
        InvestigationManager im             = InvestigationManager.GetInstance();
        List <Investigation> investigations = im.getAvailableInvestigations();

        if (investigations.Count == 0)
        {
            investigationButton.interactable = false;

            investigationButtonText.text = Dictionary.getString("ALL_RESEARCHED");
            nameText.text        = "";
            priceText.text       = "";
            descriptionText.text = "";
        }
        else
        {
            Investigation selectedInvest = im.getInvestigation(selectedId);
            nameText.text                    = selectedInvest.getName();
            priceText.text                   = " " + Dictionary.getString("COST") + " " + selectedInvest.getCost();
            descriptionText.text             = selectedInvest.getDesc();
            investigationButton.interactable = true;
            investigationButtonText.text     = Dictionary.getString("RESEARCH");
            //selectedInvest.printInfo ();
        }
    }
예제 #9
0
    public List <MenuAction> getRiceTerrainActions(RiceTerrainTile riceTerrain)
    {
        //Debug.Log ("Actions for Terrain=" + riceTerrain.getChunkNumber ());
        List <MenuAction> actionsAvailable = new List <MenuAction>();

        if (!isActionInProgress(riceTerrain.getChunkNumber()))
        {
            List <int> actionsCurrentPhase = GameObject.FindGameObjectWithTag("Logic").GetComponent <PhaseManager>().getActionsInCurrentPhase();
            for (uint i = 0; i < actionsCurrentPhase.Count; ++i)
            {
                int currentAction = actionsCurrentPhase[(int)i];

                bool areDependenciesOk   = riceTerrain.checkDependencies(_action[currentAction]);
                bool hasBeenInvestigated = InvestigationManager.GetInstance().areInvestigated(_action[currentAction].getInvestigationRequired());
                bool hasWater            = WorldTerrain.GetInstance().riceChunkHasWater(riceTerrain.getChunkNumber()) || !_action[currentAction].needCanal;
                bool hasActionDone       = riceTerrain.isActionDone(currentAction);

                if (!hasActionDone && hasBeenInvestigated && areDependenciesOk && hasWater)
                {
                    ChunkAction        newAction = _action[currentAction];
                    PerformChunkAction callback  = this.addActionInProgress;
                    ChunkAction        t         = newAction.copyWithCallback(callback, riceTerrain.getChunkNumber());
                    actionsAvailable.Add((MenuAction)t);
                }
                //Debug.Log("  Action "+currentAction+" Dep="+areDependenciesOk+" Inv="+hasBeenInvestigated+" Water="+hasWater+" !Done="+!hasActionDone);
            }
        }
        actionsAvailable.Sort((x, y) => x.priority.CompareTo(y.priority));
        return(actionsAvailable);
    }
예제 #10
0
 public void InvestigateEverything()
 {
     for (int i = 0; i < (int)INVESTIGATIONS_ID.QUANTITY; ++i)
     {
         InvestigationManager.GetInstance().InvestigateWithoutWaiting(i);
     }
 }
예제 #11
0
    public void ListAllCollectedClues(ClueSpaceUI caller)
    {
        CaseData openedCase = InvestigationManager.GetCase();

        Open();
        Erase();
        Files files = Files.Load();

        this.caller = caller;
        var l = files.GetCaseStatus().clues;

        for (int i = 0; i < l.Count; i++)
        {
            var      clue = l[i];
            ClueData cd   = openedCase.GetClueData(clue);
            var      go   = Instantiate(cluePrefab, root);
            go.GetComponent <ClueForListUI>().SetInfo(cd);
            go.GetComponent <Button>().onClick.AddListener(
                delegate {
                ClueData c = cd;
                Choose(c);
            });
            if (i == 0)
            {
                go.GetComponent <Button>().Select();
            }
        }
    }
예제 #12
0
    public void sellRice(uint riceToSell)
    {
        //rice.addRiceSold(riceToSell);
        float coopBonus = CoopManager.GetInstance().getCurrentTotalProductionBonus() / 100.0f;
        float invBonus  = InvestigationManager.GetInstance().getGoldBonusPerRiceSold() / 100.0f;

        gold.addRiceGold(riceToSell * (LogicManager.PRICE_PER_RICE + LogicManager.PRICE_PER_RICE * coopBonus + LogicManager.PRICE_PER_RICE * invBonus));
    }
예제 #13
0
 public static bool HasActiveCase()
 {
     if (me == null)
     {
         me = FindObjectOfType <InvestigationManager>();
     }
     return(me.currentCase >= 0);
 }
        private void DoSearchAllIndividualsinSEC()
        {
            var dal  = new IndividualManager();
            var dalL = new LinkManager();
            var dalI = new InvestigationManager();
            var aux  = new Batch2WebAux(Response, BatchManager.BatchNamesEnum.SECLookupIndividuals);

            aux.AddHead();
            var table           = dalI.GetInvestigatedIndividuals();
            var c               = 0D;
            var alreadySearched = new List <string>();

            foreach (var ii in table)
            {
                if (alreadySearched.Contains(ii.individual_name.ToLower()))
                {
                    c++;
                    continue;
                }
                var names = new List <string> {
                    ii.individual_name
                };
                var aliases = dalL.GetIILByName(ii.individual_name);
                foreach (var alias in aliases)
                {
                    if (alias.link_type == "alias" & !names.Contains(alias.individual_alias))
                    {
                        names.Add(alias.individual_alias);
                    }
                }
                NameAnalyzer.AutoAliases(ii.individual_name, names);
                foreach (var name in names)
                {
                    if (alreadySearched.Contains(name.ToLower()))
                    {
                        continue;
                    }
                    try
                    {
                        if (ii.individual_name != name)
                        {
                            aux.WriteLine("Searcing ALL SEC filings for: " + ii.individual_name + " under alias: " + name);
                        }
                        else
                        {
                            aux.WriteLine("Searcing ALL SEC filings for: " + ii.individual_name);
                        }
                        dal.ImportIndividualFromSrc10(ii.individual_name, name);
                    }catch (Exception ex2)
                    { aux.WriteLine(string.Format("<hr /><b>Exception:<br />\r\n</b>{0}<hr/>", ex2)); }
                    alreadySearched.Add(name.ToLower());
                }
                c++;
                aux.SetProgress(c / table.Rows.Count);
            }
            aux.AddFoot();
            aux.Save();
        }
    public static InvestigationManager GetInstance()
    {
        if (instance == null)
        {
            instance = new InvestigationManager();
        }

        return(instance);
    }
예제 #16
0
        void DrawChart1()
        {
            Chart1.Visible = (CheckChart.Checked);
            Chart1.Width   = int.Parse(DropSize.SelectedValue);
            Chart1.Height  = (int)((Chart1.Width.Value) * 3 / 4);
            var investigationId = int.Parse(DropDownList1.SelectedValue);
            var table           = new LinkManager().GetIndividualCompanyLink(investigationId);

            if (CheckExcel.Checked)
            {
                AddExcelAttachment(table);
                return;
            }
            var invManager = new InvestigationManager();
            var tableI     = invManager.GetInvestigatedIndividuals(investigationId);

            Chart1.Series.Clear();
            var companies = new List <string>();

            foreach (var individual in tableI)
            {
                var s = Chart1.Series.Add(individual.individual_name, 1);
                s.SmartLabels.Enabled = true;
                s.ChartType           = SeriesChartType.Point.ToString();
                s.YValueType          = ChartValueTypes.Date;
                Chart1.ChartAreas[0].AxisY.LabelStyle.Format = "yyyy";
                var v = new DataView(table, "individual_name='" + individual.individual_name.Replace("'", "''") + "'",
                                     table.company_nameColumn.ColumnName + " asc", DataViewRowState.CurrentRows);
                foreach (DataRowView viewRow in v)
                {
                    var link = (DtstCOI.individual_company_linkRow)viewRow.Row;
                    if (link.Islink_dateNull())
                    {
                        continue;
                    }
                    if (companies.IndexOf(link.company_name) == -1)
                    {
                        companies.Add(link.company_name);
                    }
                    var xVal  = companies.IndexOf(link.company_name);
                    var point = new DataPoint();
                    point.SetValueXY(xVal + 1, link.link_date);
                    if (!link.IspositionNull())
                    {
                        point.Label = link.position;
                    }
                    point.AxisLabel = link.company_name;
                    s.Points.Add(point);
                }
            }
            if (!CheckData.Checked)
            {
                return;
            }
            GridView1.DataSource = table;
            GridView1.DataBind();
        }
 void Update()
 {
     if (year < tm.getCurrentYear())
     {
         year = tm.getCurrentYear();
         InvestigationManager.GetInstance().newYear();
         GameObject.FindWithTag("InvestigationMenuParent").GetComponent <InvestigationMenu> ().newYear();
     }
 }
예제 #18
0
    void init()
    {
        Text m_riceProductionNumberText = GameObject.Find("RiceProductionNumberText").GetComponent <Text>();
        Text m_riceSoldNumberText       = GameObject.Find("RiceSoldNumberText").GetComponent <Text>();
        Text m_riceLostNumberText       = GameObject.Find("RiceLostNumberText").GetComponent <Text>();
        Text m_grantEcologyNumberText   = GameObject.Find("EcologyGrantNumberText").GetComponent <Text>();

        UserDataManager userData        = UserDataManager.GetInstance();
        uint            anualProduction = userData.getRiceProducedThisYear();

        m_riceProductionNumberText.text = anualProduction.ToString();

        WorldTerrain         wt     = WorldTerrain.GetInstance();
        InvestigationManager invMan = InvestigationManager.GetInstance();
        //uint riceOfChunksDisabled = (uint) wt.getNumberOfChunks() * RiceTerrainTile.MAX_RICE_UNITS * WorldTerrain.RICE_CHUNK_W * WorldTerrain.RICE_CHUNK_H;
        //uint riceLostThisYear = userData.getRiceLostThisYear() + riceOfChunksDisabled;
        uint riceLostThisYear = (uint)(wt.getNumberOfChunks() * RiceTerrainTile.MAX_RICE_UNITS * WorldTerrain.RICE_CHUNK_W * WorldTerrain.RICE_CHUNK_H * (1 + invMan.getRicePerChunkBonus() * 0.01f) - anualProduction);

        m_riceLostNumberText.text = riceLostThisYear.ToString();

        int anualRiceSold = userData.gold.getRiceGoldAddThisYear();

        m_riceSoldNumberText.text = anualRiceSold.ToString();

        bool ecoGrant = InvestigationManager.GetInstance().isInvestigated(INVESTIGATIONS_ID.ECO_SUBVENCION);

        if (ecoGrant)
        {
            int ecoGrantBonus = CoopManager.GetInstance().getCurrentEcologyBonus();
            m_grantEcologyNumberText.text = ecoGrantBonus.ToString();
        }
        else
        {
            m_grantEcologyNumberText.text = "";
            GameObject.Find("EcologyGrantText").GetComponent <Text>().enabled          = false;
            GameObject.Find("EcologyGrantNumberUnits").GetComponent <Image> ().enabled = false;
            GameObject.Find("EcologyGrantButtonHelp").SetActive(false);
        }

        RankingManager.GetInstance().addScore((int)anualProduction);

        CoopManager.GetInstance().happyNewYear();

        UserDataManager.GetInstance().resetYearlyData();

        /*
         * const float TON = 1000000.0f;
         * if (anualRiceSold < TON) {
         *      m_riceProductionNumberText.text = anualRiceSold.ToString ();
         * } else {
         *      m_riceProductionNumberText.text = (anualRiceSold / TON).ToString ("0.00");
         *      m_riceProductionNumberUnitsText = "T";
         * }
         */
        GameObject.Find("Logic").GetComponent <TimeManager> ().pauseTime();
    }
예제 #19
0
    public void Introduce()
    {
        CaseData openedCase = InvestigationManager.GetCase();

        Files files = Files.Load();
        bool  added = files.GetCaseStatus().AddWitness(openedCase.GetWitnessIndexFromData(data));

        files.Save();
        DialogUI.StartDialog(data.introducingDialog, added, DialogType.WITNESS);
    }
예제 #20
0
    public void SetInitialClues(List <ClueData> data, int caseIndex)
    {
        var caseData = InvestigationManager.GetCase();

        foreach (var d in data)
        {
            int i = caseData.GetClueIndexFromData(d);
            status[caseIndex].AddClue(i);
        }
    }
예제 #21
0
    public void Investigate()
    {
        CaseData openedCase = InvestigationManager.GetCase();

        Files files = Files.Load();
        bool  added = files.GetCaseStatus().AddClue(openedCase.clues.IndexOf(clueData));

        files.Save();
        DialogUI.StartDialog(clueData.findingDialog, added, DialogType.CLUE);
    }
예제 #22
0
 public void Initialize()
 {
     for (int i = answersUI.Count - 1; i >= 0; i--)
     {
         Destroy(answersUI[i].gameObject);
     }
     data      = InvestigationManager.GetCase().report;
     answers   = new List <ScriptableObject>();
     answersUI = new List <Transform>();
 }
    protected void FoundCase(CaseData caseData)
    {
        int caseIndex = InvestigationManager.me.storage.cases.IndexOf(caseData);

        InvestigationManager.SetCase(caseIndex);
        Files files = Files.Load();

        files.SetInitialClues(caseData.initialClues, caseIndex);
        files.Save();
        DialogUI.StartDialog(caseData.findingDialog, InvestigationManager.me.currentCase != caseIndex, DialogType.CASE);
    }
예제 #24
0
    public override void OnShow()
    {
        CaseData openedCase = InvestigationManager.GetCase();

        FindObjectOfType <FilesMenu>().SetName(": " + screenName);
        image.sprite     = openedCase.image;
        data.text        = "Localização: " + openedCase.location;
        description.text = openedCase.description;
        base.OnShow();
        firstSelected.Select();
    }
예제 #25
0
    public uint getRiceProduced()
    {
        float penalization = PenalizationManager.GetInstance().getPercentageForChunk(_chunkID);
        uint  riceLost     = (uint)(Math.Ceiling((float)MAX_RICE_UNITS * penalization * 0.01f));
        float bonusRice    = MAX_RICE_UNITS * (float)InvestigationManager.GetInstance().getRicePerChunkBonus() * 0.01f;

        riceLost = Math.Min((uint)bonusRice + MAX_RICE_UNITS, riceLost);
        //UserDataManager.GetInstance().addRiceLost(Math.Min(MAX_RICE_UNITS, riceLost));
        uint riceProduced = Math.Max(MAX_RICE_UNITS + (uint)bonusRice - riceLost, (uint)0);

        return(riceProduced);
    }
예제 #26
0
 public EvaluationController(IEvaluationQuerier evaluationQuerier,
                             IJobQuerier jobQuerier,
                             EvaluationManager evaluationManager,
                             InvestigationManager investigationManager,
                             IServiceProvider serviceProvider)
     : base(serviceProvider)
 {
     _evaluationQuerier    = evaluationQuerier;
     _jobQuerier           = jobQuerier;
     _evaluationManager    = evaluationManager;
     _investigationManager = investigationManager;
 }
예제 #27
0
 private void Start()
 {
     if (InvestigationManager.HasActiveCase())
     {
         UpdateSelection();
         SetSelectionUIActive(true, 0);
     }
     else
     {
         SetSelectionUIActive(false, 0);
     }
 }
예제 #28
0
    public void ExecuteInvestigation()
    {
        InvestigationManager im = InvestigationManager.GetInstance();
        int investigationPrice  = im.getInvestigation(selectedId).getCost();

        UserDataManager.GetInstance().gold.espendGold(investigationPrice);
        im.startInvestigation(selectedId);
        UpdateInvestigationList(true);
        updateAvailableInfo();
        //UpdateinvestigationList (); //--
        //updatePageInfo (); //--
    }
예제 #29
0
    void updateAvailableList(bool changeOfTab)
    {
        InvestigationManager im             = InvestigationManager.GetInstance();
        List <Investigation> investigations = im.getAvailableInvestigations();

        if (changeOfTab && investigations.Count > 0)
        {
            selectedId = investigations[0].getID();
        }

        showInvestigationsList(investigations);
    }
예제 #30
0
        private void PopulateInvestigations()
        {
            var dalInv = new InvestigationManager();

            DropInvestigations.Items.Clear();
            var table = dalInv.GetInvestigations();

            DropInvestigations.DataSource     = table;
            DropInvestigations.DataTextField  = table.investigation_titleColumn.ColumnName;
            DropInvestigations.DataValueField = table.investigation_idColumn.ColumnName;
            DropInvestigations.DataBind();
        }