public void OnLocation(int id) { if (GameShop.IS.LocPrize [id] <= GameShop.IS.mTotalCash) { GameShop.IS.mTotalCash -= GameShop.IS.LocPrize [id]; GameShop.IS.LocPrize [id] = 0; GameShop.IS.mGameLoc = id; GameShop.IS.Save(); //SceneManager.LoadScene (1); asysc = SceneManager.LoadSceneAsync(1); asysc.allowSceneActivation = false; StartCoroutine(ShowLoadScreen()); //setScreen(Scr.GameLoading); GameScr = Scr.GameLoading; mGameLoading.SetActive(GameScr == Scr.GameLoading); if (GameShop.IS.isSound) { MusicScene.Play(); } } else { isNotEnough = true; mGameNotEnough.GetComponent <Animator>().SetBool("isOpen", isNotEnough); if (GameShop.IS.isSound) { MusicClick.Play(); } } }
public void Dispose(bool DestroyChildren = false) { if (DestroyChildren == false) { // Re-binds the children to the "Being destroyed" object's parent foreach (Object2D Child in Children) { Child.DestroyedParentPos = Pos; Child.DestroyedParentRot = Rot; Child.DestroyedParentSz = Sz; Child.Parent = Parent; } } else { // Destroys the children foreach (Object2D Child in Children) { Child.Dispose(); } } // Runs OnDispose on all scripts foreach (Component2D Scr in Components) { Scr.OnDispose(); } // Completely un-links the object Level.Objects2D.Remove(ObjectName); }
private void MoveLeft(object sender, RoutedEventArgs e) { if (Grid.Margin.Left > 0) { Grid.Margin = new Thickness(Grid.Margin.Left - 100, 0, 0, 0); } else { Grid.Margin = new Thickness(0, 0, Grid.Margin.Right + 100, 0); Scr.ScrollToHorizontalOffset(Scr.HorizontalOffset + 100); } }
void setScreen(Scr gameScr) { GameScr = gameScr; if (_Animator) { _Animator.SetBool("isOpen", false); } switch (GameScr) { case Scr.MenuScr: _Animator = mGameMenu.GetComponent <Animator>(); break; case Scr.SettingScr: _Animator = mGameSetting.GetComponent <Animator>(); break; case Scr.ShopScr: _Animator = mGameShop.GetComponent <Animator>(); break; case Scr.GameInAppScr: _Animator = mGameInApp.GetComponent <Animator>(); break; case Scr.GameFreeCashScr: _Animator = mGameFreeCash.GetComponent <Animator>(); break; case Scr.GameModeScr: _Animator = mGameMode.GetComponent <Animator>(); break; case Scr.GameLocScr: _Animator = mGameLoc.GetComponent <Animator>(); break; case Scr.GameLoading: _Animator = mGameLoading.GetComponent <Animator>(); break; case Scr.GameBitCoin: _Animator = mGameBitCoin.GetComponent <Animator>(); break; } _Animator.SetBool("isOpen", true); }
private async Task <string> SendImage() { var options = new ChannelOptions { Logger = NullLogger.Instance, ReadAsDemand = true }; Microsoft.Win32.OpenFileDialog openFileDialog = new Microsoft.Win32.OpenFileDialog(); openFileDialog.Title = "选择文件"; openFileDialog.Filter = "jpg|*.jpg|jpeg|*.jpeg"; openFileDialog.FileName = string.Empty; openFileDialog.FilterIndex = 1; openFileDialog.RestoreDirectory = true; openFileDialog.DefaultExt = "jpg"; bool?result = openFileDialog.ShowDialog(); if (result != true) { return(null); } string fileName = openFileDialog.FileName; var buffer = ImageHelper.ImageToBytes(fileName); ChatArea.Children.Add(new SendControl(new TcpPackage() { LocalName = TbUserName.Text, RemoteName = LbChatWith.Content.ToString() }, ImageHelper.BytesToBitmapImage(buffer))); Scr.ScrollToEnd(); #region 发送接收确认码, 再创建UDP进行通信, 比较麻烦, 预留, 重写 // 发送确认码, 并接收确认 //while (packages.Length() > 0) //{ // var data = await packages.DequeueAsync(); // await _sendUdpImageClient.SendAsync(data, data.Length); //} //await _sendImageTcpClient.CloseAsync(); //await _sendUdpImageClient.UdpClientCloseAsync(); #endregion return(fileName); }
private async Task SendMessage(string message) { var sendPackage = new TcpPackage() { OpCode = LbChatWith.Content.Equals("All") ? OpCode.All : OpCode.Single, MessageType = MessageType.Text, LocalName = TbUserName.Text, RemoteName = LbChatWith.Content.ToString(), Message = message }; ChatArea.Children.Add(new SendControl(sendPackage, null)); var msg = sendPackage.ToString(); await _sendTcpClient.SendAsync(new ReadOnlyMemory <byte>(Encoding.UTF8.GetBytes(msg))); Scr.ScrollToEnd(); }
protected override void Update(GameTime gameTime) { if (IsActive && !PauseGame) { if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) { Close(true); } // Update important scripts first foreach (Component Scr in BaseScripts.ToList()) { Scr.Update(); } MyGame.Main.Update(); Level.Update(); } base.Update(gameTime); }
private async Task Send(string message) { ////await _client.SendAsync(Encoding.UTF8.GetBytes(message + "\r\n")); //var data = new TextMessageModel //{ // LocalName = TbUserName.Text, // TextMessage = message //}; //// 向ChatArea中添加组件 //WpChatArea.Children.Add(new SendControl(data)); //CreateUdpClient(); ////await _client.SendAsync(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(data) + "\r\n")); var sendPackage = new MessagePackage <TextMessageModel>() { OpCode = LbCurrentChat.Content.Equals("All") ? OpCode.All : OpCode.Single, MessageType = MessageType.TextMessage, Message = new TextMessageModel() { LocalName = TbUserName.Text, RemoteName = LbCurrentChat.Content.ToString(), TextMessage = TbSendArea.Text } }; WpChatArea.Children.Add(new SendControl(new TextMessageModel() { LocalName = TbUserName.Text, RemoteName = LbCurrentChat.Content.ToString(), TextMessage = TbSendArea.Text })); await _client.SendAsync(Encoding.UTF8.GetBytes(sendPackage.ToString())); Scr.ScrollToEnd(); }
private async Task InitTcp() { var options = new ChannelOptions { Logger = NullLogger.Instance, ReadAsDemand = true }; _client = new EasyClient <TextPackageInfo>(new LinePipelineFilter(), options).AsClient(); var connected = await _client.ConnectAsync(new IPEndPoint(IPAddress.Loopback, 8888)); var connectPackage = new MessagePackage <TextMessageModel>() { OpCode = OpCode.Connect, MessageType = MessageType.TextMessage, Message = new TextMessageModel() { LocalName = TbUserName.Text, RemoteName = "Server" } }; await _client.SendAsync( new ReadOnlyMemory <byte>(Encoding.UTF8.GetBytes(connectPackage.ToString()))); while (true) { var receivePackage = JsonConvert.DeserializeObject <MessagePackage <TextMessageModel> >((await _client.ReceiveAsync()).Text); if (receivePackage.Message == null) { continue; } switch (receivePackage.OpCode) { case OpCode.DisConnect: MessageBox.Show(receivePackage.Message.TextMessage, receivePackage.Message.LocalName); TbUserName.IsEnabled = true; break; case OpCode.Connect: LvOnlineList.Children.Clear(); var allItem = new UserItemsControl("All"); allItem.setRoteName = SetRoteName; LvOnlineList.Children.Add(allItem); foreach (var userClient in receivePackage.Clients) { var childItem = new UserItemsControl(userClient.Username); childItem.setRoteName = SetRoteName; LvOnlineList.Children.Add(childItem); } TbUserName.IsEnabled = false; break; case OpCode.All: this.LbCurrentChat.Content = receivePackage.Message.LocalName; WpChatArea.Children.Add(new MessageControl(new TextMessageModel() { LocalName = receivePackage.Message.LocalName, TextMessage = receivePackage.Message.TextMessage })); break; case OpCode.Single: LbCurrentChat.Content = receivePackage.Message.LocalName; WpChatArea.Children.Add(new MessageControl(new TextMessageModel() { LocalName = receivePackage.Message.LocalName, TextMessage = receivePackage.Message.TextMessage })); break; } Scr.ScrollToEnd(); if (connected) { BdConnectState.Background = new SolidColorBrush(Colors.LimeGreen); TbUserName.IsEnabled = false; } else { BdConnectState.Background = new SolidColorBrush(Colors.OrangeRed); TbUserName.IsEnabled = true; break; } await Task.Delay(500); } //while (true) //{ // var package = await _client.ReceiveAsync(); // //if(package != null) SpChatArea.Text += "Receive:" + package.Text + Environment.NewLine; // var data = JsonConvert.DeserializeObject<TextMessageModel>(package.Text); // if (package != null) // { // WpChatArea.Children.Add(new MessageControl(new TextMessageModel() // { // LocalName = data.LocalName, // TextMessage = data.TextMessage // })); // } // await Task.Delay(500); //} }
private async void InitTcpConnectAndReceive() { var options = new ChannelOptions { Logger = NullLogger.Instance, ReadAsDemand = true }; _sendTcpClient = new EasyClient <TextPackageInfo>(new LinePipelineFilter(), options).AsClient(); _connected = await _sendTcpClient.ConnectAsync(new IPEndPoint(IPAddress.Loopback, 8888)); var connectPackage = new TcpPackage() { OpCode = OpCode.Connect, LocalName = TbUserName.Text, RemoteName = "Server", MessageType = MessageType.Text }; await _sendTcpClient.SendAsync( new ReadOnlyMemory <byte>(Encoding.UTF8.GetBytes(connectPackage.ToString()))); while (true) { var receivePackage = TcpPackage.JsonToPackage((await _sendTcpClient.ReceiveAsync()).Text); if (string.IsNullOrEmpty(receivePackage.Message)) { continue; } switch (receivePackage.OpCode) { case OpCode.Connect: SpOnlineList.Children.Clear(); var allItem = new UserItemsControl("All"); allItem.setRoteName = SetRoteName; SpOnlineList.Children.Add(allItem); foreach (var onlineClient in receivePackage.Clients) { var childItem = new UserItemsControl(onlineClient.Username); childItem.setRoteName = SetRoteName; SpOnlineList.Children.Add(childItem); } TbUserName.IsEnabled = false; BtnConnectServer.IsEnabled = false; break; case OpCode.DisConnect: MessageBox.Show(receivePackage.Message, receivePackage.LocalName); TbUserName.IsEnabled = true; break; case OpCode.All: case OpCode.Single: LbChatWith.Content = receivePackage.OpCode == OpCode.All ? receivePackage.RemoteName : receivePackage.LocalName; switch (receivePackage.MessageType) { case MessageType.Text: ChatArea.Children.Add(new ReceiveControl(receivePackage, null)); break; case MessageType.Image: // 建立UDP客户端 直接接收消息 ReceiveImage(receivePackage: receivePackage); break; case MessageType.File: var res = MessageBox.Show("是否接收文件?", "提示", MessageBoxButton.YesNo, MessageBoxImage.Information); if (res == MessageBoxResult.Yes) { // 发送TCP确认连接消息 // 创建UDP客户端 } break; } break; case OpCode.Confirm: switch (receivePackage.MessageType) { case MessageType.Image: var fileName = await SendImage(); await Task.Delay(1000); await SendImage(fileName, receivePackage); break; case MessageType.File: break; } break; } Scr.ScrollToEnd(); if (_connected) { BdConnectState.Background = new SolidColorBrush(Colors.LimeGreen); TbUserName.IsEnabled = false; } else { BdConnectState.Background = new SolidColorBrush(Colors.OrangeRed); TbUserName.IsEnabled = true; break; } //await Task.Delay(1000); } }
public Screen LoadScreen(string strName, UIServiceWpfApp argApp = null) { Debug.Assert(!string.IsNullOrEmpty(strName) && null != m_objDoc); LogProcessorService.Log.UIService.LogDebugFormat("Prepare for loading the screen with name [{0}]", strName); string strScr = string.Format(@"/{0}/{1}/{2}[@name='{3}']", UIServiceCfgDefines.s_WndNode, UIServiceCfgDefines.s_ScreensNode, UIServiceCfgDefines.s_ScreenNode, strName); //LogProcessorService.Log.UIService.LogDebugFormat("The xpath value is {0}", strScr); XmlNode objNode = m_objDoc.SelectSingleNode(strScr); if (null == objNode) { LogProcessorService.Log.UIService.LogWarnFormat("The screen [{0}] isn't exist", strName); return(null); } // string strUrl = null; string strPath = null; string strSite = null; string subSite = null; string needClearElement = null; bool needCache = true; //bool validationEnable = false; XmlAttribute objAttri = objNode.Attributes[UIServiceCfgDefines.s_UriAttri]; if (null != objAttri) { strUrl = objAttri.Value; //LogProcessorService.Log.UIService.LogDebugFormat("The url of a page is {0}", strUrl); } else { throw new Exception("The url of a page must be exists"); } bool bHtml = IsHtml(strUrl); bool bXaml = IsXaml(strUrl); if (!bHtml && !bXaml) { return(null); } if (bHtml) { strUrl = strUrl.Replace(@"\", @"/"); } objAttri = objNode.Attributes[UIServiceCfgDefines.s_SiteAttri]; if (null != objAttri) { strSite = objAttri.Value; } objAttri = objNode.Attributes[UIServiceCfgDefines.s_subSiteAttri]; if (null != objAttri) { subSite = objAttri.Value; } objAttri = objNode.Attributes[UIServiceCfgDefines.s_cacheAttri]; if (null != objAttri && !string.IsNullOrEmpty(objAttri.Value)) { int temp = 0; if (int.TryParse(objAttri.Value, out temp)) { needCache = temp == 0 ? false : true; } } if (needCache) { objAttri = objNode.Attributes[UIServiceCfgDefines.s_needClearElementAttri]; if (null != objAttri && !string.IsNullOrEmpty(objAttri.Value)) { needClearElement = objAttri.Value; } } //objAttri = objNode.Attributes[UIServiceCfgDefines.s_validationEnableAttri]; //if ( null != objAttri && // !string.IsNullOrEmpty(objAttri.Value) ) //{ // int temp = 0; // if ( int.TryParse( objAttri.Value, out temp ) ) // { // validationEnable = temp == 0 ? false : true; // } //} //else //{ // strSite = SiteOfScreens; //} //LogProcessorService.Log.UIService.LogDebugFormat("The site of a page is {0}", strSite); // objAttri = objNode.Attributes[s_PathAttri]; //if ( null != objAttri ) //{ // strPath = AppDomain.CurrentDomain.BaseDirectory + objAttri.Value; //} //else //{ if (bHtml) { strPath = basePath4Html; } else if (bXaml) { strPath = basePath4Xaml; } string configPath = strPath; string dir = string.Format(@"{0}{1}/", strPath, this.ResouceManager.CurrentUILanguage); Uri uri = new Uri(dir); if (uri.IsFile) { string localPath = uri.LocalPath; if (Directory.Exists(localPath)) { strPath = dir; } } // } //LogProcessorService.Log.UIService.LogDebugFormat("The path of a page is {0}", strPath); Screen Scr = null; if (bHtml) { Scr = new htmlScreen() { Name = strName, Path = strPath, Url = strUrl, Site = strSite, SubSite = subSite, NeedCache = needCache, ConfigPath = configPath }; } else if (bXaml) { //Scr = new XamlScreen() //{ // Name = strName, // Path = strPath, // Url = strUrl, // Site = strSite, // SubSite = subSite, // NeedCache = needCache, // ConfigPath = configPath //}; } Scr.App = argApp; Scr.ResouceManager = this.ResouceManager; //Screen objScr = new Screen() //{ // Name = strName, // Path = strPath, // Url = strUrl, // Site = strSite //}; if (needCache && !string.IsNullOrEmpty(needClearElement)) { string[] arrElements = needClearElement.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries); foreach (var item in arrElements) { Scr.AddNeedClearElement(item); } } //load storyboards of a screen. XmlNode storyboards = objNode.SelectSingleNode(UIServiceCfgDefines.s_storyboardsNode); if (null != storyboards) { LoadStoryboards(storyboards, Scr); } //load triggers of a screen XmlNode triggers = objNode.SelectSingleNode(UIServiceCfgDefines.s_TriggersNode); if (null != triggers) { LoadTriggers(triggers, Scr); } //load data template of a screen XmlNode templates = objNode.SelectSingleNode(UIServiceCfgDefines.s_templatesNode); if (null != templates) { LoadTemplates(templates, Scr); } //LogProcessorService.Log.UIService.LogInfoFormat("Success to load a screen with name [{0}] from a configuration file", strName); return(Scr); }