Ejemplo n.º 1
0
    void Start()
    {
        NetFactory netFactory;

        switch (SceneData.Type)
        {
        case SceneData.GameType.Host:
            netFactory = new NetFactory();
            netFactory.Initialize(true, SceneData.PlayerColor);
            break;

        case SceneData.GameType.Client:
            GameObject.Find("ChessNetworkManager").GetComponent <NetworkManager>().networkAddress = SceneData.Host;
            netFactory = new NetFactory();
            netFactory.Initialize(false, PlayerColor.None);
            break;

        case SceneData.GameType.HotSeat:
            HotSeatFactory hotSeatFactory = new HotSeatFactory();
            break;

        case SceneData.GameType.Ai:
            AIFabric aIFabric = new AIFabric();
            break;
        }
    }
Ejemplo n.º 2
0
 public void Init()
 {
     isInited  = true;
     netSocket = NetFactory.NewSocket();
     //netSocket.StatusListener(ReceiveNetStatus);
     //netSocket.SetMsgListenner(ReceiveNetMsg);
 }
Ejemplo n.º 3
0
        //平台登录完成回调
        private void PlatformLoginFinish()
        {
            //Security.PrefetchSocketPolicy(AppNet.ip, AppNet.port);
            AppNet.gameNet = NetFactory.newSocket();
            AppNet.gameNet.msgListenner(receiveNetMsg);
            AppNet.gameNet.statusListener(receiveNetStatus);

            OpenLoginView();

            //初始化加载工作
            HudView.Instance.StartLoadAsset();
//            MessageManager.Init();
//            ConfirmMgr.Instance.Init();
            //初始化特效相机
            Singleton <EffectCameraMgr> .Instance.Init();

            //剧情数据初始化
            Singleton <StoryMode> .Instance.Init();

            //绑定脚底灰尘特效
            EffectMgr.Instance.PreloadMainEffect(EffectId.Main_FootSmoke);
            EffectMgr.Instance.PreloadMainEffect(EffectId.Main_AutoSerachRoad);
            EffectMgr.Instance.PreloadMainEffect(EffectId.Main_BossFootBuff); //怪物脚底的特效
            EffectMgr.Instance.PreloadMainEffect(EffectId.Main_BossScene);    //怪物脚底的特效

            PreloadStartMovieResource();

            assetInit = true;
        }
Ejemplo n.º 4
0
        public static IP8583Msg tel()
        {
            IP8583Msg p8583Msg = NetFactory.newP8583Msg();

            // p8583Msg.setField(1, CMD.CMD_400000);
            p8583Msg.setField(10, "8");
            p8583Msg.setField(60, "哈哈,模拟注册!");
            return(p8583Msg);
        }
        public NeuralNetAiGamePlayer SpawnNewNeuralNetAiGamePlayer(NeuralNetAiGamePlayer player)
        {
            NetFactory netFactory = new NetFactory();
            Net        net        = netFactory.CreateMutatedNet(player.Net, _random, mutationFactor);

            var newPlayer = new NeuralNetAiGamePlayer(
                net,
                player.Generation + 1);

            return(newPlayer);
        }
Ejemplo n.º 6
0
        public void Start()
        {
            TransferConfig.TransferDLLDir = SrvConfig.NetDir;
            ISocketServer <object> server = NetFactory.CreateSocketServer <object>(SrvConfig.NetComponent);

            if (server.StartRun(SrvConfig.SrvHost, SrvConfig.SrvPort))
            {
                //网络启动成功,这里注册委托,不采用获取模式
                //由于我的实现,如果是另外一种方式,会阻塞等待,而且是一个线程
                server.CallData(RecviceNet);
            }
        }
        public NeuralNetAiGamePlayer SpawnNewNeuralNetAiGamePlayer()
        {
            NetFactory netFactory = new NetFactory();
            Net        net        = netFactory.GenerateRandomNet(NeuralNetAiGamePlayer.NetInputs, 1, 8, _random);
            var        generation = 0;

            var newPlayer = new NeuralNetAiGamePlayer(
                net,
                generation);

            return(newPlayer);
        }
Ejemplo n.º 8
0
        public override BaseBuffer <ISocketClient <T> > Create()
        {
            SocketBuffer <T>  buffer = new SocketBuffer <T>();
            ISocketClient <T> client = NetFactory.CreateSocketClient <T>(this.NetName);

            if (lstSrv != null)
            {
                string   srv      = hashSrv.GetCurrent();
                string[] srvAddrs = srv.Split(':');
                if (srvAddrs.Length == 2)
                {
                    client.Connect(srvAddrs[0], int.Parse(srvAddrs[1]));
                }
            }
            buffer.Data = client;
            return(buffer);
        }
Ejemplo n.º 9
0
        } = new string[5];                                         // X,Y,AreaSideLength,TDBPath,DEMPath

        // as base game doesn't contain a full System.XML.LINQ namespace and the .NET 4.8 is easier to work with,
        // other external process was created for TDB parsing
        internal void ProcessTDBExternally()
        {
            UnityEngine.Debug.Log(modDirectory);
            var psi = new ProcessStartInfo();

            psi.FileName               = $"{modDirectory}GMLParserPL.exe";
            psi.CreateNoWindow         = true;
            psi.RedirectStandardOutput = true;
            psi.RedirectStandardInput  = true;
            psi.RedirectStandardError  = true;
            psi.UseShellExecute        = false;

            psi.Arguments = "\"" + Arguments[0] + "\"" + " " + "\"" + Arguments[1] + "\"" + " " + "\"" + Arguments[2] + "\""
                            + " " + "\"" + Arguments[3] + "\"";
            var p = new Process();

            p.StartInfo = psi;
            p.Start();

            NetFactory      netFactory      = new NetFactory();
            BuildingFactory buildingFactory = new BuildingFactory();
            PropFactory     propFactory     = new PropFactory();
            ResourceFactory resourceFactory = new ResourceFactory();
            TreeFactory     treeFactory     = new TreeFactory();
            WaterFactory    waterFactory    = new WaterFactory();

            waterFactory.SetSeaLevelTo0();

            while (!p.StandardOutput.EndOfStream)
            {
                string line = p.StandardOutput.ReadLine();
                SelectFactory(line, netFactory, buildingFactory, propFactory, resourceFactory, treeFactory, waterFactory);
            }
            netFactory.UpdateSegments();

            UnityEngine.Debug.Log("TDB loaded");
            UnityEngine.Debug.Log($"Buildings loaded/called/max: {buildingFactory.Temp}/{timesBuildingUsed}/{BuildingManager.MAX_BUILDING_COUNT}");
            UnityEngine.Debug.Log($"Segments loaded/called/max: {netFactory.TempS}/{timesNetUsed}/{NetManager.MAX_SEGMENT_COUNT}");
            UnityEngine.Debug.Log($"Net nodes loaded/max: {netFactory.TempN}/{NetManager.MAX_NODE_COUNT}");
            UnityEngine.Debug.Log($"Props loaded/called/max: {propFactory.Temp}/{timesPropUsed}/{PropManager.MAX_PROP_COUNT}");
            UnityEngine.Debug.Log($"Trees loaded/called/max: {treeFactory.Temp}/{timesTreeUsed}/{TreeManager.MAX_TREE_COUNT}");
            UnityEngine.Debug.Log($"Resources loaded/called: {resourceFactory.Temp}/{timesResourceUsed}");
            UnityEngine.Debug.Log($"Resources loaded/called: {waterFactory.Temp}/{timesWaterUsed}");
        }
Ejemplo n.º 10
0
        private void SelectFactory(string line, NetFactory netFactory, BuildingFactory buildingFactory, PropFactory propFactory,
                                   ResourceFactory resourceFactory, TreeFactory treeFactory, WaterFactory waterFactory)
        {
            if (!line.IsNullOrWhiteSpace())
            {
                List <string> arguments = line.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries).ToList();
                float[]       points;
                float         angle;
                switch (arguments[0])
                {
                case "Resource":
                    points = ReturnFloatsFromArg(arguments);
                    NaturalResourceManager.Resource resource = (NaturalResourceManager.Resource)Enum
                                                               .Parse(typeof(NaturalResourceManager.Resource), arguments[1], true);
                    resourceFactory.CreateResource(new Vector2(points[0], points[1]), resource);
                    timesResourceUsed++;
                    break;

                case "Water":
                    points = ReturnFloatsFromArg(arguments);
                    var flowInOut = arguments[3].Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
                                    .Select(x => uint.Parse(x, CultureInfo.InvariantCulture))
                                    .ToArray();
                    waterFactory.NewWaterSource(new Vector2(points[0], points[1]), flowInOut[0], flowInOut[1], flowInOut[2]);
                    timesWaterUsed++;
                    break;

                case "Net":
                    points = ReturnFloatsFromArg(arguments);
                    netFactory.Create(new Vector2(points[0], points[1]), new Vector2(points[2], points[3]), arguments[1]);
                    timesNetUsed++;
                    break;

                case "Building":
                    points = ReturnFloatsFromArg(arguments);
                    angle  = float.Parse(arguments[3], CultureInfo.InvariantCulture);
                    buildingFactory.Create(new Vector2(points[0], points[1]), angle, arguments[1]);
                    timesBuildingUsed++;
                    break;

                case "Tree":
                    points = ReturnFloatsFromArg(arguments);
                    treeFactory.Create(new Vector2(points[0], points[1]), arguments[1]);
                    timesTreeUsed++;
                    break;

                case "Prop":
                    points = ReturnFloatsFromArg(arguments);
                    angle  = float.Parse(arguments[3], CultureInfo.InvariantCulture);
                    propFactory.Create(new Vector2(points[0], points[1]), angle, arguments[1]);
                    timesPropUsed++;
                    break;

                case "Error":
                    UnityEngine.Debug.Log(arguments[1]);
                    break;

                default:
                    UnityEngine.Debug.Log(arguments[0]);
                    break;
                }
            }
        }