public void SetActive(UIPart part, bool active) { if (active) { activeParts |= part; } else { activeParts &= ~part; } if (activeParts == UIPart.None) { this.GetTree().Paused = false; Input.SetMouseMode(Input.MouseMode.Captured); } else { this.GetTree().Paused = true; Input.SetMouseMode(Input.MouseMode.Visible); } if (IsActive(UIPart.Pause)) { this.PauseMode = PauseModeEnum.Stop; } else { this.PauseMode = PauseModeEnum.Process; } ActiveUIPartsChanged?.Invoke(); }
/// <summary> /// This is general task method, here is described logic of types behavior. /// </summary> /// <param name="view">Type of class, which response for input/output information in program.</param> public void Run(IInformation view) { UIPart.Writer = view; List <IDrawable> drawFigures = new List <IDrawable>(); IDrawable coordinateSystem = new CoordinateSystem(view); List <IChangeable> objects = new List <IChangeable>() { new Circle(view, 5), new Rectangle(view, 12, 10, new Point(1, 3)), }; ObjectController.ObjectCount = objects.Count; foreach (var obj in objects) { drawFigures.Add(obj); } UIPart.DrawLine(); coordinateSystem.Draw(); do { foreach (var obj in drawFigures) { obj.Draw(); } var keyInfo = view.ReadKey(true); view.Clear(CoordinateSystem.EndOfUserUI); foreach (var obj in drawFigures) { obj.Draw(' '); } try { ObjectController.ObjectAction(objects[ObjectController.CurrentObject], keyInfo); } catch (NullReferenceException e) { UIPart.PrintString(e.Message); } UIPart.PrintStats(objects[ObjectController.CurrentObject]); }while (true); }
public SCCDetail(UIPart uip, int num) : base("SCCDetail", UIGroup.Dialog, UIPreset.BackVisible | UIPreset.BackTouchable) { gameManager = GameObject.Find("GameManager").GetComponent <GameManager>(); m_uip = uip; this.num = num; }
public bool IsActive(UIPart part) => (activeParts & part) != 0;