/// <summary> /// Обработчик выхода игрока /// </summary> public void OnPlayerDisconnect(Client player, string reason) { if (player.hasData(ClanMission.BOOTY_OBJECT)) { ClanMissionManager.DetachBooty(player); } var playerInfo = _playerInfoManager.GetInfo(player); if (playerInfo == null) { return; } if (player.hasData(PlayerData.ON_RACE) || player.hasSyncedData(PlayerData.IS_REGISTERED)) { ProcessRacer(player); } SyncWork(player); SyncPrisoner(player); SyncJail(player, playerInfo); SyncWeaponAmmo(player, playerInfo); SyncClanMissionVote(player, playerInfo); playerInfo.LastPosition = PositionConverter.VectorToString(player.position); _accountsProvider.UpdateTotalTime(playerInfo.AccountId); _playersProvider.UpdatePlayersInfos(new List <PlayerInfo> { playerInfo }); _vehiclesProvider.Update(playerInfo.Vehicles.Values); _playerInfoManager.Remove(player); }
private void cmbPosition_SelectedIndexChanged(object sender, EventArgs e) { if (cmbPosition.SelectedIndex > -1 && getmarker != null) { lbPosition.Text = PositionConverter.ParsePointToString(getmarker.Position, cmbPosition.SelectedItem.ToString()); } }
public void setFireUnitInfo(GMarker marker, GMarkerRect rect) { this.getmarker = marker; this.getrect = rect; if (getmarker != null) { clearField(); lbBatteryID.Text = main.detailMarkers[getmarker].GetFireUnitBatteryID(); lbDetail.Text = main.detailMarkers[getmarker].GetFireUnitDetail(); lbNumber.Text = main.detailMarkers[getmarker].GetFireUnitNumber(); lbPosition.Text = PositionConverter.ParsePointToString(main.detailMarkers[getmarker].GetFireUnitPoint(), cmbPosition.Text); lbType.Text = main.detailMarkers[getmarker].GetFireUnitType(); lbStatus.Text = main.detailMarkers[getmarker].GetFireUnitStatus(); //if (main.detailMarkers[getmarker].GetFireUnitStatus() == "OP") //{ // lbStatus.Text = "OP"; //} //else if (main.detailMarkers[getmarker].GetFireUnitStatus() == "Limited") //{ // lbStatus.Text = "Limited"; //} //else if (main.detailMarkers[getmarker].GetFireUnitStatus() == "NonOP") //{ // lbStatus.Text = "NonOP"; //} } }
public void setFireUnitInfo(GMarker marker, GMarkerRect rect) { this.getmarker = marker; this.getrect = rect; if (getmarker != null) { clearField(); txtBatteryID.Text = main.detailMarkers[getmarker].GetFireUnitBatteryID(); txtDetail.Text = main.detailMarkers[getmarker].GetFireUnitDetail(); txtNumber.Text = main.detailMarkers[getmarker].GetFireUnitNumber(); txtPosition.Text = PositionConverter.ParsePointToString(main.detailMarkers[getmarker].GetFireUnitPoint(), cmbPosition.Text); cmbType.Text = main.detailMarkers[getmarker].GetFireUnitType(); if (main.detailMarkers[getmarker].GetFireUnitStatus() == "OP") { radioButton3.Checked = true; } else if (main.detailMarkers[getmarker].GetFireUnitStatus() == "Limited") { radioButton2.Checked = true; } else if (main.detailMarkers[getmarker].GetFireUnitStatus() == "NonOP") { radioButton1.Checked = true; } } }
/// <summary> /// Обработать данные владельца дома /// </summary> private void ProcessOwner(HouseInfo house) { var player = _playerInfoManager.GetWithData(house.OwnerId); if (PlayerHelper.PlayerCorrect(player.Player)) { var houseId = PlayerHelper.GetData(player.Player, HouseMenuHandler.IN_HOUSE, NO_OWNER); if (houseId == house.Id) { player.Player.resetData(HouseMenuHandler.IN_HOUSE); API.setEntityPosition(player.Player, PositionConverter.ToVector3(house.Position)); API.setEntityDimension(player.Player, 0); } MoveVehiclesOnParking(player.PlayerInfo.Vehicles.Values, player.Player); _playerInfoManager.RefreshUI(player.Player, player.PlayerInfo); API.sendNotificationToPlayer(player.Player, "~b~Аренда дома подошла к концу"); } else { MoveVehiclesOnParking(player.PlayerInfo.Vehicles.Values); player.PlayerInfo.LastPosition = house.Position; player.PlayerInfo.Dimension = 0; _playerInfoManager.Set(player.PlayerInfo); } }
//Button// private void button1_Click(object sender, EventArgs e) { if (txtLocationLandmark.Text == "Select Location on Map") { MessageBox.Show("Please Select Location on Map", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (cmbTypeLandmark.Text == "Please Select Type of Landmark") { MessageBox.Show("Please Select Type of Landmark", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } else if (txtLabelLandmark.Text == "Short Name") { txtLabelLandmark.Text = ""; } var marker = new GmapMarkerWithLabel(PositionConverter.ParsePointFromString(txtLocationLandmark.Text), null, markerLandmark.icon, 20); GMapOverlay overlay = mainForm.GetInstance().GetOverlay("markersP"); MarkerLandmarkDetail detail = new MarkerLandmarkDetail(marker, cmbTypeLandmark.SelectedIndex, PositionConverter.ParsePointFromString(txtLocationLandmark.Text), txtNameLandmark.Text, txtLabelLandmark.Text); dicMarker.Add(marker, detail); marker.ToolTipText = "\n" + detail.Location.Lat.ToString() + " / " + detail.Location.Lng.ToString() + "\n" + detail.Label; marker.ToolTipMode = MarkerTooltipMode.OnMouseOver; overlay.Markers.Add(marker); mainForm.GetInstance().GetmainMap().Overlays.Add(overlay); txtLabelLandmark.Text = "Short Name"; txtLabelLandmark.ForeColor = Color.Gray; txtNameLandmark.Text = "Landmark Name"; txtNameLandmark.ForeColor = Color.Gray; cmbTypeLandmark.Text = "Please Select Type of Landmark"; cmbTypeLandmark.ForeColor = Color.Gray; }
/// <summary> /// Проинициализировать гараж /// </summary> private void InitializeGarage(HouseInfo house) { if (string.IsNullOrEmpty(house.GaragePosition)) { // не у всех домов может быть гараж? return; } // вход в гараж var enterPos = PositionConverter.ToVector3(house.GaragePosition); var enter = _pointCreator.CreateMarker(Marker.Stripes, enterPos, Colors.Yellow, 2f); API.setEntityRotation(enter.Marker, PositionConverter.ToVector3(house.RotationAfterExit)); enter.ColShape.onEntityEnterColShape += (shape, entity) => { _houseEventManager.OnPlayerWentToGarageEnter(entity, house.Id); }; enter.ColShape.onEntityExitColShape += (shape, entity) => _houseEventManager.OnPlayerAway(entity); // выход var exits = HousesPositionsGetter.GetGarageInnerPositions(house.Type).GarageExits; foreach (var exit in exits) { var garageExit = API.createSphereColShape(exit, 2f); garageExit.dimension = (int)-house.Id; garageExit.onEntityEnterColShape += (shape, entity) => { _houseEventManager.OnPlayerExitGarage(entity, house.Id); }; garageExit.onEntityExitColShape += (shape, entity) => _houseEventManager.OnPlayerAway(entity); } }
private static void SetEventToPutNote( MadcaDisplay display, NoteBook noteBook, IReadOnlyList <IReadOnlyScore> scores, OperationManager opManager, IReadOnlyEditorStatus status) { var box = display.PictureBox; var laneEnv = display.EditorLaneEnvironment; box.MouseDown += (s, e) => { if (status.EditorMode != EditorMode.Add || status.NoteMode == NoteMode.Hold || status.NoteMode == NoteMode.Field) { return; } var area = laneEnv.GetEditorLaneRegion(e.Location); if (area == EditorLaneRegion.Lane && e.Button == MouseButtons.Left) { var res = PositionConverter.ConvertRealToVirtual(laneEnv, e.Location, status.BeatStride, scores, out Position position); if (!res) { return; } var note = MyUtil.NoteFactory(position.Lane, position.Timing, new NoteSize(status.NoteSize), status.NoteMode); if (note is null) { return; } // HACK: この辺の処理どうしようかな opManager.AddAndInvokeOperation(new AddShortNoteOperation(noteBook, note)); } }; }
private void MoveTeamPosition(Node[] teamPosition, List <Unit> team) { for (int i = 0; i < team.Count; ++i) { float y = team[i].transform.position.y; WorldPosition unitWorldPos = PositionConverter.ToWorldCoordinates(new LocalPosition(teamPosition[i].x, teamPosition[i].y)); unitWorldPos.y = y; BoardManager.selectedUnit = team[i]; if (BoardManager.Instance.isUnitOccupiedNodeByTeam(teamPosition[i], true)) { Debug.Log(team[i].tag + ": attack to " + teamPosition[i].x + " " + teamPosition[i].y); Unit defUnit = BoardManager.Instance.GetUnitByNode(teamPosition[i], false); BoardManager.Instance.GeneratePathToEnemy(defUnit); var path = BoardManager.selectedUnit.currentPathToEnemy; if (path != null) { unitWorldPos = PositionConverter.ToWorldCoordinates(new LocalPosition(path[path.Count - 1].x, path[path.Count - 1].y)); } BoardManager.selectedUnit.Attack(defUnit); } else { BoardManager.Instance.GeneratePathTo(unitWorldPos.x, unitWorldPos.z); BoardManager.selectedUnit.MoveToEnterTile(); team[i].transform.position = unitWorldPos.ToVector3(); team[i].UpdatePosition(unitWorldPos); } } }
private void BeginGame() { positionConverter = new PositionConverter(cellSize); mazeInstance = Instantiate(mazePrefab); float mazeWidth = indestructibleCubesXNumber * cellSize * 2 + cellSize; float mazeLength = indestructibleCubesZNumber * cellSize * 2 + cellSize; float startX = startPositionX.Equals(StartPosition.MIN) ? 1 : mazeWidth - 1; float startZ = startPositionZ.Equals(StartPosition.MIN) ? 1 : mazeLength - 1; Debug.Log(DateTime.Now + " Generating maze with size " + indestructibleCubesXNumber + "x" + indestructibleCubesZNumber + "..."); board = mazeInstance.Generate(mazeWidth, mazeLength, cellSize, cubeHeight, wallHeight, startX, startZ, positionConverter, levelConfig); positionManager = new PlayerPositionManager(board, positionConverter); player.gameObject.transform.localPosition = new Vector3(startX, 0.5f, startZ); SetInitialCameraRotation(); board.AddPlayer(player); InitAI(); positionManager.AddPlayer(player); explosionManager = GameObject.Find(Constants.EXPLOSION_MANAGER_NAME).GetComponent <ExplosionManager>(); uiController = GameObject.Find(Constants.UI_CONTROLLER_NAME).GetComponent <UIController>(); uiController.InitializeHUD(mazeWidth, mazeLength); StartCoroutine(StartLevelCountdown()); Debug.Log(DateTime.Now + " Level " + GameManager.instance.GetCurrentLevelNumber() + " loaded successfully!"); }
public void EditMarker(int ID, string Name, int Img_index, int Img_ID, double Lat, double Lng) { if (Markers.ContainsKey(ID)) { SymbolInfo sinfo = Markers[ID]; sinfo.Name = Name; sinfo.ImgIndex = Img_index; sinfo.ImgID = Img_ID; sinfo.Point = new PointLatLng(Lat, Lng); sinfo.Marker.ToolTipText = PositionConverter.ParsePointToString(new PointLatLng(Lat, Lng), PositionConverter.DefaultScale) + ", " + Name; if (DataSettings.UseDatabase) { MySqlConnection conn = DataSettings.GetConnection(); using (MySqlCommand cmd = new MySqlCommand(null, conn)) { cmd.CommandText = "UPDATE marker_info SET marker_name = @name, marker_imgindex = @img_index, marker_imgid = @img_id" + ", marker_lat = @lat, marker_lng = @lng, mission_id = @mission_id WHERE marker_id = @id"; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("id", sinfo.ID); cmd.Parameters.AddWithValue("name", sinfo.Name); cmd.Parameters.AddWithValue("img_index", sinfo.ImgIndex); cmd.Parameters.AddWithValue("img_id", sinfo.ImgID); cmd.Parameters.AddWithValue("lat", sinfo.Point.Lat); cmd.Parameters.AddWithValue("lng", sinfo.Point.Lng); cmd.Parameters.AddWithValue("mission_id", sinfo.Mission); cmd.ExecuteNonQuery(); } } } }
public static IEnumerator MoveUnitTo(WorldPosition moveTo, float time) { inFirst = true; Unit unit = BoardManager.selectedUnit; Vector3 startPos = unit.worldPosition.ToVector3(); var tmpPos = PositionConverter.ToWorldCoordinates(unit.currentPath[0]).ToVector3(); Vector3 endPos = new Vector3(tmpPos.x, moveTo.y, tmpPos.z); int count = 0; while (unit.currentPath.Count != 1) { unit.currentPath.RemoveAt(0); ++count; if (count == 1) { startPos = unit.worldPosition.ToVector3(); } var tmpPos_ = PositionConverter.ToWorldCoordinates(unit.currentPath[0]).ToVector3(); endPos = new Vector3(tmpPos_.x, moveTo.y, tmpPos_.z); for (float t = 0; t <= 1 * time; t += Time.deltaTime) { unit.transform.position = Vector3.Lerp(startPos, endPos, t / time); yield return(null); } startPos = endPos; } unit.currentPath = null; inFirst = false; Unit.isHumanMakeTurn = true; }
/// <summary> /// Adding or Updating Position in a database /// </summary> /// <param name="position">Business Object Position</param> /// <returns>True if succeeded and false otherwise</returns> public async Task <bool> SavePosition(DtoPosition position) { try { using (var data = Context) { var p = await (from item in data.Position where position.Id == item.id select item).FirstOrDefaultAsync(); // Updating Position if (p != null) { p.name = position.Name; p.description = position.Description; } // Adding new Position else { if (await(from item in data.Position where position.Name == item.name select item).AnyAsync()) { return(false); } data.Position.Add(PositionConverter.DtoToDataAccess(position)); } await data.SaveChangesAsync(); } return(true); } catch (Exception) { return(false); } }
// Use this for initialization public virtual void Start() { board = GameObject.Find(Constants.LEVEL_MANAGER_NAME).GetComponent <LevelManager>().GetBoard(); positionConverter = GameObject.Find(Constants.LEVEL_MANAGER_NAME) .GetComponent <LevelManager>().GetPositionConverter(); TryMove(); }
private void setDiffContextText(Control diffContextControl) { double fontSizePx = WinFormsHelpers.GetFontSizeInPixels(diffContextControl); DiscussionNote note = getNoteFromControl(diffContextControl); Debug.Assert(note.Type == "DiffNote"); DiffPosition position = PositionConverter.Convert(note.Position); Debug.Assert(diffContextControl is HtmlPanel); HtmlPanel htmlPanel = diffContextControl as HtmlPanel; // We need to zero the control size before SetText call to allow HtmlPanel to compute the size int prevWidth = htmlPanel.Width; htmlPanel.Width = 0; htmlPanel.Height = 0; string html = getContext(_panelContextMaker, position, _diffContextDepth, fontSizePx, out string css); htmlPanel.BaseStylesheet = css; htmlPanel.Text = html; resizeLimitedWidthHtmlPanel(htmlPanel, prevWidth); string tooltipHtml = getContext(_tooltipContextMaker, position, _tooltipContextDepth, fontSizePx, out string tooltipCSS); _htmlDiffContextToolTip.BaseStylesheet = String.Format("{0} .htmltooltip {{ padding: 1px; }}", tooltipCSS); _htmlDiffContextToolTip.SetToolTip(htmlPanel, tooltipHtml); }
/// <summary> /// Adds a piece specified in the command to the visual board and updates bitboard. /// </summary> /// <param name="command">The AddPiece command.</param> private void AddPiece(Command command) { var colorArgument = command.GetArgument <string>(0); var pieceArgument = command.GetArgument <string>(1); var fieldArgument = command.GetArgument <string>(2); var colorParseResult = Enum.TryParse(colorArgument, true, out Color color); if (!colorParseResult) { ConsoleManager.WriteLine($"$rInvalid color type ($R{color}$r)"); return; } var pieceParseResult = Enum.TryParse(pieceArgument, true, out PieceType piece); if (!pieceParseResult) { ConsoleManager.WriteLine($"$rInvalid piece type ($R{piece}$r)"); return; } var fieldPosition = PositionConverter.ToPosition(fieldArgument); VisualBoard.FriendlyBoard.SetPiece(new FriendlyPiece(fieldPosition, piece, color)); CalculateBitboard(VisualBoard.FriendlyBoard, _quiescenceSearch); }
public void GMap_MouseClick(object sender, MouseEventArgs e) { PointLatLng point = main.gMap.FromLocalToLatLng(e.X, e.Y); currentPoint = point; txtPosition.Text = PositionConverter.ParsePointToString(point, cmbPosition.SelectedItem.ToString()); }
public void setTrackInfo(TrackData track) { this.track = track; if (track != null) { txtNumber.Text = track.Number.ToString("000"); txtCallSign.Text = track.CallSign; cmbStatus.Text = track.Status.ToString(); txtPosition.Text = PositionConverter.ParsePointToString(track.Position, cmbPosition.Text); txtSpeed.Text = ScaleConverter.ConvertSpeed(track.Speed, "knots", cmbSpeed.Text).ToString(); txtBearing.Text = ScaleConverter.ConvertBearing(track.Bearing, "degree", cmbBearing.Text).ToString(); txtCallSign.ReadOnly = false; txtPosition.ReadOnly = txtSpeed.ReadOnly = txtBearing.ReadOnly = txtHeight.ReadOnly = !track.Faker; if (track.Height.HasValue) { txtHeight.Text = ScaleConverter.ConvertHeight(track.Height.Value, "ft", cmbHeight.Text).ToString(); } else { txtHeight.Text = "Unknown"; txtHeight.ReadOnly = true; } } else { clearFields(); } }
private void cmbPosition_SelectedIndexChanged(object sender, EventArgs e) { if (cmbPosition.SelectedIndex > -1 && txtPosition.Text != "") { txtPosition.Text = PositionConverter.ParsePointToString(currentPoint, cmbPosition.SelectedItem.ToString()); } }
private void UpdateTeamPosition(List <Unit> currentTeam, Node unitPosition, int initiative) { if (initiative < currentTeam.Count) { //todo: add ctor for nodes currentTeam[initiative].UpdatePosition(PositionConverter.ToWorldCoordinates(new LocalPosition(unitPosition.x, unitPosition.y))); } }
/// <summary> /// Инициализировать магазин внутри /// </summary> private void InitializeInside(ShopModel shop) { var pedPositions = PositionConverter.ToListVector3(shop.NpcPositions); var ped = _pointCreator.CreatePed(PedHash.Sweatshop01SFY, "Продавец", pedPositions[0], pedPositions[1], pedPositions[2], Colors.VividCyan); ped.ColShape.onEntityEnterColShape += (shape, entity) => PlayerComeToSeller(entity, shop.District); ped.ColShape.onEntityExitColShape += PlayerComeAwayFromSeller; }
public void ToRt90_FromWebMercator(double lat, double lng, double expectedLat, double expectedLng, int decimals) { var pos = new WebMercatorPosition(lat, lng); var converted = PositionConverter.ToRt90(pos); Assert.AreEqual(Math.Round(expectedLat, decimals, MidpointRounding.AwayFromZero), Math.Round(converted.Latitude, decimals, MidpointRounding.AwayFromZero)); Assert.AreEqual(Math.Round(expectedLng, decimals, MidpointRounding.AwayFromZero), Math.Round(converted.Longitude, decimals, MidpointRounding.AwayFromZero)); }
public Rectangle GetRectangle(IReadOnlyEditorLaneEnvironment env) { var loc = PositionConverter.ConvertVirtualToRealNorm(env, new Position(Lane, Timing)); int width = NoteEnvironment.NoteWidth(NoteSize.Size, env); int height = NoteEnvironment.NoteHeight; return(new Rectangle(loc.X, loc.Y - NoteEnvironment.NoteHeight / 2, width, height)); }
private void GoDown() { secondDestroyer = tileFactory.CreateDestoyer(); secondDestroyer.Move( PositionConverter.GetPositionsOnScreen(r: lineBonus.R + 1, c: lineBonus.C), PositionConverter.GetPositionsOnScreen(r: matrix.Rows - 1, c: lineBonus.C) ); }
public void ToSweRef99_FromWgs84(double lat, double lng, double expectedLat, double expectedLng, int decimals) { var pos = new WGS84Position(lat, lng); var converted = PositionConverter.ToSweRef99(pos); Assert.AreEqual(Math.Round(expectedLat, decimals, MidpointRounding.AwayFromZero), Math.Round(converted.Latitude, decimals, MidpointRounding.AwayFromZero)); Assert.AreEqual(Math.Round(expectedLng, decimals, MidpointRounding.AwayFromZero), Math.Round(converted.Longitude, decimals, MidpointRounding.AwayFromZero)); }
private void UpdateTeamPosition(Node[] teamPosition, List <Unit> team) { for (int i = 0; i < team.Count; ++i) { WorldPosition unitWorldPos = PositionConverter.ToWorldCoordinates(new LocalPosition(teamPosition[i].x, teamPosition[i].y)); team[i].UpdatePosition(unitWorldPos); } }
private void GoRight() { secondDestroyer = tileFactory.CreateDestoyer(); secondDestroyer.Move( PositionConverter.GetPositionsOnScreen(r: lineBonus.R, c: lineBonus.C + 1), PositionConverter.GetPositionsOnScreen(r: lineBonus.R, c: matrix.Columns - 1) ); }
/// <summary> /// Обновить данные о метонахождении игроков /// </summary> private static void UpdatePlayersData() { foreach (var playerInfo in ServerState.Players) { var position = playerInfo.Key.position; playerInfo.Value.LastPosition = PositionConverter.VectorToString(position); } }
private void GoLeft() { firstDestroyer = tileFactory.CreateDestoyer(); firstDestroyer.Move( PositionConverter.GetPositionsOnScreen(r: lineBonus.R, c: lineBonus.C - 1), PositionConverter.GetPositionsOnScreen(r: lineBonus.R, c: 0) ); }
private void GoUp() { firstDestroyer = tileFactory.CreateDestoyer(); firstDestroyer.Move( PositionConverter.GetPositionsOnScreen(r: lineBonus.R - 1, c: lineBonus.C), PositionConverter.GetPositionsOnScreen(r: 0, c: lineBonus.C) ); }