Ejemplo n.º 1
0
        public static void WriteCommandInfo(this string combotype, string text)
        {
            var           names = Enum.GetNames(typeof(Command)).ToList();
            var           vals  = text.Split(',');
            List <string> Lines = new List <string>();

            Lines.Add("Datatype Command");
            Lines.Add(DateTime.Now.ToString("yyyyMMddhhmmss"));
            Lines.Add(vals[0]);

            var val = int.TryParse(vals[1], out int x) ? vals[1] :
                      Enum.GetNames(typeof(Command)).Contains(vals[1]) ?
                      Enum.GetNames(typeof(Command)).ToList().IndexOf(vals[1]).ToString() : "0";

            if (val != null)
            {
                Lines.Add(val);
                var ID = Guid.NewGuid().ToString();
                if (!Directory.Exists(folder))
                {
                    Directory.CreateDirectory(folder);
                }
                string subfolder = folder + "\\Command";
                if (!Directory.Exists(subfolder))
                {
                    Directory.CreateDirectory(subfolder);
                }
                string fn = subfolder + "\\" + ID + ".txt";
                File.WriteAllLines(fn, Lines);
                CmdNetwork.Propogate(CMDLibrary.WriteNull);
            }
        }
Ejemplo n.º 2
0
        public static void ReadCommandInfo(this string combotyp, string text)
        {
            var output = CmdNetwork.Predict(text, CMDLibrary.WriteNull);
            var numb   = output.ToList().IndexOf(output.Max());
            var result = Enum.GetNames(typeof(Command)).ToList()[numb];

            TaskDialog.Show("Result", result);
        }
Ejemplo n.º 3
0
        private void ControlCarCall(CmdNetwork Cmmd, int IdPlayer, Vector3 DirCar, bool[] Buttons)
        {
            //Control del carro
            switch(Cmmd)
            {
                case CmdNetwork.ADD_PLY:
                    if(GameLogic.CurrentGameState != Game_Logic.Game_States.PLAY)
                        GameLogic.AddPlayer("Player" + IdPlayer.ToString(), IdPlayer);
                    break;
                case CmdNetwork.RM_PLY:
                    GameLogic.RmPlayer(IdPlayer);
                    break;
                case CmdNetwork.DATA_ACEL:

                    if (GameLogic.StateScreen == Game_Logic.Game_SCR.RUNNING)
                    {
                        switch (GameLogic.CurrentGameState)
                        {
                            case Game_Logic.Game_States.PLAY:
                                // Control the car steering with right and left arrow keys
                                if ((DirCar.Y > 20) && (DirCar.Y < 35))
                                    CarObjPhy[IdPlayer].SetSteering(-0.2f);
                                if ((DirCar.Y > 35) && (DirCar.Y < 55))
                                    CarObjPhy[IdPlayer].SetSteering(-0.3f);
                                if (DirCar.Y > 55)
                                    CarObjPhy[IdPlayer].SetSteering(-0.4f);
                                if ((DirCar.Y < -20) && (DirCar.Y > -35))
                                    CarObjPhy[IdPlayer].SetSteering(0.2f);
                                if ((DirCar.Y < -35) && (DirCar.Y > -55))
                                    CarObjPhy[IdPlayer].SetSteering(0.3f);
                                if (DirCar.Y < -55)
                                    CarObjPhy[IdPlayer].SetSteering(0.4f);
                                if ((DirCar.Y < 20) && (DirCar.Y > -20))
                                    CarObjPhy[IdPlayer].SetSteering(0);

                                // Control the car's forward torque with up and down arrow keys
                                //if (DirCar.X < -15)
                                //    CarObjPhy[IdPlayer].SetTireTorque(1);
                                //else if (DirCar.X > 15)
                                //    CarObjPhy[IdPlayer].SetTireTorque(-5);
                                //else
                                //    CarObjPhy[IdPlayer].SetTireTorque(0);
                                
                                CarObjPhy[IdPlayer].SetTireTorque(0);
                                CarObjPhy[IdPlayer].ApplyHandBrakes(0);
                                if (Buttons[0])//Disparo
                                {
                                    Vector3 PosCar, PosBall;
                                    PosCar = CarObjPhy[IdPlayer].PhysicsWorldTransform.Translation;
                                    PosBall = new Vector3(PosCar.X, PosCar.Y, PosCar.Z + 4);
                                    //Call Function for Bullets
                                    GameLogic.SoundGame.Laser1.Play();
                                    GameLogic.SoundGame.Laser1.Volume = 0.5f;
                                    //Manager3D.CreateShootBullet(PosBall, CarObjPhy[0].PhysicsWorldTransform.Left, Color.Blue);

                                    if (GameLogic.Players[IdPlayer].PlayerBullets.Count < GameLogic.MAX_NUM_BULLET)
                                    {
                                        Bullet Bala = new Bullet(PosBall, Manager3D.BulletModel, Manager3D.BulletrMat, CarObjPhy[IdPlayer].PhysicsWorldTransform.Left, groundMarkerNode);
                                        GameLogic.Players[IdPlayer].PlayerBullets.Add(Bala);
                                    }
                                    else
                                    {
                                        int Index = Bullet.SearchBall(GameLogic.Players[IdPlayer].PlayerBullets);
                                        if (Index > -1)
                                        {
                                            //Adicciono Bala
                                            GameLogic.Players[IdPlayer].PlayerBullets[Index].ReAddBullet(PosBall, CarObjPhy[IdPlayer].PhysicsWorldTransform.Left);
                                        }
                                    }
                                }
                                
                                if (Buttons[1])//Gas
                                    CarObjPhy[IdPlayer].SetTireTorque(1);
                                if(Buttons[2])//Freno
                                {
                                    if(DirCar.X < -15)
                                        CarObjPhy[IdPlayer].SetTireTorque(-5); //Reversa
                                    else
                                        CarObjPhy[IdPlayer].ApplyHandBrakes(25);
                                }
                                
                                break;
                            case Game_Logic.Game_States.SEL_PLY:
                                ValidatemenuAcel(DirCar, IdPlayer, Buttons);
                                break;
                        }
                    }
                    break;
            }
        }