private void LeaveVisualClueArea(AreaBase area) { if (area.GetData("thMod_BlipIndex", out int blipIdx) && _areaClueBlips[blipIdx] != null) { _areaClueBlips[blipIdx].Alpha = 255; } if (_helpTextHideAt > 0 && _helpTextIsClue) { _helpTextHideAt = 0; } }
void theSaddleVisual_Saddle_Selected(AreaBase theSaddleInfo) { try { if (Saddle_Selected != null) { Saddle_Selected(theSaddleInfo.Clone()); } } catch (Exception ex) { } }
public bool KeyEvent(AreaBase area, ref AreaKeyEvent keyEvent) { byte[] k = { (byte)'\'', keyEvent.Key, (byte)'\'', (byte)'\0' }; if (keyEvent.Key == 0) { k[0] = (byte)'0'; k[1] = (byte)'\0'; k[2] = (byte)'\0'; } Console.WriteLine($"key key:{Encoding.UTF8.GetString(k)} extkey:{keyEvent.ExtKey} mod:{keyEvent.Modifier} mods:{keyEvent.Modifiers} up:{keyEvent.Up}"); return(_owner._swallowKeys.IsChecked); }
public void conInit(Panel theBayPanel, AreaBase areaBase, string theTagServiceName, int _panelWidth, int _panelHeight, bool _xAxisRight, bool _yAxisDown, long _baySpaceX, long _baySpaceY) { try { theAreaBase = areaBase; bayPanel = theBayPanel; tagServiceName = theTagServiceName; xAxisRight = _xAxisRight; yAxisDown = _yAxisDown; panelWidth = _panelWidth; panelHeight = _panelHeight; baySpaceX = _baySpaceX; baySpaceY = _baySpaceY; theSaddlsInfoInBay.conInit(areaBase.AreaNo, theTagServiceName); refreshControl(); } catch (Exception ex) { } }
private void EnterRevealArea(AreaBase area) { if (_blip == null) { _blip = CreateBlip(_revealArea.Center); Function.Call(Hash.SET_BLIP_FLASHES, _blip.Handle, true); Function.Call(Hash.SET_BLIP_FLASH_TIMER, _blip.Handle, BlipFlashTime); Function.Call(Hash.FLASH_MINIMAP_DISPLAY); SaveManager.AddFlag(TreasureFlags.RevealedNote); SaveManager.Save(); } if (_soundId == -1) { _soundId = Util.PlaySoundFromCoord(_revealArea.Center, "dlc_xm_fm_th_sounds", "item_close_loop"); } }
public void Draw(AreaBase area, ref AreaDrawParams p) { tareas ta = new tareas(); filltareas(p.AreaWidth, p.AreaHeight, ta); drawtrect(p.Context, ta.move, 0, 0.5, 0); drawtrect(p.Context, ta.alsomove, 0, 0.5, 0); drawtrect(p.Context, ta.leftresize, 0, 0, 0.5); drawtrect(p.Context, ta.topresize, 0, 0, 0.5); drawtrect(p.Context, ta.rightresize, 0, 0, 0.5); drawtrect(p.Context, ta.bottomresize, 0, 0, 0.5); drawtrect(p.Context, ta.topleftresize, 0, 0.5, 0.5); drawtrect(p.Context, ta.toprightresize, 0, 0.5, 0.5); drawtrect(p.Context, ta.bottomleftresize, 0, 0.5, 0.5); drawtrect(p.Context, ta.bottomrightresize, 0, 0.5, 0.5); drawtrect(p.Context, ta.close, 0.5, 0, 0); // TODO add current position prints here }
internal static string getAreaCode(string area) { string areaCode = string.Empty; try { MysqlDBA <AreaBase> mysqlDBA = new MysqlDBA <AreaBase>(FunctionController.CONNSTR); AreaBase queryCrit = new AreaBase(); queryCrit.AreaName = area; List <AreaBase> listr = (List <AreaBase>)mysqlDBA.getDataListNoKey(queryCrit); if (listr.Count > 0) { areaCode = listr[0].AreaCode; } } catch (Exception ex) { throw ex; } return(areaCode); }
static void Init() { if (_inited) { return; } _inited = true; // 扫描模型表 //ModelTable.ScanModel(areaName, menus); ThreadPoolX.QueueUserWorkItem(() => { var mf = ManageProvider.Menu; if (mf == null) { return; } foreach (var areaType in AreaBase.GetAreas()) { var areaName = areaType.Name.TrimEnd("Area"); var menus = mf.FindByFullName(areaName); var root = mf.FindByFullName(areaType.Namespace + ".Controllers"); if (root == null) { root = mf.Root.FindByPath(areaName); } if (root != null) { ModelTable.ScanModel(areaName, root.Childs); } } }); }
public void MouseEvent(AreaBase area, ref AreaMouseEvent mouseEvent) { double graphWidth, graphHeight; double[] xs, ys; GraphSize(mouseEvent.AreaWidth, mouseEvent.AreaHeight, out graphWidth, out graphHeight); PointLocations(graphWidth, graphHeight, out xs, out ys); int i; for (i = 0; i < 10; i++) { if (InPoint(mouseEvent.X, mouseEvent.Y, xs[i], ys[i])) { break; } } if (i == 10) { i = -1; } _currentPoint = i; area.QueueReDrawAll(); }
public FToolsClient() { Tick += OnTick; Tick += OnTick500; Tick += OnTick10000; markerEvents = new Dictionary <string, MarkerEvent>(); texts = new Dictionary <string, Text3D>(); areas = new Dictionary <string, AreaBase>(); pickups = new List <CustomPickup>(); Exports.Add("CreateMarkerEvent", new Func <string, int, dynamic, dynamic, dynamic, float, bool>( (identifier, type, pos, scale, color, maxDistance) => { return(CreateMarkerEvent( identifier, (MarkerType)type, new Vector3 { X = float.Parse(pos.X.ToString()), Y = float.Parse(pos.Y.ToString()), Z = float.Parse(pos.Z.ToString()) }, new Vector3 { X = float.Parse(scale.X.ToString()), Y = float.Parse(scale.Y.ToString()), Z = float.Parse(scale.Z.ToString()) }, Color.FromArgb(int.Parse(color.R.ToString()), int.Parse(color.G.ToString()), int.Parse(color.B.ToString())), maxDistance )); })); Exports.Add("CreateMarkerEventExtended", new Func <string, int, dynamic, dynamic, dynamic, float, bool, bool, bool, int, dynamic, dynamic, bool>( (identifier, type, pos, scale, color, maxDistance, bobUpAndDown, faceCamera, rotate, accessibility, onEnter, onExit) => { return(CreateMarkerEvent( identifier, (MarkerType)type, new Vector3 { X = float.Parse(pos.X.ToString()), Y = float.Parse(pos.Y.ToString()), Z = float.Parse(pos.Z.ToString()) }, new Vector3 { X = float.Parse(scale.X.ToString()), Y = float.Parse(scale.Y.ToString()), Z = float.Parse(scale.Z.ToString()) }, Color.FromArgb(int.Parse(color.R.ToString()), int.Parse(color.G.ToString()), int.Parse(color.B.ToString())), maxDistance, (bool)bobUpAndDown, (bool)faceCamera, (bool)rotate, (int)accessibility, onEnter, onExit )); })); Exports.Add("DeleteMarkerEvent", new Action <string>( (identifier) => { if (identifier != null && markerEvents.ContainsKey(identifier)) { markerEvents.Remove(identifier); } })); Exports.Add("AddTextToMarkerEvent", new Func <string, string, int, dynamic, dynamic, dynamic, float, bool>( (markerEventId, text, font, textColor, textScale, textPos, maxDistance) => { return(AddTextToMarkerEvent( markerEventId, new Text3D { TextString = text, Font = (CitizenFX.Core.UI.Font)font, Color = Color.FromArgb(int.Parse(textColor.R.ToString()), int.Parse(textColor.G.ToString()), int.Parse(textColor.B.ToString())), Scale = new Vector2 { X = float.Parse(textScale.X.ToString()), Y = float.Parse(textScale.Y.ToString()) }, Pos = new Vector3 { X = float.Parse(textPos.X.ToString()), Y = float.Parse(textPos.Y.ToString()), Z = float.Parse(textPos.Z.ToString()) }, MaxDistance = maxDistance } )); })); Exports.Add("AddActionToMarkerEvent", new Func <string, int, int?, string, dynamic, dynamic, bool>( (markerEventId, eventActionType, control, helpText, callBack, parameters) => { EventAction action = new EventAction { Type = (EventActionType)eventActionType, Callback = callBack }; if (!String.IsNullOrEmpty(helpText)) { action.HelpText = helpText; } if (control != null) { action.Control = (Control)control; } if (parameters != null) { action.Params = parameters; } return(AddActionToMarkerEvent( markerEventId, action )); })); Exports.Add("CreateText3D", new Func <string, string, int, dynamic, dynamic, dynamic, float, bool>( (identifier, text, font, textColor, textScale, textPos, maxDistance) => { return(CreateText3D( identifier, text, (CitizenFX.Core.UI.Font)font, Color.FromArgb(int.Parse(textColor.R.ToString()), int.Parse(textColor.G.ToString()), int.Parse(textColor.B.ToString())), new Vector2 { X = float.Parse(textScale.X.ToString()), Y = float.Parse(textScale.Y.ToString()) }, new Vector3 { X = float.Parse(textPos.X.ToString()), Y = float.Parse(textPos.Y.ToString()), Z = float.Parse(textPos.Z.ToString()) }, maxDistance )); })); Exports.Add("CreateText3DOnEntity", new Func <string, string, int, dynamic, dynamic, dynamic, float, int, bool>( (identifier, text, font, textColor, textScale, textPos, maxDistance, entity) => { return(CreateText3D( identifier, text, (CitizenFX.Core.UI.Font)font, Color.FromArgb(int.Parse(textColor.R.ToString()), int.Parse(textColor.G.ToString()), int.Parse(textColor.B.ToString())), new Vector2 { X = float.Parse(textScale.X.ToString()), Y = float.Parse(textScale.Y.ToString()) }, new Vector3 { X = float.Parse(textPos.X.ToString()), Y = float.Parse(textPos.Y.ToString()), Z = float.Parse(textPos.Z.ToString()) }, maxDistance, entity )); })); Exports.Add("DeleteText3D", new Action <string>( (identifier) => { if (identifier != null && texts.ContainsKey(identifier)) { texts.Remove(identifier); } })); Exports.Add("CreateArea", new Func <string, int, dynamic, dynamic, dynamic, dynamic, bool, bool>( (identifier, type, data, onEnter, onExit, parameters, debug) => { return(CreateArea( identifier, (AreaType)type, data, onEnter, onExit, parameters, debug )); })); Exports.Add("IsEntityInArea", new Func <string, int, bool>( (identifier, handle) => { if (identifier != null && areas.ContainsKey(identifier)) { Entity entity = Entity.FromHandle(handle); AreaBase area = areas[identifier]; return(area.CoordsInside(entity.Position)); } return(false); })); Exports.Add("IsCoordsInArea", new Func <string, float, float, float, bool>( (identifier, x, y, z) => { if (identifier != null && areas.ContainsKey(identifier)) { AreaBase area = areas[identifier]; return(area.CoordsInside(new Vector3 { X = x, Y = y, Z = z })); } return(false); })); Exports.Add("GetFirstAreaEntityIsIn", new Func <int, string>( (handle) => { Entity entity = Entity.FromHandle(handle); foreach (KeyValuePair <string, AreaBase> pair in areas) { if (pair.Value.CoordsInside(entity.Position)) { return(pair.Key); } } return(null); })); Exports.Add("GetFirstAreaCoordsIsIn", new Func <float, float, float, string>( (x, y, z) => { Vector3 coords = new Vector3 { X = x, Y = y, Z = z }; foreach (KeyValuePair <string, AreaBase> pair in areas) { if (pair.Value.CoordsInside(coords)) { return(pair.Key); } } return(null); })); Exports.Add("GetAreasEntityIsIn", new Func <int, object[]>( (handle) => { Entity entity = Entity.FromHandle(handle); List <string> result = new List <string>(); foreach (KeyValuePair <string, AreaBase> pair in areas) { if (pair.Value.CoordsInside(entity.Position)) { result.Add(pair.Key); } } return(result.ToArray()); })); Exports.Add("GetAreasCoordsIsIn", new Func <float, float, float, object[]>( (x, y, z) => { Vector3 coords = new Vector3 { X = x, Y = y, Z = z }; List <string> result = new List <string>(); foreach (KeyValuePair <string, AreaBase> pair in areas) { if (pair.Value.CoordsInside(coords)) { result.Add(pair.Key); } } return(result.ToArray()); })); Exports.Add("DeleteArea", new Action <string>( (identifier) => { if (identifier != null && areas.ContainsKey(identifier)) { areas.Remove(identifier); } })); Exports.Add("CreatePickup", new Func <dynamic, string, bool, bool, bool, int, int?, string, string, dynamic, int>( (position, model, isDynamic, onGround, deleteOnAction, eventActionType, control, helpText, callBack, parameters) => { EventAction action = new EventAction { Type = (EventActionType)eventActionType, Callback = callBack }; if (!String.IsNullOrEmpty(helpText)) { action.HelpText = helpText; } if (control != null) { action.Control = (Control)control; } if (parameters != null) { action.Params = parameters; } return(CreatePickup( new Vector3 { X = float.Parse(position.X.ToString()), Y = float.Parse(position.Y.ToString()), Z = float.Parse(position.Z.ToString()) }, new Model(model), isDynamic, onGround, deleteOnAction, action )); })); Exports.Add("DeletePickup", new Action <int>( (NetHandle) => { CustomPickup pickup = pickups.SingleOrDefault(p => p.NetHandle == NetHandle); if (pickup != null) { pickup.Delete(); } })); Exports.Add("ShowNotification", new Action <string>( (text) => { ShowNotification(text); })); EventHandlers["getMapDirectives"] += new Action <dynamic>(this.GetMapDirective); EventHandlers["FTools:PickupCreated"] += new Action <dynamic>(this.CreateNetPickup); EventHandlers["FTools:PickupDeleted"] += new Action <int>(this.DeleteNetPickup); EventHandlers["FTools:PickupTriggered"] += new Action <int>(this.PickupTriggered); EventHandlers["playerSpawned"] += new Action <dynamic>(this.PlayerSpawned); }
public bool KeyEvent(AreaBase area, ref AreaKeyEvent keyEvent) { return(false); }
public void DragBroken(AreaBase area) { }
public void Draw(AreaBase area, ref AreaDrawParams param) { }
public void DragBroken(AreaBase area) { //throw new NotImplementedException(); }
public void refreshControl(AreaBase theSaddle, long baySpaceX, long baySpaceY, int panelWidth, int panelHeight, bool xAxisRight, bool yAxisDown, Panel panel, conArea _conArea) { try { areaBase = theSaddle; //计算X方向上的比例关系 double xScale = Convert.ToDouble(panelWidth) / Convert.ToDouble(baySpaceX); double location_X = 0; if (xAxisRight == true) { location_X = Convert.ToDouble(theSaddle.X_Start) * xScale; } else { location_X = Convert.ToDouble(baySpaceX - (theSaddle.X_End)) * xScale; } //计算y方向上的比例关系 double yScale = Convert.ToDouble(panelHeight) / Convert.ToDouble(baySpaceY); double location_Y = 0; if (yAxisDown == true) { location_Y = Convert.ToDouble(theSaddle.Y_Start) * yScale; } else { location_Y = Convert.ToDouble(baySpaceY - (theSaddle.Y_End)) * yScale; } if (location_Y < 0) { location_Y = 0; } //定位库区的坐标 this.Location = new Point(Convert.ToInt32(location_X), Convert.ToInt32(location_Y)); //设置鞍座控件的宽度 this.Width = Convert.ToInt32((theSaddle.X_End - theSaddle.X_Start) * xScale); //设置鞍座控件的高度 this.Height = Convert.ToInt32((theSaddle.Y_End - theSaddle.Y_Start) * yScale); //当控件的宽小于1时 不显示控件 if (this.Width < 1) { this.Visible = false; } if (theSaddle.AreaType == 0) { if (!isCreateLbl) { lbl.Name = theSaddle.AreaNo; lbl.BackColor = Color.MediumAquamarine; lbl.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); lbl.Width = 95; lbl.Height = 100; lbl.ForeColor = Color.Black; lbl.Click += conArea_Click; _conArea.Controls.Add(lbl); // List<int> list = rowInfo.getAreaNoRow(areaBase.AreaNo) as List<int>; // lblRuler = rowInfo.getAreaRowsInfo(list); isCreateLbl = true; } if (panel.Width < 1400) { lbl.Width = 60; lbl.Height = 20; //lbl.Text = lblRuler; } else { lbl.Width = 95; lbl.Height = 100; lbl.Text = "鞍座总数:" + theSaddle.AreaSaddleNum + "\n" + "白库位: " + theSaddle.AreaSaddleNoCoilNum + "\n" + "黑库位: " + theSaddle.AreaSaddleCoilNum + "\n" + "红库位: " + (theSaddle.AreaSaddleNum - theSaddle.AreaSaddleNoCoilNum - theSaddle.AreaSaddleCoilNum); } //设置显示的颜色(包括安全门) //if (theSaddle.AreaDoorSefeValue == 0 && theSaddle.AreaDoorReserveValue == 0) // this.BackColor = System.Drawing.Color.Red; //else if (theSaddle.AreaDoorSefeValue == 0 && theSaddle.AreaDoorReserveValue == 1) // this.BackColor = System.Drawing.Color.Blue; //else if (theSaddle.AreaDoorSefeValue == 1 && theSaddle.AreaDoorReserveValue == 1) // this.BackColor = System.Drawing.Color.Yellow; //else this.BackColor = System.Drawing.Color.DarkSeaGreen; lbl.Location = new Point(this.Width / 2 - 30, this.Height / 2 - 20); lbl.BackColor = this.BackColor; } else if (theSaddle.AreaType == 1) //通道 { this.BackColor = Color.LightSlateGray; } else if (theSaddle.AreaType == 2) //运输链 { this.BackColor = Color.SandyBrown; } else if (theSaddle.AreaType == 4) //机组出口 { this.BackColor = Color.MediumPurple; } else if (theSaddle.AreaType == 5) //机组入口 { this.BackColor = Color.MediumSlateBlue; } else { this.BackColor = Color.Coral; } } catch (Exception ex) { LogManager.WriteProgramLog(ex.Message); LogManager.WriteProgramLog(ex.StackTrace); } }
public void MouseEvent(AreaBase area, ref AreaMouseEvent mouseEvent) { Console.WriteLine(mouseEvent.IsDownEvent() + "," + mouseEvent.IsUpEvent() + "(" + mouseEvent.X + "," + mouseEvent.Y + ")"); }
public void MouseEvent(AreaBase area, ref AreaMouseEvent e) { tareas ta = new tareas(); lastx = e.X; lasty = e.Y; filltareas(e.AreaWidth, e.AreaHeight, ta); // redraw our highlighted rect area.QueueReDrawAll(); if (e.Down != 1) { return; } if (ta.move.isIn || ta.alsomove.isIn) { area.BeginUserWindowMove(); return; } if (ta.leftresize.isIn) { area.BeginUserWindowResize(WindowResizeEdge.Left); return; } if (ta.topresize.isIn) { area.BeginUserWindowResize(WindowResizeEdge.Top); return; } if (ta.rightresize.isIn) { area.BeginUserWindowResize(WindowResizeEdge.Right); return; } if (ta.bottomresize.isIn) { area.BeginUserWindowResize(WindowResizeEdge.Bottom); return; } if (ta.topleftresize.isIn) { area.BeginUserWindowResize(WindowResizeEdge.TopLeft); return; } if (ta.toprightresize.isIn) { area.BeginUserWindowResize(WindowResizeEdge.TopRight); return; } if (ta.bottomleftresize.isIn) { area.BeginUserWindowResize(WindowResizeEdge.BottomLeft); return; } if (ta.bottomrightresize.isIn) { area.BeginUserWindowResize(WindowResizeEdge.BottomRight); return; } if (ta.close.isIn) { // TODO return; } }
public void DragBroken(AreaBase area) { Console.WriteLine("drag broken"); }
public void MouseCrossed(AreaBase area, int left) { Console.WriteLine($"mouse crossed {left}"); }
public void MouseEvent(AreaBase area, ref AreaMouseEvent mouseEvent) { Console.WriteLine($"mouse ({mouseEvent.X},{mouseEvent.Y}):({mouseEvent.AreaWidth},{mouseEvent.AreaHeight}) down:{mouseEvent.Down} up:{mouseEvent.Up} count:{mouseEvent.Count} mods:{mouseEvent.Modifiers} held:0x{mouseEvent.Held1To64:X}"); }
public void Draw(AreaBase area, ref AreaDrawParams param) { var index = _owner._which.SelectedIndex; DrawTests.RunDrawTest(index, ref param); }
public bool KeyEvent(AreaBase area, ref AreaKeyEvent keyEvent) { Console.WriteLine(keyEvent.ToString()); return(true); }
public void MouseCrossed(AreaBase area, bool left) { //throw new NotImplementedException(); }
private void LeaveRevealArea(AreaBase area) { StopSound(); }
public bool KeyEvent(AreaBase area, ref AreaKeyEvent keyEvent) { //throw new NotImplementedException(); return(false); }
private void LeaveInteractionArea(AreaBase area) { CameraManager.Disable(); _interactionFlag = TreasureFlags.None; }
private void LeaveAudioClueArea(AreaBase area) { StopSound(); }
public void MouseCrossed(AreaBase area, bool left) { }
private void LeaveInteractionArea(AreaBase area) { CameraManager.Disable(); }
public string DoResume(ushort hoursRemaining, AreaBase currentArea) { didResume = true; return(onInterruptCallback?.Invoke(hoursRemaining, currentArea)); }