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; } }
public void Init() { isInited = true; netSocket = NetFactory.NewSocket(); //netSocket.StatusListener(ReceiveNetStatus); //netSocket.SetMsgListenner(ReceiveNetMsg); }
//平台登录完成回调 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; }
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); }
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); }
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); }
} = 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}"); }
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; } } }