public UserComponent(PPDDevice device, PPDFramework.Resource.ResourceManager resourceManager, User user) : base(device) { this.resourceManager = resourceManager; User = user; this.AddChild((userIcon = new PictureObject(device, resourceManager, PathObject.Absolute(currentUserIconPath), true) { Position = new Vector2(21, 21) })); this.AddChild((userNameString = new TextureString(device, "", 18, 160, PPDColors.White) { Position = new Vector2(42, 12) })); this.AddChild(rectangle = new RectangleComponent(device, resourceManager, PPDColors.White) { Hidden = true, Position = new Vector2(5, 5), RectangleHeight = 30 }); AddBinding(new Binding(user, "Name", this, "UserName")); AddBinding(new Binding(user, "ImagePath", this, "UserImagePath")); ChangeUserIconScale(); }
public override void EnterLoading() { if (imageFiles != null && imageFiles.Length > 0) { if (currentImage != null) { RemoveChild(currentImage); currentImage.Dispose(); currentImage = null; } var index = new Random().Next(imageFiles.Length); currentImage = new PictureObject(device, ResourceManager, PathObject.Absolute(imageFiles[index]), true) { Position = new Vector2(400, 225) }; var aspect = currentImage.Width / currentImage.Height; var displayAspect = 16 / 9f; Vector2 scale; if (aspect > displayAspect) { scale = new Vector2(800 / currentImage.Width); } else { scale = new Vector2(450 / currentImage.Height); } currentImage.Scale = scale; AddChild(currentImage); } }
private void LoadTexture() { while (true) { lock (this) { if (!isLoading) { isLoading = true; break; } } Thread.Sleep(100); } picture = new PictureObject(device, resourceManager, PathObject.Absolute(thumbPath), true); picture.Scale = new SharpDX.Vector2(480 / picture.Width * 0.25f, 270 / picture.Height * 0.25f); picture.Alpha = 0; this.AddChild(picture); lock (this) { isLoading = false; } }
private void InnerStruct() { Hidden = true; itemPictureDict = new Dictionary <ItemEffect, PictureObject>(); this.AddChild(itemSprite = new SpriteObject(device) { Position = new SharpDX.Vector2(92, 1) }); this.AddChild((userIcon = new PictureObject(device, resourceManager, PathObject.Absolute(currentUserIconPath), true) { Position = new Vector2(19, 19) })); this.AddChild((userNameString = new TextureString(device, "", 9, 75, PPDColors.White) { Position = new Vector2(35, 3) })); this.AddChild(scorePicture = new NumberPictureObject(device, resourceManager, Utility.Path.Combine("play_user_score.png")) { Position = new Vector2(35, 24), Alignment = Alignment.Left, MaxDigit = 7 }); var filenames = new string[] { "cool.png", "good.png", "safe.png", "sad.png", "worst.png", "misscool.png", "missgood.png" }; evals = new PictureObject[filenames.Length]; for (int i = 0; i < filenames.Length; i++) { evals[i] = new PictureObject(device, resourceManager, Utility.Path.Combine("eva", filenames[i])) { Position = new Vector2(35, 14), Hidden = true, Scale = new SharpDX.Vector2(0.4f, 0.4f) }; this.AddChild(evals[i]); } this.AddChild(lifeGage = new LifeGage(device, resourceManager) { Position = new SharpDX.Vector2(37, 32) }); if (userPlayState.User.IsSelf) { this.AddChild(new PictureObject(device, resourceManager, Utility.Path.Combine("play_user_back_self.png"))); } else { this.AddChild(new PictureObject(device, resourceManager, Utility.Path.Combine("play_user_back.png"))); } AddBinding(new Binding(userPlayState.User, "Name", this, "UserName")); AddBinding(new Binding(userPlayState.User, "ImagePath", this, "UserImagePath")); AddBinding(new Binding(userPlayState, "Score", this, "Score")); AddBinding(new Binding(userPlayState, "Evaluate", this, "Evaluate")); AddBinding(new Binding(userPlayState, "LifeAsFloat", this, "LifeAsFloat")); AddBinding(new Binding(userPlayState, "IsStealth", this, "IsStealth")); AddBinding(new Binding(userPlayState, "Loaded", this, "Loaded")); ChangeUserIconScale(); }
private void DrawBack(DXBezierControl.BezierDrawer drawer) { drawer.Background.ClearChildren(); switch (BackGroundMode) { case DockForm.BackGroundMode.Default: drawer.Background.AddChild(new PictureObject(drawer.Device, bezierControl1.Drawer.ResourceManager, PathObject.Absolute(checkBackPath))); break; case DockForm.BackGroundMode.Color: drawer.Background.AddChild(new RectangleComponent(drawer.Device, drawer.ResourceManager, new SharpDX.Color4(BackGroundColor.R / 255f, BackGroundColor.G / 255f, BackGroundColor.B / 255f, 1.0f)) { RectangleWidth = bezierControl1.Width, RectangleHeight = bezierControl1.Height }); break; case DockForm.BackGroundMode.Image: if (!File.Exists(BackImageFileName)) { return; } var resource = drawer.ResourceManager.GetResource <ImageResourceBase>(BackImageFileName); if (resource == null) { resource = ImageResourceFactoryManager.Factory.Create(drawer.Device, BackImageFileName, false); drawer.ResourceManager.Add(BackImageFileName, resource); } for (int i = 0; i *resource.Width < bezierControl1.Width; i++) { for (int j = 0; j *resource.Height < bezierControl1.Height; j++) { drawer.Background.AddChild(new PictureObject(drawer.Device, drawer.ResourceManager, PathObject.Absolute(BackImageFileName)) { Position = new SharpDX.Vector2(i * resource.Width, j * resource.Height) }); } } break; } }
public MessageComponent(PPDDevice device, PPDFramework.Resource.ResourceManager resourceManager, Message message) : base(device) { this.resourceManager = resourceManager; this.message = message; Color4 color = PPDColors.White; if (message.User.IsSelf) { this.AddChild((userIcon = new PictureObject(device, resourceManager, PathObject.Absolute(currentUserIconPath), true) { Position = new Vector2(16, 20) })); this.AddChild((userName = new TextureString(device, "", 10, PPDColors.Black) { Border = new Border { Color = PPDColors.White, Thickness = 1 } })); this.AddChild((messageString = new TextureString(device, "", 10, 260, 40, true, PPDColors.Black) { Position = new Vector2(50, 1) })); this.AddChild((back = new PictureObject(device, resourceManager, Utility.Path.Combine("message_back.png")) { Position = new Vector2(32, 0), EdgeColors = new[] { color, color, color, color } })); } else { this.AddChild((userIcon = new PictureObject(device, resourceManager, Utility.Path.Combine("noimage_icon.png"), true) { Position = new Vector2(312, 20) })); this.AddChild((userName = new TextureString(device, "", 10, PPDColors.Black) { Border = new Border { Color = PPDColors.White, Thickness = 1 } })); this.AddChild((messageString = new TextureString(device, "", 10, 260, 40, true, PPDColors.Black) { Position = new Vector2(10, 1) })); this.AddChild((back = new PictureObject(device, resourceManager, Utility.Path.Combine("message_back.png")) { Scale = new Vector2(-1, 1), EdgeColors = new[] { color, color, color, color } })); back.ScaleCenter = new Vector2(back.Width / 2, back.Height / 2); } AddBinding(new Binding(message, "User.Name", this, "UserName")); AddBinding(new Binding(message, "User.ImagePath", this, "UserImagePath")); AddBinding(new Binding(message, "Text", this, "Text")); AddBinding(new Binding(message, "User.Color", this, "Color")); Alpha = 0; ChangeUserIconScale(); }
public MenuUserIcon(PPDDevice device, PPDFramework.Resource.ResourceManager resourceManager, UserListComponent listComponent, User user) : base(device) { this.resourceManager = resourceManager; this.listComponent = listComponent; User = user; this.AddChild((leaderIcon = new PictureObject(device, resourceManager, Utility.Path.Combine("leader.png")))); this.AddChild((userIcon = new PictureObject(device, resourceManager, PathObject.Absolute(currentUserIconPath), true) { Position = new SharpDX.Vector2(21, 21) })); this.AddChild((userNameString = new TextureString(device, "", 15, 140, PPDColors.White) { Position = new SharpDX.Vector2(42, 3) })); this.AddChild((accountIdString = new TextureString(device, "", 15, 140, PPDColors.White) { Position = new SharpDX.Vector2(42, 3) })); this.AddChild((readyIcon = new PictureObject(device, resourceManager, Utility.Path.Combine("user_state_ready.png"), true) { Position = new SharpDX.Vector2(187, 30) })); this.AddChild((notReadyIcon = new PictureObject(device, resourceManager, Utility.Path.Combine("user_state_notready.png"), true) { Position = new SharpDX.Vector2(187, 30) })); this.AddChild((playingIcon = new PictureObject(device, resourceManager, Utility.Path.Combine("user_state_playing.png"), true) { Position = new SharpDX.Vector2(187, 30) })); this.AddChild((watchIcon = new PictureObject(device, resourceManager, Utility.Path.Combine("user_state_watch.png"), true) { Position = new SharpDX.Vector2(187, 30) })); this.AddChild(hasSongIcon = new PictureObject(device, resourceManager, Utility.Path.Combine("hassong.png"), true) { Position = new SharpDX.Vector2(165, 30) }); pingPictures = new PictureObject[5]; for (int i = 0; i < 5; i++) { pingPictures[i] = new PictureObject(device, resourceManager, Utility.Path.Combine(String.Format("ping_{0}.png", i))) { Position = new SharpDX.Vector2(42, 22) }; this.AddChild(pingPictures[i]); } this.AddChild(pingString = new TextureString(device, "0", 12, PPDColors.White) { Position = new SharpDX.Vector2(60, 24) }); this.AddChild(new PictureObject(device, resourceManager, Utility.Path.Combine("user_back.png"))); AddBinding(new Binding(user, "Name", this, "UserName")); AddBinding(new Binding(user, "AccountId", this, "AccountId")); AddBinding(new Binding(user, "ImagePath", this, "UserImagePath")); AddBinding(new Binding(user, "CurrentState", this, "UserState")); AddBinding(new Binding(user, "HasSong", this, "HasSong")); AddBinding(new Binding(user, "Ping", this, "Ping")); AddBinding(new Binding(user, "IsLeader", this, "IsLeader")); ChangeUserIconScale(); }
public PlayUserIcon(PPDDevice device, PPDFramework.Resource.ResourceManager resourceManager, UserPlayState userPlayState, bool showScore, bool showEvaluate, bool showLife) : base(device) { this.resourceManager = resourceManager; this.userPlayState = userPlayState; this.showScore = showScore; this.showEvaluate = showEvaluate; this.showLife = showLife; this.AddChild((userIcon = new PictureObject(device, resourceManager, PathObject.Absolute(currentUserIconPath), true) { Position = new SharpDX.Vector2(19, 19) })); this.AddChild((userNameString = new TextureString(device, "", 9, 75, PPDColors.White) { Position = new SharpDX.Vector2(35, 3) })); this.AddChild(scorePicture = new NumberPictureObject(device, resourceManager, Utility.Path.Combine("play_user_score.png")) { Position = new SharpDX.Vector2(35, 24), Alignment = Alignment.Left, MaxDigit = 7, Hidden = !showScore }); var filenames = new string[] { "cool.png", "good.png", "safe.png", "sad.png", "worst.png", "misscool.png", "missgood.png", "misssafe.png", "misssad.png" }; evals = new PictureObject[filenames.Length]; for (int i = 0; i < filenames.Length; i++) { evals[i] = new PictureObject(device, resourceManager, Utility.Path.Combine("eva", filenames[i])) { Position = new SharpDX.Vector2(35, 14), Hidden = true, Scale = new SharpDX.Vector2(0.4f, 0.4f) }; this.AddChild(evals[i]); } this.AddChild(lifeGage = new LifeGage(device, resourceManager) { Position = new SharpDX.Vector2(37, 32), Hidden = !showLife }); if (userPlayState.User.IsSelf) { this.AddChild(new PictureObject(device, resourceManager, Utility.Path.Combine("play_user_back_self.png"))); } else { this.AddChild(new PictureObject(device, resourceManager, Utility.Path.Combine("play_user_back.png"))); } AddBinding(new Binding(userPlayState.User, "Name", this, "UserName")); AddBinding(new Binding(userPlayState.User, "ImagePath", this, "UserImagePath")); AddBinding(new Binding(userPlayState, "Score", this, "Score")); AddBinding(new Binding(userPlayState, "Evaluate", this, "Evaluate")); AddBinding(new Binding(userPlayState, "IsMissPress", this, "IsMissPress")); AddBinding(new Binding(userPlayState, "LifeAsFloat", this, "LifeAsFloat")); ChangeUserIconScale(); }
public ResultComponent(PPDDevice device, PPDFramework.Resource.ResourceManager resourceManager, UserResult result, int rank) : base(device) { this.resourceManager = resourceManager; this.AddChild(new TextureString(device, ConvertRank(rank), 14, PPDColors.White) { Position = new SharpDX.Vector2(0, 8) }); this.AddChild(userIcon = new PictureObject(device, resourceManager, PathObject.Absolute(currentUserIconPath)) { Position = new SharpDX.Vector2(50, 0) }); this.AddChild(new TextureString(device, result.User.Name, 12, 85, PPDColors.White) { Position = new SharpDX.Vector2(90, 8) }); this.AddChild(new NumberPictureObject(device, resourceManager, Utility.Path.Combine("numpoint.png")) { Position = new SharpDX.Vector2(240, 4), Alignment = PPDFramework.Alignment.Center, MaxDigit = 7, Value = (uint)result.Result.Score, Scale = new SharpDX.Vector2(0.5f, 1) }); this.AddChild(new NumberPictureObject(device, resourceManager, Utility.Path.Combine("numpoint.png")) { Position = new SharpDX.Vector2(317, 4), Alignment = Alignment.Center, MaxDigit = -1, Value = (uint)result.Result.CoolCount, Scale = new SharpDX.Vector2(0.5f, 1) }); this.AddChild(new NumberPictureObject(device, resourceManager, Utility.Path.Combine("numpoint.png")) { Position = new SharpDX.Vector2(380, 4), Alignment = Alignment.Center, MaxDigit = -1, Value = (uint)result.Result.GoodCount, Scale = new SharpDX.Vector2(0.5f, 1) }); this.AddChild(new NumberPictureObject(device, resourceManager, Utility.Path.Combine("numpoint.png")) { Position = new SharpDX.Vector2(440, 4), Alignment = Alignment.Center, MaxDigit = -1, Value = (uint)result.Result.SafeCount, Scale = new SharpDX.Vector2(0.5f, 1) }); this.AddChild(new NumberPictureObject(device, resourceManager, Utility.Path.Combine("numpoint.png")) { Position = new SharpDX.Vector2(497, 4), Alignment = Alignment.Center, MaxDigit = -1, Value = (uint)result.Result.SadCount, Scale = new SharpDX.Vector2(0.5f, 1) }); this.AddChild(new NumberPictureObject(device, resourceManager, Utility.Path.Combine("numpoint.png")) { Position = new SharpDX.Vector2(557, 4), Alignment = Alignment.Center, MaxDigit = -1, Value = (uint)result.Result.WorstCount, Scale = new SharpDX.Vector2(0.5f, 1) }); this.AddChild(new NumberPictureObject(device, resourceManager, Utility.Path.Combine("numpoint.png")) { Position = new SharpDX.Vector2(645, 4), Alignment = Alignment.Center, MaxDigit = -1, Value = (uint)result.Result.MaxCombo, Scale = new SharpDX.Vector2(0.5f, 1) }); AddBinding(new Binding(result.User, "ImagePath", this, "UserImagePath")); ChangeUserIconScale(); }