public static void AddOnce(this LongEvent thisEvent, UnityAction <long> reciever)
 {
     thisEvent.RemoveListener(reciever);
     thisEvent.AddListener(reciever);
 }
Example #2
0
 public void TranslateTo(LongEvent eventData, long sequence)
 {
     eventData.Value = sequence;
 }
    // Use this for initialization
    public EventMaintenance()
    {
        using (var reader = new StreamReader(@"Assets/Scripts/testLongEvents.tsv"))
        {
            reader.ReadLine();
            while (!reader.EndOfStream)
            {
                var       line        = reader.ReadLine();
                var       values      = line.Split('\t');
                int       EventID     = int.Parse(values[0]);
                int       noofoptions = int.Parse(values[1]);
                int       factor      = int.Parse(values[2]);
                string    desc        = values[3];
                string    type        = values[4];
                LongEvent Event       = new LongEvent(EventID, desc, noofoptions, factor);
                long_events.Add(Event);
            }
        }
        using (var reader = new StreamReader(@"Assets/Scripts/testLongEventsoptions.tsv"))
        {
            reader.ReadLine();
            int n = 0;
            while (!reader.EndOfStream)
            {
                var    line               = reader.ReadLine();
                var    values             = line.Split('\t');
                int    eventID            = int.Parse(values[0]);
                int    prEffect           = int.Parse(values[1]);
                int    legalEffect        = int.Parse(values[2]);
                int    researchEffect     = int.Parse(values[3]);
                double moneyPercentChange = double.Parse(values[4]);
                int    prReq              = int.Parse(values[5]);
                int    legalReq           = int.Parse(values[6]);
                int    researchReq        = int.Parse(values[7]);
                int    doomCounter        = int.Parse(values[8]);
                double chance             = double.Parse(values[9]);
                int    marketEffect       = int.Parse(values[10]);
                int    regulation         = int.Parse(values[11]);
                int    gasreq             = int.Parse(values[12]);
                string optionDescription  = values[13];
                int    EN = int.Parse(values[14]);
                int    RN = int.Parse(values[15]);
                if (n != 1)
                {
                    long_events[eventID - 1].options[n] = new Option(optionDescription, prEffect, legalEffect, researchEffect, moneyPercentChange, prReq, legalReq, researchReq, doomCounter, chance, marketEffect, regulation, optionDescription, EN, RN);
                    n++;
                }
            }
        }
        // Read in event csv
        using (var reader = new StreamReader(@"Assets/Scripts/testOptions.tsv"))
        {
            reader.ReadLine();
            while (!reader.EndOfStream)
            {
                var    line        = reader.ReadLine();
                var    values      = line.Split('\t');
                int    EventID     = int.Parse(values[0]);
                string type        = values[1];
                string description = values[2];
                //Debug.Log(description);
                Event newEvent = new Event(EventID, type, description, 3);
                events.Add(newEvent);
            }
        }

        using (var reader = new StreamReader(@"Assets/Scripts/testEvents.tsv"))
        {
            int count = 0;
            reader.ReadLine();
            int lineNum = 0;
            while (!reader.EndOfStream)
            {
                var line   = reader.ReadLine();
                var values = line.Split('\t');

                int    eventID            = int.Parse(values[0]);
                int    prEffect           = int.Parse(values[1]);
                int    legalEffect        = int.Parse(values[2]);
                int    researchEffect     = int.Parse(values[3]);
                double moneyPercentChange = double.Parse(values[4]);
                int    prReq             = int.Parse(values[5]);
                int    legalReq          = int.Parse(values[6]);
                int    researchReq       = int.Parse(values[7]);
                int    doomCounter       = int.Parse(values[8]);
                double chance            = double.Parse(values[9]);
                int    marketEffect      = int.Parse(values[10]);
                int    regulation        = int.Parse(values[11]);
                string optionDescription = values[12];
                int    EN = int.Parse(values[13]);
                int    RN = int.Parse(values[14]);

                events[eventID - 1].options[count] = new Option(optionDescription, prEffect, legalEffect, researchEffect,
                                                                moneyPercentChange, prReq, legalReq, researchReq, doomCounter,
                                                                chance, marketEffect, regulation, optionDescription, EN, RN);
                lineNum = lineNum + 1;
                if (count == events[eventID - 1].Optionsnumber)
                {
                    count = 0;
                }
            }
        }
        foreach (var Event in events)
        {
            if (Event.type == "Environment")
            {
                environmental_events.Add(Event);
            }
            if (Event.type == "Relations")
            {
                relation_events.Add(Event);
            }
        }
        foreach (var LongEvent in long_events)
        {
            if (LongEvent.type == "Environment")
            {
                environmental_long_events.Add(LongEvent);
            }
            if (LongEvent.type == "Relations")
            {
                relation_long_events.Add(LongEvent);
            }
        }
    }