Пример #1
0
        public override void SafeAwake()
        {
            HardnessMenu = BB.AddMenu(LanguageManager.hardness, Hardness, MetalHardness, false);
            HardnessMenu.ValueChanged += (int value) => { Hardness = value; ChangedProperties(); };

            ExtendKey = BB.AddKey(LanguageManager.extend, "Extend", KeyCode.E);
            ShrinkKey = BB.AddKey(LanguageManager.retract, "Shrink", KeyCode.F);

            HydraulicToggle          = BB.AddToggle(LanguageManager.hydraulicMode, "Pressure", Hydraulic);
            HydraulicToggle.Toggled += (bool value) => { Hydraulic = R2CToggle.DisplayInMapper = ExtendKey.DisplayInMapper = ShrinkKey.DisplayInMapper = FeedSlider.DisplayInMapper = ExtendLimitSlider.DisplayInMapper = ShrinkLimitSlider.DisplayInMapper = value; ChangedProperties(); };

            R2CToggle          = BB.AddToggle(LanguageManager.returnToCenter, "Return to center", R2C);
            R2CToggle.Toggled += (bool value) => { R2C = value; ChangedProperties(); };

            FeedSlider = BB.AddSlider(LanguageManager.feedSpeed, "feed", Feed, 0f, 2f);
            FeedSlider.ValueChanged += (float value) => { Feed = value; ChangedProperties(); };

            ExtendLimitSlider = BB.AddSlider(LanguageManager.extendLimit, "ExtendLimit", ExtendLimit, 0f, 3f);
            ExtendLimitSlider.ValueChanged += (float value) => { ExtendLimit = value; ChangedProperties(); };

            ShrinkLimitSlider = BB.AddSlider(LanguageManager.retractLimit, "ShrinkLimit", RetractLimit, 0f, 3f);
            ShrinkLimitSlider.ValueChanged += (float value) => { RetractLimit = value; ChangedProperties(); };



#if DEBUG
            ConsoleController.ShowMessage("悬挂添加进阶属性");
#endif
        }
Пример #2
0
        public static void Case0()
        {
            bool useCallVirtual = false;

            do
            {
                useCallVirtual = !useCallVirtual;

                ILCallMethod func = CreateDelegate(typeof(AA), nameof(AA.Print), useCallVirtual);
                AA           aa   = new AA();
                BB           bb   = new BB();
                AA           ba   = (AA)bb;
                func(aa);
                func(bb);
                func(ba);
                Console.WriteLine();
            } while (useCallVirtual);

            //useCallVirtual = false;
            do
            {
                useCallVirtual = !useCallVirtual;

                ILCallMethod func = CreateDelegate(typeof(BB), nameof(AA.Print), useCallVirtual);
                AA           aa   = new AA();
                BB           bb   = new BB();
                AA           ba   = (AA)bb;
                func(aa);
                func(bb);
                func(ba);
                Console.WriteLine();
            } while (useCallVirtual);
        }
Пример #3
0
 public static void SetProto(BldgProtoDef def)
 {
     BB.AssertNotNull(def);
     BB.AssertNull(protoInternal,
                   $"building prototype def <{def.defName}, {def.protoDefType.defName}> declared twice");
     protoInternal = def;
 }
Пример #4
0
    // garbage collecting is really handy here...
    void snowflake(Vertex u, int N, double L)
    {
        if (N == 0)
        {
            if (A == null || AA.DistanceTo(u) < AA.DistanceTo(A))
            {
                A = u;
            }
            if (B == null || BB.DistanceTo(u) < BB.DistanceTo(B))
            {
                B = u;
            }
            return;
        }

        for (int i = 0; i < 6; i++)
        {
            if (i == 3 && u.parent != null)
            {
                continue;
            }

            Vertex v = new Vertex();
            v.heading = u.heading + Math.PI * i / 3.0;
            v.x       = u.x + L * Math.Cos(v.heading);
            v.y       = u.y + L * Math.Sin(v.heading);
            v.parent  = u;

            snowflake(v, N - 1, L / K);
        }
    }
Пример #5
0
 public override void SafeAwake()
 {
     base.SafeAwake();
     steeringWheel = BB.GetComponent <SteeringWheel>();
     FPLogic       = steeringWheel.AddToggle("FPIO", "accept_fpio", false);
     UsedKeys      = steeringWheel.MapperTypes.Where(x => x is MKey).Select(x => x as MKey).ToArray();
 }
Пример #6
0
    public void Log(string logText)
    {
        SmartText label = (SmartText)smartTextTemplate.Duplicate();

        label.BbcodeText = BB.Format(logText);
        AddChild(label);
    }
        public MMenu AddMenu(string key, int defaultIndex, List <string> items)
        {
            var mapper = BB.AddMenu(key, defaultIndex, items);

            mapper.ValueChanged += (value) => { PropertiseChangedEvent(); };
            return(mapper);
        }
        public MKey AddKey(string displayName, string key, KeyCode defaultValue)
        {
            var mapper = BB.AddKey(displayName, key, defaultValue);

            mapper.KeysChanged += () => { PropertiseChangedEvent(); };
            return(mapper);
        }
Пример #9
0
 public override void SafeAwake()
 {
     base.SafeAwake();
     sliderCompress = BB.GetComponent <SliderCompress>();
     joint          = GetComponent <ConfigurableJoint>();
     FPLogic        = sliderCompress.AddToggle("FPIO", "accept_fpio", false);
 }
Пример #10
0
 public void Test_CustomConverter2()
 {
     var b = new BB();
     var a = Mapper.Map<BB, AA>(b);
     Assert.AreEqual(b.fld1, a.fld1);
     Assert.AreEqual(b.Getfld2(), a.fld2);
 }
        public MToggle AddToggle(string displayName, string key, bool defaultValue)
        {
            var mapper = BB.AddToggle(displayName, key, defaultValue);

            mapper.Toggled += (value) => { PropertiseChangedEvent(); };
            return(mapper);
        }
Пример #12
0
 /// <summary>
 /// Computes the next value of the following sub-indicators from the given state:
 /// StandardDeviation, MiddleBand, UpperBand, LowerBand, BandWidth, %B
 /// </summary>
 /// <param name="input">The input given to the indicator</param>
 /// <returns>The input is returned unmodified.</returns>
 protected override decimal ComputeNextValue(IndicatorDataPoint input)
 {
     BB.Update(input);
     LB.Add(BB.LowerBand);
     UB.Add(BB.UpperBand);
     return(BB.MiddleBand);
 }
Пример #13
0
    public static int Main()
    {
        BB bb = new BB();

        bb.A();
        bb.B();
        bb.C();

        if (!bb.OK)
        {
            return(1);
        }

        AA aa = new AA();

        aa.A();
        aa.B();
        aa.C();
        if (!aa.OK)
        {
            return(2);
        }

        return(0);
    }
        private void Awake()
        {
            BB = GetComponent <BlockBehaviour>();

            SafeAwake();

            //if (BB.isSimulating ) { return; }

            EnhancementToggle          = BB.AddToggle(LanguageManager.Instance.CurrentLanguage.Enhancement, "Enhancement", EnhancementEnabled);
            EnhancementToggle.Toggled += (bool value) => { EnhancementEnabled = value; PropertiseChangedEvent(EnhancementToggle); /*DisplayInMapper(value);*/ };

            //LoadConfiguration();

            PropertiseChangedEvent += ChangedProperties;
            PropertiseChangedEvent += (mapperType) => { DisplayInMapper(EnhancementEnabled); };
            PropertiseChangedEvent?.Invoke(EnhancementToggle);

            StartCoroutine(onPlaced());
            //Controller.Instance.OnSave += SaveConfiguration;
            IEnumerator onPlaced()
            {
                yield return(new WaitUntil(() => BB.PlacementComplete));

                if (!BB.ParentMachine.isSimulating)
                {
                    OnPlaced();
                }
                yield break;
            }
        }
Пример #15
0
    public override void _Ready()
    {
        GameData.Instance.State = GameData.GameState.Narration;
        if (GameData.Instance.yokai == YokaiId.None)
        {
            Continue();
            return;
        } // Sanity check to avoid the infamous win-crash
        int money = (100 + GameData.Instance.MoneyPercentageBonus) * GameData.Instance.yokai.Data().Reward / 100;

        GameData.Instance.yokai         = YokaiId.None;
        GetNode <Label>(moneyPath).Text = $"+{money}";
        GameData.Instance.Money        += money;

        CardId card = CardData.AllSpecial().Random();

        GetNode <CardVisual>(cardPath).ShowCard(card.Data());
        GetNode <CardVisual>(cardPath).IsDisabled           = true;
        GetNode <RichTextLabel>(descriptionPath).BbcodeText = BB.Format(card.Data().Description);
        GetNode <Button>(addCardbuttonPath).Connect("pressed", this, nameof(AddToDeck), new Godot.Collections.Array()
        {
            card
        });
        GetNode <Button>(continuePath).Connect("pressed", this, nameof(Continue));


        RNG.StartCycle();
        Global.SaveGame();
    }
Пример #16
0
        public override void SafeAwake()
        {
            ID       = GetComponent <BlockVisualController>().ID;
            Friction = PSaF.GetPositionScaleAndFriction(ID).Friction;

            ColliderToggle          = BB.AddToggle(LanguageManager.customCollider, "Custom Collider", Collider);
            ColliderToggle.Toggled += (value) => { Collider = ShowColliderToggle.DisplayInMapper = value; ChangedProperties(); };

            ShowColliderToggle          = BB.AddToggle(LanguageManager.showCollider, "Show Collider", ShowCollider);
            ShowColliderToggle.Toggled += (value) => { ShowCollider = value; ChangedProperties(); };

            FrictionSlider = BB.AddSlider(LanguageManager.friction, "Friction", Friction, 0.1f, 3f);
            FrictionSlider.ValueChanged += (float value) => { Friction = value; ChangedProperties(); };

            BouncinessSlider = BB.AddSlider(LanguageManager.bounciness, "Bounciness", Bounciness, 0f, 1f);
            BouncinessSlider.ValueChanged += (float value) => { Bounciness = value; ChangedProperties(); };

            if (WheelColliderOrgin == null)
            {
                StartCoroutine(ReadWheelMesh());
            }

#if DEBUG
            ConsoleController.ShowMessage("动力组件添加进阶属性");
#endif
        }
        public MValue AddValue(string displayName, string key, float defaultValue)
        {
            var mapper = BB.AddValue(displayName, key, defaultValue);

            mapper.ValueChanged += (value) => { PropertiseChangedEvent(); };
            return(mapper);
        }
Пример #18
0
 public static int Main()
 {
     try
     {
         AA <char, bool> .Static1(
             App.m_xFwd11,
             ref App.m_agboFwd12,
             (new ulong[50u, 40u, 98u]),
             ref App.m_byFwd4);
     }
     catch (Exception)
     {
     }
     try
     {
         AA <char, bool> .Static2(
             (new bool[72u, 126u][, , ]),
             ref App.m_aulFwd13,
             App.m_gcFwd14,
             App.m_agboFwd12,
             App.m_gcFwd14,
             App.m_agboFwd12);
     }
     catch (Exception)
     {
     }
     try
     {
         AA <char, bool> .Static3(
             34u,
             ref App.m_shFwd10);
     }
     catch (Exception)
     {
     }
     try
     {
         AA <char, bool> .Static4(
             App.m_agboFwd12,
             ref App.m_axFwd15,
             ref App.m_agboFwd12,
             '\x50');
     }
     catch (Exception)
     {
     }
     try
     {
         BB.Static1(
             (new double[101u][, , ]),
             ref App.m_bFwd1,
             TestEnum.red,
             ref App.m_fFwd6);
     }
     catch (Exception)
     {
     }
     return(100);
 }
Пример #19
0
        /// <summary>
        /// Resets this indicator and all sub-indicators (StandardDeviation, LowerBand, MiddleBand, UpperBand, BandWidth, %B)
        /// </summary>
        public override void Reset()
        {
            BB.Reset();
            LB.Reset();
            UB.Reset();

            base.Reset();
        }
Пример #20
0
        void MM()
        {
            var bbb = new BB();
            Val v1  = bbb[0];

            bbb[1] = v1;

            ref Val v2 = ref bbb[2];
Пример #21
0
 public void ActivateButton(BuildingButton button)
 {
     foreach (BuildingButton BB in CurrentTab.BuildingButtons)
     {
         BB.GetComponent <Image>().color = FrameDefaultColor;
     }
     button.GetComponent <Image>().color = FrameActiveColor;
 }
Пример #22
0
        public void Test_CustomConverter2()
        {
            var b = new BB();
            var a = Mapper.Map <BB, AA>(b);

            Assert.AreEqual(b.fld1, a.fld1);
            Assert.AreEqual(b.Getfld2(), a.fld2);
        }
Пример #23
0
 public void OpenCard(int index)
 {
     opened = GameData.Instance.Deck[index].Data();
     inspectField.BbcodeText = BB.Format(opened.Description);
     inspectField.Show();
     banishField.Disabled  = (GameData.Instance.Money < BANISHMENT_COST);
     priceField.BbcodeText = $"[center]Banish ({BANISHMENT_COST} {BB.Mon})[/center]";
 }
Пример #24
0
 public void PlayAA()
 {
     AA.Play();
     BB.Play();
     CC.Play();
     DD.Play();
     EE.Play();
 }
        public override void SafeAwake()
        {
            HardnessMenu = BB.AddMenu(LanguageManager.hardness, Hardness, WoodHardness, false);
            HardnessMenu.ValueChanged += (int value) => { Hardness = value; ChangedProperties(); };

#if DEBUG
            ConsoleController.ShowMessage("木头组件添加进阶属性");
#endif
        }
Пример #26
0
        public override void SafeAwake()
        {
            DragSlider = BB.AddSlider(LanguageManager.drag, "Drag", Drag, 0f, 3f);
            DragSlider.ValueChanged += (float value) => { Drag = value; ChangedProperties(); };

#if DEBUG
            ConsoleController.ShowMessage("皮筋添加进阶属性");
#endif
        }
Пример #27
0
 public AtlasDef(string defName, string file, int pixelsPerTile, int pixelsPerUnit)
     : base("BB:Atlas", defName)
 {
     BB.Assert(pixelsPerUnit > pixelsPerTile);
     BB.Assert((pixelsPerUnit % pixelsPerTile) == 0);
     this.file          = file;
     this.pixelsPerTile = pixelsPerTile;
     this.pixelsPerUnit = pixelsPerUnit;
     this.tilesPerUnit  = pixelsPerUnit / pixelsPerTile;
 }
Пример #28
0
        public override void SafeAwake()
        {
            RotationToggle          = BB.AddToggle(LanguageManager.cvJoint, "Rotation", Rotation);
            RotationToggle.Toggled += (bool value) => { Rotation = value; ChangedProperties(); };


#if DEBUG
            ConsoleController.ShowMessage("球铰添加进阶属性");
#endif
        }
Пример #29
0
    public void OpenCard(int _, int index)
    {
        CardData card = GetCard(index).Data();

        selected = index;
        bubbleText.BbcodeText = $"Want to buy a {card.Name}?\n\n{BB.Format(card.Description)}";
        buyButton.Show();
        buyButtonText.BbcodeText = $"[center]Buy ({card.MonPrice} {BB.Mon})[/center] ";
        buyButton.Disabled       = (card.MonPrice > GameData.Instance.Money);
    }
        public override void SafeAwake()
        {
            BoilingToggle          = BB.AddToggle(LanguageManager.boiling, "Boiling", Boiling);
            BoilingToggle.Toggled += (bool value) => { Boiling = value; ChangedProperties(); };


#if DEBUG
            ConsoleController.ShowMessage("水炮添加进阶属性");
#endif
        }
Пример #31
0
 public static void Static2(bool[] param1, object param2, BB[] param3, bool[] param4, char param6)
 {
     while (((bool)m_xStatic1)) break;
     do
     {
         for (m_bFwd10 *= (new byte[22u])[46];
         new uint[] { 34u, 4u, 30u } != m_xStatic1;
         param6 *= '\x06')
             ;
     } while (param2 != param3);
 }
        public MColourSlider AddColourSlider(string displayName, string key, Color defaultValue, bool snapColors)
        {
            var mapper = BB.AddColourSlider(displayName, key, defaultValue, snapColors);

            mapper.ValueChanged += (value) => { if (Input.GetKeyUp(KeyCode.Mouse0))
                                                {
                                                    PropertiseChangedEvent();
                                                }
            };
            return(mapper);
        }
Пример #33
0
        static int Main() {

		BB bb = new BB ();
		bb.A ();
		bb.B ();
		bb.C ();

		if (!bb.OK)
			return 1;

		AA aa = new AA ();
		aa.A ();
		aa.B ();
		aa.C ();
		if (!aa.OK)
			return 2;

		return 0;
	}
Пример #34
0
 public void ConversionTests()
 {
     AA a = new AA();
     BB b = new BB();
     Assert.AreEqual(true, b.GetType().IsSubclassOf(a.GetType()));
     Assert.AreEqual(false, b.GetType().IsSubclassOf(b.GetType()));
     //Convert.ChangeType(b, typeof(AA));
 }
Пример #35
0
        public Event(DateTime ClockStart, DateTime ClockEnd, int ClockRunTime, System.Xml.Linq.XDocument XMLEvents, ref CrashHandler Crash)
        {
            ch = Crash;
            events = new Dictionary<string, List<EventItem>>();
            clock = new PartyClock(ClockStart, ClockEnd, ClockRunTime);
            Util.ShowClock = true;
            sound = new Sound(true);
            text = new Text2D();
            chess = new Chess();
            sf = new Starfield(150);

            intro = new Intro(ref sound, ref text);
            outro = new Outro(ref sound);

            advent = new Advent(ref sound);
            birthday = new Birthday(ref sound, ref text, ref chess);
            xmas = new Christmas(ref sound);
            smurf = new Datasmurf(ref sound, ref text); // random
            dif = new Dif(ref chess, ref sound); // random
            fbk = new Fbk(ref sound); // random
            hw = new Halloween(ref chess, ref sound, 25);
            lucia = new Lucia(ref chess, ref sound);
            newyear = new NewYear();
            richard = new RMS(ref sound, ref text); // random
            scroller = new Scroller(ref chess, ref sf, ref text); // random
            semla = new Semla();
            sune = new SuneAnimation(ref sound, ref text);
            tl = new TurboLogo(ref sound, ref chess, (OpenGL.Util.SpringOrFall.Equals("Spring")? true:false)/*((ClockStart.Month >= 1 && ClockStart.Month <= 8)? false:true)*/ ); // vilken termin är det? jan till början av augusti VT, resten HT... random
            valentine = new Valentine(ref sound);
            wl = new WinLinux(ref chess); //random
            creators = new Self(ref sound); // random
            bb = new BB(ref sound); // random
            GM = new GummiBears(ref sound);
            NDay = new National(ref chess, ref sound);
            easter = new Easter(ref sound);
            hajk = new Hajk(ref sound);
            mid = new Midsummer(ref sound);
            vaf = new Vaffla();
            wp = new Walpurgis();
            crayfish = new CrayFish();

            ts = new TeknatStyle(ref chess, ref sound, ref text);
            m = new Matrix(ref text);
            q = new Quiz(ref text, false, ref sound);
            talepsin = new Talespin(ref sound);
            cd = new ChipAndDale(ref sound, ref chess);
            nerd = new Nerdy(ref chess, ref sound);
            trex = new Trex(ref sound);
            sailormoon = new Sailormoon(ref sound,ref chess);
            gb = new GhostBusters(ref sound);
            zelda = new Zelda(ref sound, ref chess);
            tardis = new Tardis(ref sound);
            f**k = new F**k(ref sound, ref chess);

            silverFang = new SilverFang(ref sound);
            mt = new MoraT(ref sound);

            swine = new Swine(ref chess, ref text);
            tjall = new Tjall(ref chess, ref text);

            ronja = new Ronja(ref sound);
            emil = new Emil(ref sound);
            djungelboken = new Djungelboken(ref sound);
            fabbe = new Fabbe(ref sound);
            drink = new Drink(ref sound);
            frozen = new Frozen(ref sound);

            eventCurrent = null; // event item for events to be triggerd in clock_NewDate
            //randomEvent = new List<string>(new string[] { "starfield", "SuneAnimation", "TurboLogo", "Datasmurf", "WinLinux", "Scroller", "BB", "GummiBears", "TeknatStyle", "Matrix"});
            randomEvent = new List<string>(new string[] { "starfield", "Nerdy", "Talespin", "Sailormoon", "GhostBusters", "Zelda", "Tardis", "F**k", "SilverFang", "MoraT" });
            //new stuff
             List<UtilXML.EventData> ed = UtilXML.Loadeffectdata();

            // TODO: Make a clean list with all events allowed to be used implement so that it is actaully usable instead of a switch at the bottom of this file.
            Dictionary<string, Effect> effects = new Dictionary<string, Effect>()
            {
                {"SuneAnimation", new Effect(sune, ed.Find(e => e.Name == "SuneAnimation"))},
                {"Dif",new Effect(dif, ed.Find(e => e.Name == "Dif"))},
                {"Fbk",new Effect(fbk, ed.Find(e => e.Name == "Fbk"))},
                {"TurboLogo",new Effect(tl, ed.Find(e => e.Name == "TurboLogo"))},
                {"Datasmurf", new Effect(smurf, ed.Find(e => e.Name == "Datasmurf"))},
                {"RMS",new Effect(richard, ed.Find(e => e.Name == "RMS"))},
                {"WinLinux",new Effect(wl, ed.Find(e => e.Name == "WinLinux"))},
                {"Scroller",new Effect(scroller, ed.Find(e => e.Name == "Scroller"))},
                {"Self",new Effect(creators, ed.Find(e => e.Name == "Self"))},
                {"BB",new Effect(bb, ed.Find(e => e.Name == "BB"))},
                {"GummiBears",new Effect(GM, ed.Find(e => e.Name == "GummiBears"))},
                {"Hajk",new Effect(hajk, ed.Find(e => e.Name == "Hajk"))},
                {"TeknatStyle",new Effect(ts, ed.Find(e => e.Name == "TeknatStyle"))},
                {"Matrix",new Effect(m, ed.Find(e => e.Name == "Matrix"))},
                {"Quiz",new Effect(q, ed.Find(e => e.Name == "Quiz"))},
                {"Talespin",new Effect(talepsin, ed.Find(e => e.Name == "Talespin"))},
                {"ChipDale",new Effect(cd, ed.Find(e => e.Name == "ChipDale"))},
                {"Nerdy",new Effect(nerd, ed.Find(e => e.Name == "Nerdy"))},
              /*  {"Trex",new Effect(trex, ed.Find(e => e.Name == "Trex"))},*/
                {"Sailormoon",new Effect(sailormoon, ed.Find(e => e.Name == "Sailormoon"))},
                {"GhostBusters",new Effect(gb, ed.Find(e => e.Name == "GhostBusters"))},
                {"Zelda",new Effect(zelda, ed.Find(e => e.Name == "Zelda"))},
                {"Tardis",new Effect(tardis, ed.Find(e => e.Name == "Tardis"))},
                {"F**k",new Effect(f**k, ed.Find(e => e.Name == "F**k"))},
                {"SilverFang",new Effect(silverFang, ed.Find(e => e.Name == "SilverFang"))},
                {"MoraT",new Effect(mt, ed.Find(e => e.Name == "MoraT"))},
                {"Ronja",new Effect(ronja, ed.Find(e => e.Name == "Ronja"))},
                {"Emil",new Effect(emil, ed.Find(e => e.Name == "Emil"))},
                {"Djungelboken",new Effect(djungelboken, ed.Find(e => e.Name == "Djungelboken"))},
                {"Fabbe",new Effect(fabbe, ed.Find(e => e.Name == "Fabbe"))},
                {"Drink",new Effect(drink, ed.Find(e => e.Name == "Drink"))},
                {"Frozen",new Effect(drink, ed.Find(e => e.Name == "Frozen"))}
            };

            runEffectInMonth = new Dictionary<string, List<objdata>>();

            string[] months = Util.monthlist();
            int counter;
            foreach (KeyValuePair<string, Effect> pair in effects)
            {
                counter = 0;
                foreach (bool b in pair.Value.RunAllowedlist)
                {
                    if (b == true)
                    {
                        if (!runEffectInMonth.ContainsKey(months[counter]))
                        {
                            runEffectInMonth.Add(months[counter], new List<objdata>());
                        }

                        runEffectInMonth[months[counter]].Add(new objdata(pair.Key, pair.Value.Vetolist[counter], pair.Value.Priolist[counter], pair.Value.Runslist[counter]));
                    }
                    counter++;
                }
            }

            clock.NewDate += clock_NewDate; // Event listener

            if (ch.CrashDialogResult == System.Windows.Forms.DialogResult.Yes)
            {
                clock.clock = ch.CrashClock;
            }

            string name, date, type;
            // Event dates setup
            foreach (var item in XMLEvents.Descendants("event"))
            {
                name = item.Element("name").Value;
                date = item.Element("date").Value;
                type = item.Element("type").Value.ToLower();
                EventItem ei = new EventItem(name, type, date);
                if (!events.ContainsKey(date))
                {
                    List<EventItem> list = new List<EventItem>(); // seems most bad in my eyes...
                    events.Add(date, list);
                }

                for (int i = 0; i < events[date].Count; i++)
                {
                    EventItem e = events[date][i];
                    if ("birthday".Equals(e.Type) && "birthday".Equals(ei.Type))
                    {
                        e.Name += "\n\n" + ei.Name;
                        events[date][i] = e;
                    }
                }
                events[date].Add(ei);
                name = date = type = string.Empty;
            }

            // this needs to be fixed nicer...
            if (events.ContainsKey(ClockEnd.ToShortDateString()))
            {
                events[ClockEnd.ToShortDateString()].Clear(); // force this to be top..
                events[ClockEnd.ToShortDateString()].Add( new EventItem("outro", "outro", ClockEnd.ToShortDateString()) );
            }
            else
            {
                events.Add(ClockEnd.ToShortDateString(), new List<EventItem>() { new EventItem("outro", "outro", ClockEnd.ToShortDateString()) });
            }

            // Random effects on dates with no effects and check against new list of allowed things for them...
            DateTime dt = ClockStart;
            bool star = (Util.Rnd.Next(0, 1000) < 500 ? true:false); // make this random at the start too?
            int num = 0;

            while (dt <= ClockEnd)
            {
                date = dt.ToShortDateString();
                if (!events.ContainsKey(date))
                {
                    EventItem ei;

                    if (num == 0 || num == 1)
                    {
                        ei = new EventItem("starfield", "random", date);
                    }
                    else
                    {
                        //ei = new EventItem(randomEvent[Util.Rnd.Next(1, randomEvent.Count)], "random", date);

                        string month = "";
                        if (dt != null)
                            month = dt.Month.ToString();

                        switch (month)
                        {
                            case "1": month = "jan"; break;
                            case "2": month = "feb"; break;
                            case "3": month = "mar"; break;
                            case "4": month = "apr"; break;
                            case "5": month = "maj"; break;
                            case "6": month = "jun"; break;
                            case "7": month = "jul"; break;
                            case "8": month = "aug"; break;
                            case "9": month = "sep"; break;
                            case "10": month = "okt"; break;
                            case "11": month = "nov"; break;
                            case "12": month = "dec"; break;
                        }//switch

                        if (runEffectInMonth.ContainsKey(month))
                        {
                            List<objdata> mobj = runEffectInMonth[month];

                            List<objdata> vetolist = new List<objdata>();
                            List<objdata> novetolist = new List<objdata>();

                            foreach (objdata n in mobj)
                            {

                                if ("Quiz".Equals(n.Name) && eventnum == 4)
                                {
                                    n.vetoAgain();
                                    eventnum = 0;
                                }

                                if (n.Veto == true)
                                {
                                    if (n.Runs > 0)
                                        vetolist.Add(n);
                                }
                                else
                                {
                                    if (n.Runs > 0)
                                        novetolist.Add(n);
                                }
                            }

                            vetolist.Sort();
                            novetolist.Sort();

                            if (vetolist.Count > 0)
                            {
                                ei = new EventItem(vetolist[0].Name, "random", date);
                                vetolist[0].noMoreVeto();
                            }
                            else if (novetolist.Count > 0)
                            {
                                ei = new EventItem(novetolist[0].Name, "random", date);
                                novetolist[0].decRuns();
                                if (eventnum < 4)
                                    eventnum++;
                            }
                            else
                            {
                                ei = new EventItem(randomEvent[Util.Rnd.Next(1, randomEvent.Count)], "random", date);
                            }
                        }
                        else
                        {
                            ei = new EventItem(randomEvent[Util.Rnd.Next(1, randomEvent.Count)], "random", date);
                        }
                    }

                    num++;
                    if (num == 3)
                    {
                        num = 0;
                    }
                    ei = new EventItem("Self", "random", date); // this is for debuging new events
                    events.Add(date, new List<EventItem>());
                    events[date].Add(ei);
                }

                dt = dt.AddDays(1);
                date = string.Empty;
            }
        }
Пример #36
0
 void Mjallo(BB bb)
 {
 }
Пример #37
0
 static void Main ()
 {
         BB b = new BB ();
         b.AnEvent += DoIt;
 }
Пример #38
0
        public static bool IsInstTest2()
        {
            object o = new BB();

            return (o is AA);
        }
Пример #39
0
        public static bool IsInstBBToIAA()
        {
            object o = new BB();

            return (o is IAA);
        }