Example #1
0
        public TingRunner(RelayTwo pRelay, RoomRunner pRoomRunner)
        {
            D.isNull(pRelay);
            D.isNull(pRoomRunner);

            _roomRunner = pRoomRunner;
            _relay      = pRelay;

            Type[]      classes    = InstantiatorTwo.GetSubclasses(typeof(Ting));
            List <Ting> tingsToAdd = new List <Ting>();

            foreach (Type t in classes)
            {
                TableTwo table = AssertTable(t, pRelay);

                if (!_loadedTingTables.ContainsKey(table.name))
                {
                    //Console.WriteLine("Adding table " + table.name + " for type " + t.Name);
                    tingsToAdd.AddRange(InstantiatorTwo.Process <Ting>(table));
                    _loadedTingTables.Add(table.name, table);
                }
            }

            foreach (Ting t in tingsToAdd)
            {
                AddTing(t);
                t.SetupBaseRunners(this, _roomRunner);
            }

            actionTime = 0;
        }
 public void NonExistingFieldTest()
 {
     RelayLib.RelayTwo r2 = new RelayLib.RelayTwo();
     r2.CreateTable(TingTing.Ting.TABLE_NAME);
     r2.CreateTable(TingTing.Room.TABLE_NAME);
     RoomRunner rr =  new TingTing.RoomRunner(r2);
     rr.CreateRoom<Room>(WorldCoordinate.UNDEFINED_ROOM);
     TingTing.TingRunner tr = new TingTing.TingRunner(r2,rr);
     tr.CreateTing<SomeLesserTing>("TingA", TingTing.WorldCoordinate.NONE);
     r2.GetTable(TingTing.Ting.TABLE_NAME)[0].Set<string>(TingTing.Ting.CSHARP_CLASS_FIELD_NAME, "TerreTingThongDong");
     List<TingTing.Ting> list = InstantiatorTwo.Process<TingTing.Ting>(r2.GetTable(TingTing.Ting.TABLE_NAME));
     Console.WriteLine("list length" + list.Count);
     Assert.NotNull((list[0] as TerreTingThongDong));
     Assert.AreSame("Something", (list[0] as TerreTingThongDong).funk);
 }
        public void NonExistingFieldTest()
        {
            RelayLib.RelayTwo r2 = new RelayLib.RelayTwo();
            r2.CreateTable(TingTing.Ting.TABLE_NAME);
            r2.CreateTable(TingTing.Room.TABLE_NAME);
            RoomRunner rr = new TingTing.RoomRunner(r2);

            rr.CreateRoom <Room>(WorldCoordinate.UNDEFINED_ROOM);
            TingTing.TingRunner tr = new TingTing.TingRunner(r2, rr);
            tr.CreateTing <SomeLesserTing>("TingA", TingTing.WorldCoordinate.NONE);
            r2.GetTable(TingTing.Ting.TABLE_NAME)[0].Set <string>(TingTing.Ting.CSHARP_CLASS_FIELD_NAME, "TerreTingThongDong");
            List <TingTing.Ting> list = InstantiatorTwo.Process <TingTing.Ting>(r2.GetTable(TingTing.Ting.TABLE_NAME));

            Console.WriteLine("list length" + list.Count);
            Assert.NotNull((list[0] as TerreTingThongDong));
            Assert.AreSame("Something", (list[0] as TerreTingThongDong).funk);
        }
Example #4
0
 public SimpleRoomBuilder(RoomRunner pRoomRunner)
 {
     _roomRunner = pRoomRunner;
 }
Example #5
0
 internal void SetupBaseRunners(TingRunner pTingRunner, RoomRunner pRoomRunner)
 {
     _roomRunner = pRoomRunner;
     _tingRunner = pTingRunner;
 }