public bool IsTargeted(Loc tile, TileAlignment tileAlignment) { if (!Collision.InBounds(ZoneManager.Instance.CurrentMap.Width, ZoneManager.Instance.CurrentMap.Height, tile)) { return(false); } if (tileAlignment == TileAlignment.None) { return(false); } if (tileAlignment == TileAlignment.Any) { return(true); } uint mobility = 0; mobility |= (1U << (int)TerrainData.Mobility.Lava); mobility |= (1U << (int)TerrainData.Mobility.Water); mobility |= (1U << (int)TerrainData.Mobility.Abyss); if (ZoneManager.Instance.CurrentMap.TileBlocked(tile, mobility)) { return(true); } else { return(false); } }
IEnumerator ReturnToInitialAlignment() { yield return(new WaitForSeconds(10)); tileAlignment = initialAlignment; SetColour(initialMaterialColour); }
public void ChangeAlignment(Color c, TileAlignment _t) { StopCoroutine(ReturnToInitialAlignment()); SetColour(c, false); tileAlignment = _t; StartCoroutine(ReturnToInitialAlignment()); }
public StaticHitbox(Character user, Alignment targetAlignments, bool hitTiles, TileAlignment burstTiles, Loc origin, FiniteEmitter tileEmitter, FiniteEmitter emitter, int delay) : base(user, origin * GraphicsManager.TileSize, tileEmitter, delay) { TargetAlignments = targetAlignments; HitTiles = hitTiles; BurstTiles = burstTiles; Origin = origin; Emitter = (FiniteEmitter)emitter.Clone(); Emitter.SetupEmit(MapLoc, user.MapLoc, user.CharDir); }
public CircleSquareHitbox(Character user, Alignment targetAlignments, bool hitTiles, TileAlignment burstTiles, Loc origin, FiniteEmitter tileEmitter, CircleSquareEmitter emitter, int maxRadius, int speed, int delay, AreaLimit hitArea, Dir8 dir) : base(user, origin * GraphicsManager.TileSize, tileEmitter, delay) { TargetAlignments = targetAlignments; HitTiles = hitTiles; BurstTiles = burstTiles; Origin = origin; MaxRadius = maxRadius; Speed = (speed > 0) ? speed : Math.Max(1, (int)Math.Ceiling(MaxRadius * 1.4142136 * GraphicsManager.MAX_FPS)); HitArea = hitArea; Dir = dir; Emitter = (CircleSquareEmitter)emitter.Clone(); Emitter.SetupEmit(MapLoc, user.CharDir, HitArea, MaxRadius * GraphicsManager.TileSize + GraphicsManager.TileSize / 2, Speed * GraphicsManager.TileSize); }
public TileText( string text, int fontSize, TileSize backgroundSize, Color backgroundColor, TileAlignment alignment, TilePosition position, int marginHorizontal, int marginVertical, bool visible) { Text = text; FontSize = fontSize; BackgroundSize = backgroundSize; BackgroundColor = backgroundColor; Alignment = alignment; Position = position; MarginHorizontal = marginHorizontal; MarginVertical = marginVertical; Visible = visible; }
public TileIcon( string name, TileSize backgroundSize, Color backgroundColor, string folder, int iconSize, TileAlignment alignment, TilePosition position, int marginHorizontal, int marginVertical, bool visible) { Name = name; BackgroundSize = backgroundSize; BackgroundColor = backgroundColor; Folder = folder; Size = iconSize; Alignment = alignment; Position = position; MarginHorizontal = marginHorizontal; MarginVertical = marginVertical; Visible = visible; }
public StatusBarTile(TileAlignment alignment) { Alignment = alignment; }
private void OnGUI() { if (!initiated) { Init(); } DrawSeparator(1, 5.0f); GUI.enabled = _Textures.Count > 1 && _Textures.FindAll((tex) => tex != null).Count > 1; if (GUILayout.Button("Execute!")) { // Clear Null and Duplicated EditorGUIUtility.AddCursorRect(position, MouseCursor.Orbit); _Textures.RemoveAll((txm) => txm == null); Execute(); } GUI.enabled = true; DrawSeparator(1, 5.0f); var allowDup = EditorGUILayout.Toggle("Allow Duplicates", AllowDuplicates); if (AllowDuplicates != allowDup && !(AllowDuplicates = allowDup)) { _Textures = _Textures.Distinct().ToList(); } DrawSeparator(1, 5.0f); _TileSize = (TileSize)EditorGUILayout.EnumPopup("Tile Size", _TileSize); GUI.enabled = _TileSize != TileSize.Auto; EditorGUILayout.BeginHorizontal(); var new_Scale = EditorGUILayout.Vector2IntField(new GUIContent("", "Scale in X:With Y:Height"), g_Scale); KeepRatio = EditorGUILayout.Toggle(KeepRatio, GUILayout.Width(15)); EditorGUILayout.EndHorizontal(); g_Scale = (KeepRatio) ? new Vector2Int(Mathf.Max(1, new_Scale.x + (new_Scale.y - g_Scale.y)), Mathf.Max(1, new_Scale.y + (new_Scale.x - g_Scale.x))) : new Vector2Int(Mathf.Max(1, new_Scale.x), Mathf.Max(1, new_Scale.y)); GUI.enabled = true; DrawSeparator(1, 5.0f); _TileAlignment = (TileAlignment)EditorGUILayout.EnumPopup("Tile Alignment", _TileAlignment); GUI.enabled = _TileAlignment == TileAlignment.CustomGrid; if (_TileAlignment == TileAlignment.Vertically) { g_Columns = 1; } if (_TileAlignment == TileAlignment.Horizontally) { g_Columns = _Textures.Count; } g_Columns = Mathf.Max(EditorGUILayout.IntField("Columns", g_Columns), 1); GUI.enabled = false; EditorGUILayout.IntField("Rows (Auto)", g_Rows); GUI.enabled = true; DrawSeparator(1, 5.0f); var foldRect = GUILayoutUtility.GetRect(new GUIContent("Texture 2D List"), EditorStyles.foldout); if (foldRect.Contains(Event.current.mousePosition)) { if (Event.current.type == EventType.DragUpdated) { DragAndDrop.visualMode = DragAndDropVisualMode.Copy; Event.current.Use(); } else if (Event.current.type == EventType.DragPerform) { for (int i = 0; i < DragAndDrop.objectReferences.Length; i++) { var obj = DragAndDrop.objectReferences[i] as Texture2D; if (obj != null && (AllowDuplicates || !_Textures.Contains(obj))) { var idx = _Textures.IndexOf(null); if (idx < 0) { _Textures.Add(obj); } else { _Textures[idx] = obj; } } } Event.current.Use(); } } if (TexturesFoldout = EditorGUI.Foldout(foldRect, TexturesFoldout, "Texture 2D List")) { EditorGUILayout.BeginHorizontal(); GUILayout.Space(15); int newCount = Mathf.Min(Mathf.Max(0, EditorGUILayout.IntField("Count", _Textures.Count)), 100); if (GUILayout.Button("C", EditorStyles.miniButton, GUILayout.Width(20))) { _Textures.Clear(); newCount = 0; } EditorGUILayout.EndHorizontal(); DrawSeparator(1, 0.0f); scrollPos = EditorGUILayout.BeginScrollView(scrollPos); while (newCount < _Textures.Count) { _Textures.RemoveAt(_Textures.Count - 1); } while (newCount > _Textures.Count) { _Textures.Add(null); } for (int i = 0; i < _Textures.Count; i++) { EditorGUILayout.BeginHorizontal(); GUILayout.Space(15); GUILayout.Label($"Item {i}", GUILayout.Width(50)); bool move_up = GUILayout.Button("\u2191", EditorStyles.miniButton, GUILayout.Width(15)); bool move_down = GUILayout.Button("\u2193", EditorStyles.miniButton, GUILayout.Width(15)); _Textures[i] = (Texture2D)EditorGUILayout.ObjectField(_Textures[i], typeof(Texture2D), false, GUILayout.MaxHeight(16)); bool remove = GUILayout.Button("X", EditorStyles.miniButton, GUILayout.Width(20)); EditorGUILayout.EndHorizontal(); if (remove) { if (_Textures[i] != null) { _Textures[i] = null; } else { _Textures.RemoveAt(i); } return; } if (move_up || move_down) { int indexA = i; int indexB = Mathf.Max(Mathf.Min(i + ((move_up) ? -1 : 1), _Textures.Count - 1), 0); var tmp = _Textures[indexA]; _Textures[indexA] = _Textures[indexB]; _Textures[indexB] = tmp; } } EditorGUILayout.EndScrollView(); } DrawSeparator(1, 5.0f); DrawNetwork(); DrawSeparator(1, 5.0f); }
public void SetVariables() { column = (int)transform.position.x + 1; row = (int)transform.position.y + 1; initialAlignment = tileAlignment; }