private Ellipse BuildEllipseFromComponent(CanvasComponent component) { // Constructing ellipse from saved component details Ellipse ellipse = new Ellipse(); ellipse.Stroke = new SolidColorBrush(component.stroke); ellipse.StrokeThickness = component.strokeThickness; ellipse.Width = component.a * 2.0; ellipse.Height = component.b * 2.0; RotateTransform rotateTransform = new RotateTransform(); rotateTransform.Angle = component.rotAngle * 180 / Math.PI; rotateTransform.CenterX = component.a; rotateTransform.CenterY = component.b; TranslateTransform translateTransform = new TranslateTransform(); translateTransform.X = component.center.X - component.a; translateTransform.Y = component.center.Y - component.b; TransformGroup transformGroup = new TransformGroup(); transformGroup.Children.Add(rotateTransform); transformGroup.Children.Add(translateTransform); ellipse.RenderTransform = transformGroup; component.shape = ellipse; return(ellipse); }
public void Cache(WorldContext worldContext) { h0nckerAnimationComponents = worldContext.GetComponentsContainer <H0nckerAnimationComponent>(); vfxPoolComponent = worldContext.Get <VFXPoolComponent>(0); cameraComponent = worldContext.Get <CameraComponent>(0); canvasComponent = worldContext.Get <CanvasComponent>(0); antagonistComponent = worldContext.Get <AntagonistComponent>(0); }
public void Cache(WorldContext worldContext) { antagonistComponents = worldContext.GetComponentsContainer <AntagonistComponent>(); gameStateComponent = worldContext.Get <GameStateComponent>(0); vfxPoolComponent = worldContext.Get <VFXPoolComponent>(0); cameraComponent = worldContext.Get <CameraComponent>(0); canvasComponent = worldContext.Get <CanvasComponent>(0); }
private void DrawEllipse(InkAnalysisInkDrawing shape) { // Part of loading back the shapes, not working at the moment CanvasComponent ellipse = shapeHelper.BuildEllipse(shape); RemoveStrokes(shape); ellipse.shape.Stroke = new SolidColorBrush(currentBrush.Color); ellipse.stroke = new SolidColorBrush(currentBrush.Color).Color; ellipse.shape.StrokeThickness = currentBrush.Size.Width; ellipse.strokeThickness = currentBrush.Size.Width; components.Add(ellipse); AddShapeToCanvas?.Invoke(ellipse.shape); }
private void DrawPolygon(InkAnalysisInkDrawing shape) { // Part of loading back the shapes, not working at the moment CanvasComponent polygon = shapeHelper.BuildPolygon(shape); RemoveStrokes(shape); polygon.shape.Stroke = new SolidColorBrush(currentBrush.Color); polygon.stroke = new SolidColorBrush(currentBrush.Color).Color; polygon.shape.StrokeThickness = currentBrush.Size.Width; polygon.strokeThickness = currentBrush.Size.Width; components.Add(polygon); AddShapeToCanvas?.Invoke(polygon.shape); }
private Polygon BuildPolygonFromComponent(CanvasComponent component) { // Constructing polygon from saved component details Polygon polygon = new Polygon(); polygon.Stroke = new SolidColorBrush(component.stroke); polygon.StrokeThickness = component.strokeThickness; foreach (var point in component.points) { polygon.Points.Add(point); } component.shape = polygon; return(polygon); }
internal CanvasComponent BuildPolygon(InkAnalysisInkDrawing shape) { // From ink analysis result, constuct polygon CanvasComponent component = new CanvasComponent(CanvasComponent.ComponentType.Polygon); var points = shape.Points; Polygon polygon = new Polygon(); foreach (var point in points) { polygon.Points.Add(point); // Save polygin information in component for use when erasing and saving component.points.Add(point); } component.shape = polygon; return(component); }
public void Pay(float payment) { CardName = (int)(payment / 500 + 2); if (PlayerData.money >= payment) { PlayerData.money -= payment; PlayerData.IsCardBought[CardName - 1] = true; Login.UpdatePurchaseCardAndMoney(CardName - 1, PlayerData.money); BuyCards(); } else { foreach (Transform card in CardsCanvas.transform) { card.gameObject.SetActive(true); if (card.gameObject.name.Contains(CardName.ToString())) { foreach (Transform component in card.transform) { if (component.gameObject.name == "Canvas") { component.gameObject.SetActive(true); foreach (Transform CanvasComponent in component.transform) { if (CanvasComponent.gameObject.name == "LevelRequiredText") { CanvasComponent.gameObject.SetActive(true); CanvasComponent.GetComponent <Text>().text = "not enough money"; } if (CanvasComponent.gameObject.name == "BuyCard") { CanvasComponent.gameObject.SetActive(false); } } } if (component.gameObject.name == "LevelRequired") { component.gameObject.SetActive(false); } } } } } }
internal CanvasComponent BuildEllipse(InkAnalysisInkDrawing shape) { // From the ink analysis result, construct ellipse CanvasComponent component = new CanvasComponent(CanvasComponent.ComponentType.Ellipse); var points = shape.Points; Ellipse ellipse = new Ellipse(); ellipse.Width = Math.Sqrt((points[0].X - points[2].X) * (points[0].X - points[2].X) + (points[0].Y - points[2].Y) * (points[0].Y - points[2].Y)); ellipse.Height = Math.Sqrt((points[1].X - points[3].X) * (points[1].X - points[3].X) + (points[1].Y - points[3].Y) * (points[1].Y - points[3].Y)); var rotAngle = Math.Atan2(points[2].Y - points[0].Y, points[2].X - points[0].X); RotateTransform rotateTransform = new RotateTransform(); rotateTransform.Angle = rotAngle * 180 / Math.PI; rotateTransform.CenterX = ellipse.Width / 2.0; rotateTransform.CenterY = ellipse.Height / 2.0; TranslateTransform translateTransform = new TranslateTransform(); translateTransform.X = shape.Center.X - ellipse.Width / 2.0; translateTransform.Y = shape.Center.Y - ellipse.Height / 2.0; TransformGroup transformGroup = new TransformGroup(); transformGroup.Children.Add(rotateTransform); transformGroup.Children.Add(translateTransform); ellipse.RenderTransform = transformGroup; // Save ellipse information in component for use when erasing and saving component.a = ellipse.Width / 2.0; component.b = ellipse.Height / 2.0; component.rotAngle = rotAngle; var point = new Point(shape.Center.X, shape.Center.Y); component.center = point; component.shape = ellipse; return(component); }
public SkiUiScene(Action invalidateSurface, Func <Node, CameraComponent, Action, SkiUiComponent> createUiComponent) { _invalidateSurface = invalidateSurface; _canvasComponent = new CanvasComponent(); _cameraGroup = _canvasComponent.CreateCameraGroup(); _camera = _scene.RootNode .CreateChild() .AddComponent(new CameraComponent(_cameraGroup, 0)); _scene.RootNode.AddComponent(_canvasComponent); UiComponent = _scene.RootNode .CreateChild() .AddComponent(createUiComponent(_scene.RootNode, _camera, InvalidateSurface)) .AddToCamera(_camera); _scene.Start(); InvalidateSurface(); }
internal bool ShouldDelete(Point start, Point finish, CanvasComponent component) { bool startValue = true; bool finishValue = true; switch (component.type) { case CanvasComponent.ComponentType.Ellipse: startValue = PointInEllipse(start, component.a, component.b, component.center, component.rotAngle); finishValue = PointInEllipse(finish, component.a, component.b, component.center, component.rotAngle); break; case CanvasComponent.ComponentType.Polygon: startValue = PointInPolygon(start, component.points); finishValue = PointInPolygon(finish, component.points); break; default: break; } return(startValue ^ finishValue); // xor means line started outside, ended inside (vice versa) }
public CardState(CanvasComponent canvas) { this.Canvas = canvas; this.Init(); }
public void BuyCards() { foreach (Transform a in doorCanvas.transform) { a.gameObject.SetActive(false); if (a.gameObject.name == "return") { a.gameObject.SetActive(true); } } background.SetActive(false); CardsCanvas.SetActive(true); money.GetComponent <Text>().text = PlayerData.money + " coins"; level.GetComponent <Text>().text = "level " + PlayerData.Level; for (int i = 2; i < 10; i++) { if (PlayerData.Level >= i + 1) { if (PlayerData.IsCardBought[i] == true) { foreach (Transform card in CardsCanvas.transform) { card.gameObject.SetActive(true); if (card.gameObject.name.Contains((i + 1).ToString())) { foreach (Transform component in card.transform) { if (component.gameObject.name == "Canvas") { component.gameObject.SetActive(true); foreach (Transform CanvasComponent in component.transform) { if (CanvasComponent.gameObject.name == "LevelRequiredText") { CanvasComponent.gameObject.SetActive(true); CanvasComponent.GetComponent <Text>().text = "Sold"; } if (CanvasComponent.gameObject.name == "BuyCard") { CanvasComponent.gameObject.SetActive(false); } } } if (component.gameObject.name == "LevelRequired") { component.gameObject.SetActive(false); } } } } } else { foreach (Transform card in CardsCanvas.transform) { card.gameObject.SetActive(true); if (card.gameObject.name.Contains((i + 1).ToString())) { foreach (Transform component in card.transform) { if (component.gameObject.name == "Canvas") { component.gameObject.SetActive(true); foreach (Transform CanvasComponent in component.transform) { if (CanvasComponent.gameObject.name == "LevelRequiredText") { CanvasComponent.gameObject.SetActive(false); } if (CanvasComponent.gameObject.name == "BuyCard") { CanvasComponent.gameObject.SetActive(true); } } } if (component.gameObject.name == "LevelRequired") { component.gameObject.SetActive(false); } } } } } } else { foreach (Transform card in CardsCanvas.transform) { card.gameObject.SetActive(true); if (card.gameObject.name.Contains((i + 1).ToString())) { foreach (Transform component in card.transform) { component.gameObject.SetActive(false); if (component.gameObject.name == "Canvas") { component.gameObject.SetActive(true); foreach (Transform CanvasComponent in component.transform) { CanvasComponent.gameObject.SetActive(false); if (CanvasComponent.gameObject.name == "LevelRequiredText") { CanvasComponent.gameObject.SetActive(true); } } } if (component.gameObject.name == "LevelRequired") { component.gameObject.SetActive(true); } } } } } } }
internal CameraGroup(CanvasComponent canvasComponent) { CanvasComponent = canvasComponent; }
//public void Focus(bool prompt = false) //{ // this.Component.Canvas.JSRuntime.InvokeVoidAsync("setFocus", this.Component.GetTextID(), prompt); //} public async Task KeyDown(int key, CanvasComponent canvas, bool shiftKey) { if (!this.Editing) { return; } if (key == 37) // arrow left { this.Card.SelectionBehavior.MoveLeft(); await this.Card.SelectionBehavior.ExtentCaret(canvas); return; } if (key == 39) // arrow right { this.Card.SelectionBehavior.MoveRight(); await this.Card.SelectionBehavior.ExtentCaret(canvas); return; } if (key == 8 || key == 46) // backspace - delete { if (this.Card.SelectionBehavior.CorrectedBase == this.Card.SelectionBehavior.CorrectedExtent) { if (key == 46) { this.Value = this.Value.Remove(this.Card.SelectionBehavior.CorrectedExtent, 1); } else if (this.Card.SelectionBehavior.BaseOffset > 0) { this.Value = this.Value.Remove(this.Card.SelectionBehavior.CorrectedExtent - 1, 1); this.Card.SelectionBehavior.MoveLeft(); await this.Card.SelectionBehavior.ExtentCaret(canvas); } } else { this.Value = this.Value.Remove(this.Card.SelectionBehavior.CorrectedBase, this.Card.SelectionBehavior.CorrectedExtent - this.Card.SelectionBehavior.CorrectedBase); this.Card.SelectionBehavior.ExtentOffset = this.Card.SelectionBehavior.CorrectedBase; await this.Card.SelectionBehavior.ExtentCaret(canvas); } return; } //if (this.Selection != StringSelection.Empty) // this.Value = this.Selection.RemoveFrom(this.Value); if ((key < 48 || key > 122) && key != 32) { return; } if (!shiftKey && key != 32 && key <= 90) { key += 32; } this.Value = this.Value.Insert(this.Card.SelectionBehavior.ExtentOffset, ((char)key).ToString()); this.Card.SelectionBehavior.ExtentOffset += 1; this.Card.SelectionBehavior.BaseOffset = this.Card.SelectionBehavior.ExtentOffset; await this.Card.SelectionBehavior.ExtentCaret(canvas); }
public MainPage() { InitializeComponent(); _scene.Start(); // Canvas components _canvasComponent1 = _scene.RootNode.AddComponent(new CanvasComponent()); _canvasComponent2 = _scene.RootNode.AddComponent(new CanvasComponent()); // Camera groups _cameraGroup1 = _canvasComponent1.CreateCameraGroup(); _cameraGroup2 = _canvasComponent2.CreateCameraGroup(); // Cameras _camera1 = _scene.RootNode .CreateChild() .AddComponent(new CameraComponent(_cameraGroup1, 0)); _camera2 = _scene.RootNode .CreateChild(new SKPoint(50, 200), 0, (float)Math.PI / 8, new SKPoint(3, 3)) .AddComponent(new CameraComponent(_cameraGroup2, 0)); // Scribble _scene.RootNode .CreateChild() .AddComponent( new DrawableComponent( (canvas, camera) => { using ( var touchPathStroke = new SKPaint { IsAntialias = true, Style = SKPaintStyle.Stroke, Color = SKColors.Purple, StrokeWidth = 1 } ) { foreach (var touchPath in _temporaryPaths) { canvas.DrawPath(touchPath.Value, touchPathStroke); } foreach (var touchPath in _paths) { canvas.DrawPath(touchPath, touchPathStroke); } } } ) ) .AddToCamera(_camera1) .AddToCamera(_camera2); //Sprites var zeroSprite = CreateTileSprite(_scene.RootNode, new InitialNodeTransform()); var secondSprite = CreateTileSprite( zeroSprite.Node, new InitialNodeTransform(new SKPoint(50, 0), 0, (float)Math.PI / 2, new SKPoint(2, 2)) ); var thirdSprite = CreateTileSprite( secondSprite.Node, new InitialNodeTransform(new SKPoint(50, 0), 0, (float)Math.PI / 2, new SKPoint(2, 2)) ); var fourthSprite = CreateTileSprite( thirdSprite.Node, new InitialNodeTransform(new SKPoint(50, 0), 0, (float)Math.PI / 2, new SKPoint(2, 2)) ); }
/// <summary> /// Refreshes a component on the canvas. /// </summary> /// <param name="component">The canvas component to refresh.<param> public static void RefreshCanvasComponent(CanvasComponent component) { string componentIdentifier; switch (component) { case CanvasComponent.Achievements: componentIdentifier = "achievements"; break; case CanvasComponent.ActivityFeed: componentIdentifier = "activityFeed"; break; case CanvasComponent.Inventory: componentIdentifier = "inventory"; break; case CanvasComponent.Leaderboard: componentIdentifier = "leaderboard"; break; default: Debug.LogError("Attempting to update an unknown canvas component"); return; } drWWW.ExternalCall("DR.UI.refresh", componentIdentifier); }