private void CheckForTransparency(object sender, MouseHoverTile.OnHoverTileChangedArgs args) { if (!transparentHover) { return; } if (args.HoverTileUi == null) { TurnOpaque(); return; } var camPos = _mainCamera.transform.position; var propPos = transform.position; var mousePos = args.HoverTileUi.transform.position; if (camPos.x < propPos.x && mousePos.x > propPos.x && Vector3.Distance(mousePos, propPos) < 3.0F || camPos.z < propPos.z && mousePos.z > propPos.z && Vector3.Distance(mousePos, propPos) < 3.0F) { TurnTransparent(); } else { TurnOpaque(); } }
private void DrawIcons(object sender, MouseHoverTile.OnHoverTileChangedArgs args) { DestroyAll(); if (args.HoverTileUi == null) { return; } var hoverTile = MapTile.GetMapTileFromUi(args.HoverTileUi); var iconTiles = hoverTile.GetAdjacentTiles(true).Values.ToList(); iconTiles.Add(hoverTile); foreach (var iconTile in iconTiles) { if (iconTile == null) { continue; } var tileCover = iconTile.Cover; foreach (var coverType in tileCover) { CreateIcon(iconTile, coverType.Key, coverType.Value, iconTile == hoverTile); } } }
private static void UpdateUi(object sender, MouseHoverTile.OnHoverTileChangedArgs args) { if (args.HoverTileUi == null) { RouteLine.DestroyMoveLine(); _hoverTile = null; return; } _hoverTile = MapTile.GetMapTileFromUi(args.HoverTileUi); UpdateMovementUi(); }
private void RefreshArc(object sender, MouseHoverTile.OnHoverTileChangedArgs args) { if (args.HoverTileUi == null) { Object.Destroy(_arcTarget); MapTile.UnhighlightAllTiles(); Unit.ActiveUnit.selectedMapTile = null; return; } if (Vector3.Distance(args.HoverTileUi.transform.position, Unit.ActiveUnit.GetCurrentMapTile().UiTile.transform.position) > _throwRange) { return; } Unit.ActiveUnit.selectedMapTile = MapTile.GetMapTileFromUi(args.HoverTileUi); Object.Destroy(_arcTarget); MapTile.UnhighlightAllTiles(); Unit.ActiveUnit.LookAtGameObject(args.HoverTileUi); _arcTarget = new GameObject { name = "ThrowTarget" }; var lineRenderer = _arcTarget.AddComponent <LineRenderer>(); lineRenderer.positionCount = 16; var startPos = Unit.ActiveUnit.transform.position; startPos.y += 0.9F; lineRenderer.SetPositions(CalculateArcArray(startPos, args.HoverTileUi.transform.position)); lineRenderer.useWorldSpace = false; lineRenderer.startColor = new Color32(121, 187, 191, 200); lineRenderer.endColor = new Color32(121, 187, 191, 200); lineRenderer.material = new Material(Shader.Find("Legacy Shaders/Particles/Alpha Blended Premultiply")); lineRenderer.startWidth = 0.05F; lineRenderer.endWidth = 0.05F; var areaOfEffectTiles = FindAOETiles(args.HoverTileUi, _blastAreaOfEffect, _shrapnelAreaOfEffect); MapTile.HighlightMultipleTiles(areaOfEffectTiles.Item1, _blastColor); MapTile.HighlightMultipleTiles(areaOfEffectTiles.Item2, _shrapnelColor); }
private void RefreshCone(object sender, MouseHoverTile.OnHoverTileChangedArgs args) { Object.Destroy(_coneTarget); MapTile.UnhighlightAllTiles(); if (args.HoverTileUi == null) { return; } Unit.ActiveUnit.LookAtGameObject(args.HoverTileUi); Unit.ActiveUnit.selectedMapTile = MapTile.GetMapTileFromUi(args.HoverTileUi); var conePos = Unit.ActiveUnit.transform.position; var coneRot = Unit.ActiveUnit.transform.rotation; conePos.y += 0.1F; _coneTarget = new GameObject { name = "ConeTarget" }; _coneTarget.transform.position = conePos; _coneTarget.transform.rotation = coneRot; DrawCone(13, 90); MapTile.HighlightMultipleTiles(FindTilesInCone(), Color.white); }