示例#1
0
 // Use this for initialization
 void Start()
 {
     settlementInfo   = GetComponentInParent <SettlementInformation> ();
     status           = GameObject.FindGameObjectWithTag("Status");
     statusController = status.GetComponent <StatusController> ();
     discoveredSound  = GetComponent <AudioSource> ();
 }
示例#2
0
    //TODO: implement button to swap between gaelic + english translations
    //TODO: add labels and prettify ui
    /**A boilerplate function to assign the current clicked settlement details to each and every ui element **/
    public void setTextData()
    {
        SettlementInformation allInfo = transform.root.GetComponent <SettlementInformation> ();

        if (allInfo == null)
        {
            return;
        }
        InfoFieldContainer fields = GameObject.FindGameObjectWithTag("God").GetComponent <InfoFieldContainer> ();

        fields.headnameOriginal.text = allInfo.headname;
        fields.slug.text             = allInfo.slug;
    }
 public void TestSettlementInformation()
 {
     using (WorkingDir wd = new WorkingDir(Utili.GetCurrentMethodAndClass()))
     {
         using (DatabaseSetup db = new DatabaseSetup(Utili.GetCurrentMethodAndClass()))
         {
             Simulator    sim = new Simulator(db.ConnectionString);
             Settlement   set = sim.Settlements[0];
             BatchOptions bo  = new BatchOptions();
             BatchfileFromSettlement.MakeSettlementJson(set, sim, bo, wd.WorkingDirectory);
             SettlementInformation si = SettlementInformation.Read(wd.WorkingDirectory);
             Assert.NotNull(si);
             db.Cleanup();
         }
     }
     //wd.CleanUp();
 }
示例#4
0
    public override void Init()
    {
        answerGroup      = GameObject.FindGameObjectWithTag("AnswerUI").GetComponent <CanvasGroup> ();
        questionGroup    = GameObject.FindGameObjectWithTag("Question").GetComponent <CanvasGroup> ();
        answersLeftGroup = GameObject.FindGameObjectWithTag("AnswersLeft").GetComponent <CanvasGroup> ();
        infoContainer    = GameObject.FindGameObjectWithTag("God").GetComponent <InfoFieldContainer> ();
        qc          = GameObject.FindGameObjectWithTag("God").GetComponent <QuestionController> ();
        guessSounds = answerGroup.GetComponents <AudioSource> ();
        answer      = qc.getAnswer().GetComponent <SettlementInformation> ();
        guess       = qc.getCurrentGuess();
        moveOn      = GameObject.FindGameObjectWithTag("MoveOn").GetComponent <Text> ();

        guessColour  = guess.GetComponentInChildren <ModifyColour> ();
        answerColour = answer.GetComponentInChildren <ModifyColour> ();

        options  = GameObject.FindGameObjectWithTag("Options");
        isGaelic = options != null?options.GetComponent <OptionsManager> ().getIsGaelic() : false;
    }
示例#5
0
    /** Turns off every marker for each settlement
     * TODO: refactor away this into a method called on each settlement itself?**/
    public static void setMarkerVisibility(bool isVisible, string tag = "SettlementMarker")
    {
        GameObject[] settlements = GameObject.FindGameObjectsWithTag(tag);
        setPlayerVisibility(isVisible);
        foreach (GameObject settlement in settlements)
        {
            SettlementInformation settlementInfo = settlement.GetComponentInParent <SettlementInformation> ();

            if (isVisible)
            {
                setMarker(settlement, settlementInfo.getIsFound());
            }
            else
            {
                setMarker(settlement, false);
            }
        }
    }
示例#6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="identifier"></param>
        /// <param name="payerPartyReference"></param>
        /// <param name="receiverPartyReference"></param>
        /// <param name="paymentAmount"></param>
        /// <param name="adjustablePaymentDate"></param>
        /// <param name="settlementInformation"></param>
        /// <param name="paymentType"></param>
        /// <param name="discountFactor"></param>
        /// <param name="presentValueAmount"></param>
        /// <returns></returns>
        public static Payment Create(string identifier, PartyReference payerPartyReference,
                                     PartyReference receiverPartyReference, NonNegativeMoney paymentAmount,
                                     AdjustableOrAdjustedDate adjustablePaymentDate, SettlementInformation settlementInformation, PaymentType paymentType,
                                     decimal discountFactor, Money presentValueAmount)
        {
            var payment = new Payment
            {
                paymentDate             = adjustablePaymentDate,
                discountFactor          = discountFactor,
                discountFactorSpecified = true,
                href = identifier,
                payerPartyReference    = payerPartyReference,
                paymentAmount          = paymentAmount,
                paymentType            = paymentType,
                presentValueAmount     = presentValueAmount,
                receiverPartyReference = receiverPartyReference,
                settlementInformation  = settlementInformation
            };

            return(payment);
        }
示例#7
0
        /// <summary>
        /// Initializes a new instance of the <see cref="PriceableFxOptionPremium"/> class.
        /// </summary>
        /// <param name="id">The identifier.</param>
        /// <param name="receiverPartyReference">The receiver.</param>
        /// <param name="payerIsBase">The flag determining if the payer is the base party.</param>
        /// <param name="amount">The amount.</param>
        /// <param name="settlementDate">The adjusted payment date.</param>
        /// <param name="payerPartyReference">The payer.</param>
        /// <param name="premiumQuote">The premium quote </param>
        /// <param name="settlementInformation">The settlement information. </param>
        /// <param name="paymentCalendar">Type paymentCalendar.</param>
        public PriceableFxOptionPremium
        (
            string id
            , string payerPartyReference
            , string receiverPartyReference
            , bool payerIsBase
            , Money amount
            , DateTime settlementDate
            , PremiumQuote premiumQuote
            , SettlementInformation settlementInformation
            , IBusinessCalendar paymentCalendar) :
            base(id, "DiscountedCashflow", payerIsBase, amount,
                 AdjustableOrAdjustedDateHelper.CreateAdjustedDate(settlementDate),
                 PaymentTypeHelper.Create("Certain"), CashflowTypeHelper.Create(CashflowTypeEnum.Premium.ToString()), false, paymentCalendar)
        {
            PayerPartyReference    = PartyReferenceFactory.Create(payerPartyReference);
            ReceiverPartyReference = PartyReferenceFactory.Create(receiverPartyReference);
            OrderedPartyNames.Add(PayerPartyReference.href);
            OrderedPartyNames.Add(ReceiverPartyReference.href);
            if (premiumQuote != null)
            {
                PremiumQuote = new PremiumQuote
                {
                    quoteBasis          = premiumQuote.quoteBasis,
                    quoteBasisSpecified = true,
                    value          = premiumQuote.value,
                    valueSpecified = true
                };
            }
            if (settlementInformation == null)
            {
                return;
            }
            SettlementInformation = new SettlementInformation();
            var item = BinarySerializerHelper.Clone(settlementInformation.Item);

            SettlementInformation.Item = item;
        }
    /* Given data on a settlement, places a settlement at its position and
     * Does not place settlement if it's waaaay outside the map's bounds*/
    void placeSettlement(SettlementData settlementData)
    {
        string x = settlementData.eastings;
        string y = settlementData.northings;


        Vector2    gridReference = new Vector2(float.Parse(x), float.Parse(y));
        float      rayHeight     = 1000f;                                                    //height to fire ray from
        RaycastHit settlementPosition;
        Vector2    islandPoint = ConversionHelper.GridReferenceToUnityCoords(gridReference); //converting world point to an island point

        //fire ray directly downwards from above the given point, place settlement where it lands
        Vector3 rayOrigin = new Vector3(islandPoint.x, rayHeight, islandPoint.y);

        if (Physics.Raycast(rayOrigin, Vector3.down, out settlementPosition))
        {
            GameObject placedSettlement = (GameObject)Instantiate(settlementPrefab, settlementPosition.point, Quaternion.identity);

            SettlementInformation settlementInfo = placedSettlement.GetComponent <SettlementInformation> ();
            settlementInfo.setSettlementInfo(settlementData);
            settlementModifier(placedSettlement, settlementData);
        }
    }
示例#9
0
 public void setAnswer(SettlementInformation settlement)
 {
     setStatus("Answer: " + settlement.headname, statusText.color);
 }
示例#10
0
 public void setDiscovered(SettlementInformation settlement, Color color)
 {
     setStatus(settlement.headname, color);
 }
示例#11
0
 public void addToFoundSettlements(SettlementInformation settlement)
 {
     foundSettlements.Add(settlement);
 }
示例#12
0
        public static void MakeSettlementJson([NotNull] Settlement settlement, [NotNull] Simulator sim, [NotNull] BatchOptions bo, [NotNull] string dstPath)
        {
            SettlementInformation si = new SettlementInformation(
                sim.MyGeneralConfig.CSVCharacter, settlement.Name,
                bo.EnergyIntensity,
                Assembly.GetExecutingAssembly().GetName().Version.ToString()
                );

            foreach (SettlementHH settlementHousehold in settlement.Households)
            {
                if (settlementHousehold.CalcObject == null)
                {
                    continue;
                }

                if (settlementHousehold.CalcObjectType == CalcObjectType.House)
                {
                    House house = (House)settlementHousehold.CalcObject;
                    if (house.HouseType == null)
                    {
                        throw new LPGException("Housetype was null");
                    }
                    SettlementInformation.HouseInformation hi
                        = new SettlementInformation.HouseInformation(
                              settlementHousehold.Name,
                              GetCalcObjectName(settlementHousehold.CalcObject.Name),
                              house.HouseType.Name);
                    si.HouseInformations.Add(hi);

                    foreach (var entry in house.Households)
                    {
                        if (entry.CalcObject == null)
                        {
                            throw new LPGException("Calcobject was null");
                        }
                        SettlementInformation.HouseholdInformation hhi = new SettlementInformation.HouseholdInformation(entry.CalcObject.Name);
                        hi.HouseholdInformations.Add(hhi);
                        ModularHousehold mhh = (ModularHousehold)entry.CalcObject;

                        foreach (ModularHouseholdTag tag in mhh.ModularHouseholdTags)
                        {
                            hhi.Tags.Add(tag.Tag.Name);
                        }
                        foreach (ModularHouseholdPerson mhhperson in mhh.Persons)
                        {
                            Person person   = mhhperson.Person;
                            string traittag = mhhperson.TraitTag?.Name;
                            if (traittag == null)
                            {
                                traittag = "";
                            }
                            SettlementInformation.SettlementPersonInformation spi =
                                new SettlementInformation.SettlementPersonInformation(person.Name, person.Age, person.Gender, traittag);

                            hhi.Persons.Add(spi);
                        }
                    }
                }
            }
            si.WriteResultEntries(dstPath);
        }