static void Main(string[] args)
        {
            var myFactory       = new MyFactory();
            var secretsProvider = myFactory.GenerateKeyProvider();

            cert = secretsProvider.GetKey("arg");
        }
        ////////////////

        public static void SendToServer(int beg_tile_x, int beg_tile_y, int end_tile_x, int end_tile_y)
        {
            var factory = new MyFactory(beg_tile_x, beg_tile_y, end_tile_x, end_tile_y);
            TunnelEntitySpawnProtocol protocol = factory.Create();

            protocol.SendToServer(false);
        }
Beispiel #3
0
        public void TestFullUI()
        {
            // Set User Input
            string[] lines =
            {
                "int",
                "System.Int32",
                "2",           "1",  //remove void
                "1",           "12",
                "",
                "1",           "42",
                "1",           "55",
                "4",
                "2",           "42",
                "System.Int32",
                "5",
                "",            "",   "", ""
            };
            StringReader input = new StringReader(String.Join(Environment.NewLine, lines));

            Console.SetIn(input);

            // Launch the menu
            var factory = new MyFactory();

            factory.MainMenu();
        }
        public void TestExcel()
        {
            //test exception
            var mLogExceptionHelper = MyFactory.GetExceptionLogHelper();

            mLogExceptionHelper.LogException(MethodBase.GetCurrentMethod(), new Exception("TEST...."), null);
            //test visitor
            var mLogVisitorHelper = MyFactory.GetLogVisitorHelper();
            var mVisitor          = new UserInfo();

            mVisitor.UserId   = "BBWANG";
            mVisitor.UserName = "******";
            mLogVisitorHelper.LogUser("Index", mVisitor);

            //test export
            var excelExportHelper = MyFactory.GetExportToExcelHelper();
            var tab = new DataTable();

            tab.Columns.Add(new DataColumn("A", typeof(string)));
            tab.Columns.Add(new DataColumn("B", typeof(string)));
            for (var i = 1; i <= 100; i++)
            {
                var row = tab.NewRow();
                row["A"] = string.Format("Row {0} Column{1}", i, 1);
                row["B"] = string.Format("Row {0} Column{1}", i, 2);
                tab.Rows.Add(row);
            }
            mCurrentController.ViewBag.DownloadLink = excelExportHelper.ExportToExcel("Test", "TEST-BEN", tab);
        }
        //
        // GET: /Test/

        public ActionResult Index()
        {
            //TestExcel();
            //TestAddData();
            //TestQueryData();

            var helper = new NHTestHelper(this);

            //helper.TestAdd();
            //helper.TestUpdate();
            //helper.TestQuery();
            //helper.TestPaged();
            //helper.TestSQL();
            for (var i = 0; i < 100000; i++)
            {
                helper.TestQueryAll();
            }
            //helper.TestProcedure();

            //var helper = new AdoNetHelper(this);
            //helper.TestQuery();
            //helper.TestProcedure();
            //var mZipHelper = new ZipHelper();
            //var mDesFolder = System.Web.HttpContext.Current.Server.MapPath("~/Log");
            //ViewBag.logsPath= MyFactory.GetExceptionLogHelper().PackLogs(mZipHelper, mDesFolder);
            MyFactory.GetExceptionLogHelper().LogException("", "", new Exception("TES--111T"), null);
            var user = new UserInfo();

            user.UserName = "******";
            MyFactory.GetLogVisitorHelper().LogUser("", user);
            return(View());
        }
Beispiel #6
0
        public void Serialize <T1, T2, T3, T4, T5>(MethodInfo info, BitStream stream, ref T1 arg1, ref T2 arg2, ref T3 arg3, ref T4 arg4, ref T5 arg5)
        {
            var s1 = MyFactory.GetSerializer <T1>();
            var s2 = MyFactory.GetSerializer <T2>();
            var s3 = MyFactory.GetSerializer <T3>();
            var s4 = MyFactory.GetSerializer <T4>();
            var s5 = MyFactory.GetSerializer <T5>();

            var args  = info.GetParameters();
            var info1 = MySerializeInfo.CreateForParameter(args, 0);
            var info2 = MySerializeInfo.CreateForParameter(args, 1);
            var info3 = MySerializeInfo.CreateForParameter(args, 2);
            var info4 = MySerializeInfo.CreateForParameter(args, 3);
            var info5 = MySerializeInfo.CreateForParameter(args, 4);

            if (stream.Reading)
            {
                MySerializationHelpers.CreateAndRead(stream, out arg1, s1, info1);
                MySerializationHelpers.CreateAndRead(stream, out arg2, s2, info2);
                MySerializationHelpers.CreateAndRead(stream, out arg3, s3, info3);
                MySerializationHelpers.CreateAndRead(stream, out arg4, s4, info4);
                MySerializationHelpers.CreateAndRead(stream, out arg5, s5, info5);
            }
            else
            {
                MySerializationHelpers.Write(stream, ref arg1, s1, info1);
                MySerializationHelpers.Write(stream, ref arg2, s2, info2);
                MySerializationHelpers.Write(stream, ref arg3, s3, info3);
                MySerializationHelpers.Write(stream, ref arg4, s4, info4);
                MySerializationHelpers.Write(stream, ref arg5, s5, info5);
            }
        }
 // this is the single method defined by the LoadEventListener interface
 public override void OnLoad(LoadEvent theEvent, LoadType loadType)
 {
   if(null == theEvent.InstanceToLoad) // Not null if user supplied object
   {
     theEvent.InstanceToLoad = MyFactory.Create(loadType); // Or whatever.
   }
 }
        private void BtnLoad_Click(object sender, RoutedEventArgs e)
        {
            //todo clear current
            var spanLoader = MyFactory.GetMySpanLoader();
            var myRecords  = spanLoader.GetMyRecords();

            var endPoint          = @"http://*****:*****@"=> report: {0} with trace-span: {1}-{2}", tempSpan.Span.OpName, tempSpan.Span.TraceId, tempSpan.Span.SpanId);
                    //report to collector
                    span.Finish(tempSpan.Span.StopTime);
                }
            }
        }
Beispiel #9
0
 private void Awake()
 {
     director = GameDirector.getInstance();
     director.currentSceneController = this;
     enemys    = new GameObject[enemyCount];
     gameOver  = false;
     myFactory = Singleton <MyFactory> .Instance;
 }
        public MainViewModel()
        {
            ImageHelper        = MyFactory.GetImageHelper();;
            Timer              = MyFactory.GetTimeHelper(Constants.TimeHelperType.STOPWATCH);
            Timer.TimeUpdated += UpdateDisplayTime;

            ImageClicked = new RelayCommand(f => { ImageClickedCommand(); }, f => true);
            TimerClicked = new RelayCommand(f => { TimerClickedCommand(); }, f => true);
        }
        public void CreateInstance_WhenValidClass_ThenInstanceIsCreated()
        {
            string binaryFile = "Modules.dll";
            string className  = "Modules.AlphabeticalLowerProducer";

            var ret = MyFactory.CreateInstance <IDataProducer>(binaryFile, className, null);

            Assert.IsNotNull(ret);
            Assert.AreEqual("a", ret.CurrentValue);
        }
    void Awake()  //一些初始的设置
    {
        GameDirector director = GameDirector.GetInstance();

        director.CurrentSceneController = this;
        mF     = Singleton <MyFactory> .Instance;
        player = mF.GetPlayer();
        Player.DestroyEvent += SetGameOver;        //如果玩家坦克被摧毁,则设置游戏结束
        scorer = Scorer.getInstance();
        Enemy.EnemyDestroyEvent += DestoryEnemy;
    }
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            //IForm main = new MainFormFactory();
            //Application.Run(main.createForm("DESKTOP-TPBIN8U", "StudentList", "", ""));

            MyFactory factory = new MyFactory();

            Application.Run(factory.ReturnForm(null, null, null, "login")); //factory method
        }
Beispiel #14
0
        static List <Item> CreateComposer(Type type)
        {
            List <Item> result = new List <Item>();

            foreach (var field in type.GetDataMembers(true, false, true, true, false, true, true, true).OfType <FieldInfo>())
            {
                if (typeof(SyncBase).IsAssignableFrom(field.FieldType))
                {
                    result.Add(new Item(CreateFieldComposer(field), MyFactory.CreateInfo(field)));
                }
            }
            return(result);
        }
Beispiel #15
0
        internal static void Main(string[] args)
        {
            var objectWithoutParameter = MyObject.GetFactory().Create();
            var objectWithParameter    = MyObject.GetFactory().Create("a simple parameter");

            var factory = new MyFactory("default parameter");
            var objectWithoutDefaultParameter = factory.Create();

            Console.WriteLine(objectWithoutParameter.ToString());
            Console.WriteLine(objectWithParameter.ToString());
            Console.WriteLine(objectWithoutDefaultParameter.ToString());
            Console.Read();
        }
Beispiel #16
0
        static void Main(string[] args)
        {
            ICountry brazil = new MyFactory().CreateObject(CountryEnum.BR);

            brazil.SayGoodMorning();

            ICountry france = new MyFactory().CreateObject(CountryEnum.FR);

            france.SayGoodMorning();

            ICountry usa = new MyFactory().CreateObject(CountryEnum.USA);

            usa.SayGoodMorning();
        }
Beispiel #17
0
 public static void Main()
 {
     IMyFactory <BaseType> factory;
     {
         factory = new MyFactory <BaseType>();
         var instance = factory.Resolve();
         Console.WriteLine(instance.GetType().FullName);
     }
     {
         factory = new MyFactory <DerivedType>() as IMyFactory <BaseType>;
         var instance = factory.Resolve();
         Console.WriteLine(instance.GetType().FullName);
     }
 }
Beispiel #18
0
    public object BindModel(ControllerContext controllerContext,
                            ModelBindingContext bindingContext)
    {
        HttpRequestBase request = controllerContext.HttpContext.Request;
        //use the request object to make a call to your factory for the
        //appropriate ActionMethod subtype you want to create, or however
        //else you see fit.
        var curActionMethod = MyFactory.Get(request.QueryString);
        var boundObj        = new MethodRequest()
        {
            Method = curActionMethod
        }

        return(boundObj);
    }
Beispiel #19
0
        /// <summary>
        /// Extracts method arguments from the bitstream or packs them back in, depending on stream read mode.
        /// </summary>
        /// <typeparam name="T1"></typeparam>
        /// <param name="info"></param>
        /// <param name="stream"></param>
        /// <param name="arg1"></param>
        public void Serialize <T1>(MethodInfo info, BitStream stream, ref T1 arg1)
        {
            var s1 = MyFactory.GetSerializer <T1>();

            var args  = info.GetParameters();
            var info1 = MySerializeInfo.CreateForParameter(args, 0);

            if (stream.Reading)
            {
                MySerializationHelpers.CreateAndRead(stream, out arg1, s1, info1);
            }
            else
            {
                MySerializationHelpers.Write(stream, ref arg1, s1, info1);
            }
        }
Beispiel #20
0
        public void LoadFromFile(string fileName, MyExpense myExpense)
        {
            var manager            = new Manager();
            var operationalManager = new OperationalManager();
            var CEO = new CEO();

            try
            {
                using (StreamReader reader = File.OpenText($"C:\\Users\\WORK\\Desktop\\MyFolder\\{fileName}"))
                {
                    string   myLine = Console.ReadLine();
                    string[] data   = myLine.Split(';');

                    myExpense.Data         = Convert.ToDateTime(data[0]);
                    myExpense.Categoria    = data[1];
                    myExpense.Descrizione  = data[2];
                    myExpense.ImportoSpesa = Convert.ToInt32(data[3]);
                    reader.Close();

                    manager.SetNextInLine(operationalManager).SetNextInLine(CEO);
                    string result = manager.Approve(myExpense.ImportoSpesa);
                    if (result.Equals("RESPINTA;-;-"))
                    {
                        string[] denial = result.Split(';');
                        myExpense.Approvazione    = denial[0];
                        myExpense.LvlApprovazione = denial[1];
                        myExpense.ImportoRimborso = denial[2];
                    }
                    else
                    {
                        string[] approved = result.Split(';');
                        myExpense.Approvazione    = approved[0];
                        myExpense.LvlApprovazione = approved[1];
                        myExpense.ImportoRimborso = Convert.ToString(MyFactory.ExpenseFactory(myExpense.Categoria, myExpense.ImportoSpesa));
                    }
                }
            }
            catch (IOException ex)
            {
                Console.WriteLine(ex.Message);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Beispiel #21
0
        static void Main(string[] args)
        {
            IMyFactory factory = new MyFactory();

            // Question1
            var ratio = factory.CreatePopulationService().RatioPerformanceCheck(1000, 50);

            Console.WriteLine($"*******************************");

            Console.WriteLine($"QUESTION 1 (Population):  ");
            Console.WriteLine($"Ratio of 2s to 1s for 1000 collection with index of 50 ");
            Console.WriteLine($"Ratio is : {ratio}");
            Console.WriteLine($"");
            Console.WriteLine($"*******************************");
            Console.WriteLine($"");


            // Question2

            var diceGame = factory.CreateDiceGameService();

            Console.WriteLine($"QUESTION 2 (Dice Game):");
            Console.WriteLine($"When I calculate the average payout per each TRY of games, I assumed that customer has to pay each time that roll te dice.");
            Console.WriteLine($"Average payout has calculated in 2 different ways.");
            Console.WriteLine($"");

            Console.WriteLine($"GetCalculatedAveragePayoutMathematically: this method is using the laws of 'Probability and Statistics for Computer Scientists' which I studied in university in late 90's .");
            Console.WriteLine($"I strongly RECOMMENDED this method because it doesn't rely on chance and can't be corrupted by bad data.");
            var averagePayout1 = diceGame.GetCalculatedAveragePayoutMathematically(6, new List <int>()
            {
                1, 2, 3, 4, 5, 6
            });

            Console.WriteLine($"Average Payout (Mathematically) is : {averagePayout1}");
            Console.WriteLine($"");

            Console.WriteLine($"*******************************");

            Console.WriteLine($"");
            Console.WriteLine($"GetAveragePayoutStatistically: this method is using an internal engine to generate some random statiscal data then based on that will calculates the average payout.");
            Console.WriteLine($"The main advantage of this method is that if the game is FIXED and you have real data , still you can find the relatively close answer");
            var averagePayout2 = diceGame.GetAveragePayoutStatistically(players: 1000, minGames: 1, maxGames: 6);

            Console.WriteLine($"Average Payout (Statistically) is : {averagePayout2:0.000}");
            Console.WriteLine($"*******************************");
        }
Beispiel #22
0
 IEnumerator Shoot()      //协程实现npc坦克每隔1s进行射击
 {
     while (!gameover)
     {
         for (float i = 1; i > 0; i -= Time.deltaTime)
         {
             yield return(0);
         }
         if (Vector3.Distance(transform.position, target) < 20)              //和玩家坦克距离小于20,则射击
         {
             MyFactory  mF     = Singleton <MyFactory> .Instance;
             GameObject bullet = mF.GetBullet(tankType.Enemy);              //获取子弹,传入的参数表示发射子弹的坦克类型
             bullet.transform.position = new Vector3(transform.position.x, 1.5f, transform.position.z) +
                                         transform.forward * 1.5f;          //设置子弹
             bullet.transform.forward = transform.forward;                  //设置子弹方向
             Rigidbody rb = bullet.GetComponent <Rigidbody>();
             rb.AddForce(bullet.transform.forward * 20, ForceMode.Impulse); //发射子弹
         }
     }
 }
Beispiel #23
0
        static void Main(string[] args)
        {
            {
                Assembly a1 = typeof(Example).Assembly;
                Console.WriteLine("Assembly Full Name:");
                Console.WriteLine(a1.FullName);
                AssemblyName assemName = a1.GetName();
                Console.WriteLine("\nName: {0}", assemName.Name);
                Console.WriteLine("Version: {0}.{1}", assemName.Version.Major, assemName.Version.Minor);

                Console.WriteLine("\nAssembly CodeBase:");
                Console.WriteLine(a1.CodeBase);
            }
            Console.WriteLine("======================");
            {
                string assemblyName = Assembly.GetExecutingAssembly().GetName().Name;
                Console.WriteLine(assemblyName);
            }
            {
                Assembly assembly = Assembly.Load("a.b.f");//dll名称   当前目录加载
                //Assembly assembly1 = Assembly.LoadFile("C:\\Users\\j\\source\\repos\\基础练习\\07反射\\bin\\Debug\\netcoreapp2.1\\07反射.dll");//文件完整路劲的加载
                // Assembly assembly2 = Assembly.LoadFrom("07反射.dll");//带后缀或者完整路劲
                //获取类型信息
                Type type = assembly.GetType("a.b.f.HelperAttribute");
                //Type type1 = assembly.GetType("a.b.f.HelperAttribute");
                //创建对象
                object obj = Activator.CreateInstance(type);
                //类型转换
                HelperAttribute helperAttribute = (HelperAttribute)obj;
                //调用方法
                helperAttribute.show();

                HelperAttribute helperAttribute2 = new HelperAttribute();
                helperAttribute2.show();

                HelperAttribute helperAttribute3 = MyFactory.CreateHelper();
            }
            Console.WriteLine("======================");

            Console.ReadKey();
        }
Beispiel #24
0
        SerializeDelegate <T1, T2, T3, T4, T5, T6, T7> CreateSerializer <T1, T2, T3, T4, T5, T6, T7>(MethodInfo info)
        {
            // TODO: Use method info to get parameter attributes and create MySerializeInfo from them

            var s2 = MyFactory.GetSerializer <T2>();
            var s3 = MyFactory.GetSerializer <T3>();
            var s4 = MyFactory.GetSerializer <T4>();
            var s5 = MyFactory.GetSerializer <T5>();
            var s6 = MyFactory.GetSerializer <T6>();
            var s7 = MyFactory.GetSerializer <T7>();

            var args  = info.GetParameters();
            var info2 = MySerializeInfo.CreateForParameter(args, 0);
            var info3 = MySerializeInfo.CreateForParameter(args, 1);
            var info4 = MySerializeInfo.CreateForParameter(args, 2);
            var info5 = MySerializeInfo.CreateForParameter(args, 3);
            var info6 = MySerializeInfo.CreateForParameter(args, 4);
            var info7 = MySerializeInfo.CreateForParameter(args, 5);

            return(delegate(T1 inst, BitStream stream, ref T2 arg2, ref T3 arg3, ref T4 arg4, ref T5 arg5, ref T6 arg6, ref T7 arg7)
            {
                if (stream.Reading)
                {
                    MySerializationHelpers.CreateAndRead(stream, out arg2, s2, info2);
                    MySerializationHelpers.CreateAndRead(stream, out arg3, s3, info3);
                    MySerializationHelpers.CreateAndRead(stream, out arg4, s4, info4);
                    MySerializationHelpers.CreateAndRead(stream, out arg5, s5, info5);
                    MySerializationHelpers.CreateAndRead(stream, out arg6, s6, info6);
                    MySerializationHelpers.CreateAndRead(stream, out arg7, s7, info7);
                }
                else
                {
                    MySerializationHelpers.Write(stream, ref arg2, s2, info2);
                    MySerializationHelpers.Write(stream, ref arg3, s3, info3);
                    MySerializationHelpers.Write(stream, ref arg4, s4, info4);
                    MySerializationHelpers.Write(stream, ref arg5, s5, info5);
                    MySerializationHelpers.Write(stream, ref arg6, s6, info6);
                    MySerializationHelpers.Write(stream, ref arg7, s7, info7);
                }
            });
        }
Beispiel #25
0
    private void OnCollisionEnter(Collision collision)
    {
        Debug.Log("CollisionEnder");
        if (collision.transform.gameObject.tag == "tankEnemy" && this.tankType == TankType.ENEMY ||
            collision.transform.gameObject.tag == "tankPlayer" && this.tankType == TankType.PLAYER)
        {
            return;
        }
        MyFactory      factory   = Singleton <MyFactory> .Instance;
        ParticleSystem explosion = factory.getParticleSystem();

        explosion.transform.position = gameObject.transform.position;
        //获取爆炸范围内的所有碰撞体
        Collider[] colliders = Physics.OverlapSphere(gameObject.transform.position, explosionRadius);

        foreach (var collider in colliders)
        {
            float hurt;
            // 如果是玩家发出的子弹伤害高一点
            if (collider.tag == "tankEnemy" && this.tankType == TankType.PLAYER)
            {
                hurt = 300.0F;
                collider.GetComponent <Tank>().setHP(collider.GetComponent <Tank>().getHP() - hurt);
                Debug.Log("Enemy Hp: ");
            }
            else if (collider.tag == "tankPlayer" && this.tankType == TankType.ENEMY)
            {
                hurt = 100.0F;
                collider.GetComponent <Tank>().setHP(collider.GetComponent <Tank>().getHP() - hurt);
                Debug.Log("Player Hp: ");
            }
            explosion.Play();
        }

        if (gameObject.activeSelf)
        {
            factory.recycleBullet(gameObject);
        }
    }
Beispiel #26
0
    private void OnCollisionEnter(Collision collision)
    {
        /*if(collision.transform.gameObject.tag == "tankEnemy" && this.tankType == TankType.ENEMY ||
         *  collision.transform.gameObject.tag == "tankPlayer" && this.tankType == TankType.PLAYER)
         * {
         *  Debug.Log("in");
         *  return;
         * }
         * MyFactory factory = Singleton<MyFactory>.Instance;
         * ParticleSystem explosion = factory.getParticleSystem();
         * explosion.transform.position = gameObject.transform.position;
         * //获取爆炸范围内的所有碰撞体
         * Collider[] colliders = Physics.OverlapSphere(gameObject.transform.position, explosionRadius);
         *
         * foreach(var collider in colliders)
         * {
         *  //被击中坦克与爆炸中心的距离
         *  float distance = Vector3.Distance(collider.transform.position, gameObject.transform.position);
         *  float hurt;
         *
         *   if(collider.tag == "tankPlayer")
         *  {
         *      Debug.Log("out");
         *      hurt = 100.0f / distance;
         *      collider.GetComponent<Tank>().setHP(collider.GetComponent<Tank>().getHP() - hurt);
         *  }
         *  explosion.Play();
         * }
         *
         * if (gameObject.activeSelf)
         * {
         *  factory.recycleBullet(gameObject);
         * }*/
        MyFactory      factory   = Singleton <MyFactory> .Instance;
        ParticleSystem explosion = factory.getParticleSystem();

        explosion.transform.position = gameObject.transform.position;
        explosion.Play();
    }
Beispiel #27
0
    private tankType type;             //发射子弹的坦克类型
    void OnCollisionEnter(Collision other)
    {
        MyFactory      mF        = Singleton <MyFactory> .Instance;
        ParticleSystem explosion = mF.GetPs();                                             //获取爆炸的粒子系统

        explosion.transform.position = transform.position;                                 //设置粒子系统位置
        Collider[] colliders = Physics.OverlapSphere(transform.position, explosionRadius); //获取爆炸范围内的所有碰撞体
        for (int i = 0; i < colliders.Length; i++)
        {
            if (colliders[i].tag == "tankPlayer" && this.type == tankType.Enemy ||
                colliders[i].tag == "tankEnemy" && this.type == tankType.Player)                        //发射子弹的坦克类型和被击中的坦克类型不同,才造成伤害
            {
                float distance = Vector3.Distance(colliders[i].transform.position, transform.position); //被击中坦克与爆炸中心的距离
                float hurt     = 100f / distance;                                                       //受到的伤害
                float current  = colliders[i].GetComponent <Tank>().GetHp();                            //当前的生命值
                colliders[i].GetComponent <Tank>().SetHp(current - hurt);                               //设置受伤后生命值
            }
        }
        explosion.Play();        //播放爆炸的粒子系统
        if (this.gameObject.activeSelf)
        {
            mF.RecycleBullet(this.gameObject);            //回收子弹
        }
    }
Beispiel #28
0
 static MyFactory()
 {
     _factory = new MyFactory();
 }
Beispiel #29
0
 public void Test()
 {
     ChildClass bs = MyFactory.Create <ChildClass>(10);
 }
Beispiel #30
0
 public MyObject(string anAttribute)
 {
     _factory          = new MyFactory();
     this._anAttribute = anAttribute;
 }