bool CanShow(VisibilityFlags flags) { var obj = Object; var dt = obj as DataType; var member = obj as Member; var block = obj as Block; var mp = obj as MetaProperty; return(!(flags.HasFlag(VisibilityFlags.PublicOnly) && ( dt != null && !dt.IsPublic || member != null && !member.IsPublic || mp != null && !mp.IsPublic || block != null && !block.IsPublic || block == null && this is BlockItem || this is DefinitionCollection) || flags.HasFlag(VisibilityFlags.ProjectOnly) && this is PackageItem && !((PackageItem)this).Package.Flags.HasFlag(SourcePackageFlags.Startup) || Children.Count == 0 && ( this is ReferenceCollection || this is ResourceCollection || this is ParameterizationCollection || this is DefinitionCollection || this is OverloadCollection || this is FolderBase ))); }
public VisibilityFlagsHolder(int sizeX, int sizeY, int sizeZ) { _x = sizeX; _y = sizeY; _z = sizeZ; Data = new VisibilityFlags[sizeX * sizeY * sizeZ]; }
public static void SetTabBarVisibility(VisibilityFlags flag) { _tabLayout.Visibility = flag switch { VisibilityFlags.Invisible => ViewStates.Gone, VisibilityFlags.Visible => ViewStates.Visible, _ => _tabLayout.Visibility }; }
//animated showing Run Bar public static void SetRunBarVisibility(VisibilityFlags flag) { switch (flag) { case VisibilityFlags.Invisible: _runBar.Animate().TranslationY(250); AnimatedListResizing(_lstMinHeight, _lstMaxHeight); break; case VisibilityFlags.Visible: _runBar.Animate().TranslationY(0); AnimatedListResizing(_lstMaxHeight, _lstMinHeight); break; } }
public string GetText(Disassembler disasm, VisibilityFlags flags) { try { disasm.Clear(); Disassemble(disasm, flags.HasFlag(VisibilityFlags.PublicOnly)); } catch (Exception e) { disasm.AppendLine(); disasm.Append(e); disasm.AppendLine(); } return(disasm.GetText()); }
public void UpdateVisibility(VisibilityFlags flags) { IsVisible = CanShow(flags); if (!IsVisible) { return; } foreach (var c in Children) { c.UpdateVisibility(flags); } int childCount = GetVisibleChildCount(); if (this is NamespaceItem || this is ParameterizationCollection || this is ReferenceCollection || this is ResourceCollection || this is FolderBase) { Suffix = "(" + childCount + ( this is FolderBase || this is ResourceCollection ? " file" : this is ReferenceCollection ? " package" : " item" ) + ( childCount != 1 ? "s" : null ) + ")"; OnPropertyChanged("HasSuffix"); OnPropertyChanged("Suffix"); } }
public void UpdateVisualizer() { if (Window == null || !Window.IsVisible) { return; } if (!ZetaDia.IsInGame) { return; } using (new PerformanceLogger("Visualizer Update")) { if (DateTime.UtcNow.Subtract(LastRefresh).TotalMilliseconds <= RefreshRateMs || IsPaused) { return; } LastRefresh = DateTime.UtcNow; var objects = Core.Targets.ToList(); foreach (var obj in objects) { obj.Position = obj.Position; } var queryableObjects = ApplySort(objects.AsQueryable()); Objects = new ObservableCollection <TrinityActor>(queryableObjects); if (VisibilityFlags.HasFlag(RadarVisibilityFlags.NotInCache)) { if (DateTime.UtcNow.Subtract(LastUpdatedNotInCacheObjects).TotalMilliseconds > 150) { NotInCacheObjects = new List <TrinityActor>(Core.Targets.Ignored); LastUpdatedNotInCacheObjects = DateTime.UtcNow; } } else { NotInCacheObjects.Clear(); } //if (!IsMouseOverGrid) //{ switch (SelectedTab) { case Tab.Actors: var allobjects = new List <TrinityActor>(Objects); allobjects.AddRange(NotInCacheObjects); AllObjects = new ObservableCollection <TrinityActor>(allobjects); break; case Tab.Markers: AllMarkers = new ObservableCollection <TrinityMarker>(Core.Markers); break; case Tab.Minimap: AllMinimap = new ObservableCollection <TrinityMinimapIcon>(Core.Minimap.MinimapIcons); break; } //} //else //{ // Core.Logger.Verbose("Skipping grid update so grid items can be clicked properly"); //} CurrentTarget = TrinityCombat.Targeting.CurrentTarget; Player = Core.Player.Actor; if (Player != null) { PlayerPositionX = Player.Position.X; PlayerPositionY = Player.Position.Y; PlayerPositionZ = Player.Position.Z; WorldSnoId = Core.Player.WorldSnoId; LevelAreaSnoId = Core.Player.LevelAreaId; PlayerRotation = MathUtil.RadianToDegree(Player.Rotation); IsStuck = Navigator.StuckHandler.IsStuck; IsBlocked = PlayerMover.IsBlocked; OnPropertyChanged(nameof(Player)); } if (!_listeningForStatChanges) { AddStatChangerListeners(); } OnPropertyChanged(nameof(CurrentTarget)); //OnPropertyChanged(nameof(SelectedObject)); } }
public static void Unset(VisibilityFlags flags, VisibilityFlags flag) { flags = (flags & (~flag)); }
public static void Set(ref VisibilityFlags flags, VisibilityFlags flag) { flags = (flags | flag); }
public static bool IsSet(this VisibilityFlags flags, VisibilityFlags flag) { return((flags & flag) != 0); }
public static void GenerateFullBlockSimple(GeneratableMesh meshInfo, BlockDescription desc, BlockData data, Vector3 rootPos, VisibilityFlags visibility, LightInfo light) { var pointer = meshInfo.Vertices.Count; var tile = desc.Subtypes[Mathf.Clamp(data.Subtype, 0, desc.Subtypes.Count - 1)].FaceTiles[0]; var uvs = GetCachedUVsForTile(tile); var h = (byte)(data.AddColor >> 8); var l = (byte)(data.AddColor % 256); if (VisibilityFlagsHelper.IsSet(visibility, VisibilityFlags.Backward)) { var calcColor = new Color32(light.SunBackward, light.OBackward, h, l); AddPlaneWithUVs(meshInfo, _fullBlockBackSide, uvs, rootPos, pointer, calcColor); pointer += 4; } if (VisibilityFlagsHelper.IsSet(visibility, VisibilityFlags.Forward)) { var calcColor = new Color32(light.SunForward, light.OForward, h, l); AddPlaneWithUVs(meshInfo, _fullBlockFrontSide, uvs, rootPos, pointer, calcColor); pointer += 4; } if (VisibilityFlagsHelper.IsSet(visibility, VisibilityFlags.Left)) { var calcColor = new Color32(light.SunLeft, light.OLeft, h, l); AddPlaneWithUVs(meshInfo, _fullBlockLeftSide, uvs, rootPos, pointer, calcColor); pointer += 4; } if (VisibilityFlagsHelper.IsSet(visibility, VisibilityFlags.Right)) { var calcColor = new Color32(light.SunRight, light.ORight, h, l); AddPlaneWithUVs(meshInfo, _fullBlockRightSide, uvs, rootPos, pointer, calcColor); pointer += 4; } if (VisibilityFlagsHelper.IsSet(visibility, VisibilityFlags.Up)) { var calcColor = new Color32(light.SunUp, light.OUp, h, l); AddPlaneWithUVs(meshInfo, _fullBlockUpSide, uvs, rootPos, pointer, calcColor); pointer += 4; } if (VisibilityFlagsHelper.IsSet(visibility, VisibilityFlags.Down)) { var calcColor = new Color32(light.SunDown, light.ODown, h, l); AddPlaneWithUVs(meshInfo, _fullBlockDownSide, uvs, rootPos, pointer, calcColor); pointer += 4; } }
public static void GenerateCrossedVPlanes(GeneratableMesh meshInfo, BlockDescription desc, BlockData data, Vector3 rootPos, VisibilityFlags visibility) { var pointer = meshInfo.Vertices.Count; var tile = desc.Subtypes[Mathf.Clamp(data.Subtype, 0, desc.Subtypes.Count - 1)].FaceTiles[0]; var calcColor = new Color32(data.SunLevel, data.LightLevel, (byte)(data.AddColor >> 8), (byte)(data.AddColor % 256)); AddPlane(meshInfo, _rotVertPlaneVerts_0, tile, rootPos, pointer, calcColor); pointer += 4; AddPlane(meshInfo, _rotVertPlaneVerts_1, tile, rootPos, pointer, calcColor); pointer += 4; AddPlaneInv(meshInfo, _rotVertPlaneVerts_0, _helper, tile, rootPos, pointer, calcColor); pointer += 4; AddPlaneInv(meshInfo, _rotVertPlaneVerts_1, _helper, tile, rootPos, pointer, calcColor); pointer += 4; }
//Неполные блоки не рисуем только если они полностью ограждены полными блоками. public static void GenerateHorizontalPlane(GeneratableMesh meshInfo, BlockDescription desc, BlockData data, Vector3 rootPos, VisibilityFlags visibility) { if (visibility == VisibilityFlags.None) { return; } var pointer = meshInfo.Vertices.Count; var h = (byte)(data.AddColor >> 8); var l = (byte)(data.AddColor % 256); var calcColor = new Color32(data.SunLevel, data.LightLevel, h, l); AddPlane(meshInfo, _horizontalPlaneVerts, desc.Subtypes[Mathf.Clamp(data.Subtype, 0, desc.Subtypes.Count - 1)].FaceTiles[0], rootPos, pointer, calcColor); }
public static void GenerateHalfBlockDown(GeneratableMesh meshInfo, BlockDescription desc, BlockData data, Vector3 rootPos, VisibilityFlags visibility, LightInfo light) { var pointer = meshInfo.Vertices.Count; var sub = desc.Subtypes[Mathf.Clamp(data.Subtype, 0, desc.Subtypes.Count - 1)]; var h = (byte)(data.AddColor >> 8); var l = (byte)(data.AddColor % 256); if (VisibilityFlagsHelper.IsSet(visibility, VisibilityFlags.Backward)) { var calcColor = new Color32(light.SunBackward, light.OBackward, h, l); AddPlane(meshInfo, _halfBlockDBackSide, sub.FaceTiles[0], rootPos, pointer, calcColor); pointer += 4; } if (VisibilityFlagsHelper.IsSet(visibility, VisibilityFlags.Forward)) { var calcColor = new Color32(light.SunForward, light.OForward, h, l); AddPlane(meshInfo, _halfBlockDFrontSide, sub.FaceTiles[1], rootPos, pointer, calcColor); pointer += 4; } if (VisibilityFlagsHelper.IsSet(visibility, VisibilityFlags.Left)) { var calcColor = new Color32(light.SunLeft, light.OLeft, h, l); AddPlane(meshInfo, _halfBlockDLeftSide, sub.FaceTiles[2], rootPos, pointer, calcColor); pointer += 4; } if (VisibilityFlagsHelper.IsSet(visibility, VisibilityFlags.Right)) { var calcColor = new Color32(light.SunRight, light.ORight, h, l); AddPlane(meshInfo, _halfBlockDRightSide, sub.FaceTiles[3], rootPos, pointer, calcColor); pointer += 4; } if (VisibilityFlagsHelper.IsSet(visibility, VisibilityFlags.Up)) { var calcColor = new Color32(light.SunUp, light.OUp, h, l); AddPlane(meshInfo, _halfBlockDUpside, sub.FaceTiles[4], rootPos, pointer, calcColor); pointer += 4; } if (VisibilityFlagsHelper.IsSet(visibility, VisibilityFlags.Down)) { var calcColor = new Color32(light.SunDown, light.ODown, h, l); AddPlane(meshInfo, _fullBlockDownSide, sub.FaceTiles[5], rootPos, pointer, calcColor); pointer += 4; } }
public VisibilityMode(string name, VisibilityFlags flags) { Name = name; Flags = flags; }