private static IControllerButton CreateButton(int index, float x, float y) { var defaultColor = new asd.Color(150, 150, 150); var hoverColor = new asd.Color(255, 255, 255); //var holdColor = new asd.Color(50, 50, 50); var stage_button = new asd.TextureObject2D(); stage_button.Texture = asd.Engine.Graphics.CreateTexture2D($"Resources/stage{index}.png"); var size = new asd.Vector2DF(250.0f, 75.0f); var buttonArea = new asd.RectF(-size / 2.0f, size); var buttonObj = new asd.TextureObject2D() { Texture = asd.Engine.Graphics.CreateTexture2D($"Resources/stage{index}.png") , Color = defaultColor , CenterPosition = new asd.Vector2DF(stage_button.Texture.Size.X / 2.0f, stage_button.Texture.Size.Y / 2.0f) , Position = asd.Engine.WindowSize.To2DF() / 2.0f + (new asd.Vector2DF(x, y)) } ; var button = new ControllerButtonComponent <asd.TextureObject2D>("Button"); //button.DefaultEvent += owner => { }; //button.HoverEvent += owner => { }; //button.HoldEvent += owner => { }; button.OnEnteredEvent += owner => { Console.WriteLine("Button{0}: OnEntered", index); owner.Color = hoverColor; }; button.OnPushedEvent += owner => { Console.WriteLine("Button{0}: OnPushed", index); asd.Engine.ChangeSceneWithTransition(new CharSelectScene(index), new asd.TransitionFade(1.0f, 1.0f)); owner.Color = hoverColor; }; button.OnReleasedEvent += owner => { Console.WriteLine("Button{0}: OnReleased", index); owner.Color = hoverColor; }; button.OnExitedEvent += owner => { Console.WriteLine("Button{0}: OnExited", index); owner.Color = defaultColor; }; buttonObj.AddComponent(button, button.Name); return(button); }
private static IControllerButton CreateButton(PlayerType type, float x, float y, List <PlayerType> list) { var defaultColor = new asd.Color(150, 150, 150); var hoverColor = new asd.Color(255, 255, 255); //var holdColor = new asd.Color(50, 50, 50); var stage_button = new asd.TextureObject2D(); stage_button.Texture = asd.Engine.Graphics.CreateTexture2D($"Resources/{type.ToString()}Player.png"); var size = new asd.Vector2DF(250.0f, 75.0f); var buttonArea = new asd.RectF(-size / 2.0f, size); var buttonObj = new asd.TextureObject2D() { Texture = asd.Engine.Graphics.CreateTexture2D($"Resources/{type.ToString()}Player.png") , Color = defaultColor , CenterPosition = new asd.Vector2DF(stage_button.Texture.Size.X / 2.0f, stage_button.Texture.Size.Y / 2.0f) , Position = asd.Engine.WindowSize.To2DF() / 2.0f + (new asd.Vector2DF(x, y)) } ; var button = new ControllerButtonComponent <asd.TextureObject2D>("Button"); //button.DefaultEvent += owner => { }; //button.HoverEvent += owner => { }; //button.HoldEvent += owner => { }; button.OnEnteredEvent += owner => { owner.Color = hoverColor; }; button.OnPushedEvent += owner => { //asd.Engine.ChangeSceneWithTransition(new GameScene(type, stage), new asd.TransitionFade(1.0f, 1.0f)); list.Add(type); owner.Color = hoverColor; }; button.OnReleasedEvent += owner => { owner.Color = hoverColor; }; button.OnExitedEvent += owner => { owner.Color = defaultColor; }; buttonObj.AddComponent(button, button.Name); return(button); }
private static IControllerButton CreateButton(int index, float x, float y) { var defaultColor = new asd.Color(255, 255, 255); var hoverColor = new asd.Color(150, 150, 150); var holdColor = new asd.Color(50, 50, 50); var size = new asd.Vector2DF(150.0f, 150.0f); var buttonArea = new asd.RectF(-size / 2.0f, size); var buttonObj = new asd.GeometryObject2D() { Shape = new asd.RectangleShape() { DrawingArea = buttonArea } , Color = defaultColor , Position = asd.Engine.WindowSize.To2DF() / 2.0f + (new asd.Vector2DF(x, y)) } ; var button = new ControllerButtonComponent <asd.GeometryObject2D>("Button"); //button.DefaultEvent += owner => { }; //button.HoverEvent += owner => { }; //button.HoldEvent += owner => { }; button.OnEnteredEvent += owner => { Console.WriteLine("Button{0}: OnEntered", index); owner.Color = hoverColor; }; button.OnPushedEvent += owner => { Console.WriteLine("Button{0}: OnPushed", index); owner.Color = holdColor; }; button.OnReleasedEvent += owner => { Console.WriteLine("Button{0}: OnReleased", index); owner.Color = hoverColor; }; button.OnExitedEvent += owner => { Console.WriteLine("Button{0}: OnExited", index); owner.Color = defaultColor; }; buttonObj.AddComponent(button, button.Name); return(button); }