本文整理汇总了C#中Client.MirControls.MirControl类的典型用法代码示例。如果您正苦于以下问题:C# MirControl类的具体用法?C# MirControl怎么用?C# MirControl使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
MirControl类属于Client.MirControls命名空间,在下文中一共展示了MirControl类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MirAmountBox
public MirAmountBox(string title, int image, string message)
{
ImageIndex = image;
Modal = true;
Movable = false;
Index = 238;
Library = Libraries.Prguse;
Location = new Point((800 - Size.Width) / 2, (600 - Size.Height) / 2);
TitleLabel = new MirLabel
{
AutoSize = true,
Location = new Point(19, 8),
Parent = this,
NotControl = true,
Text = title
};
TextLabel = new MirLabel
{
AutoSize = true,
Location = new Point(60, 43),
ForeColour = Color.Yellow,
Parent = this,
NotControl = true,
Text = message
};
CloseButton = new MirButton
{
HoverIndex = 361,
Index = 360,
Location = new Point(180, 3),
Library = Libraries.Prguse2,
Parent = this,
PressedIndex = 362,
Sound = SoundList.ButtonA,
};
CloseButton.Click += (o, e) => Dispose();
ItemImage = new MirControl
{
Location = new Point(15, 34),
Size = new Size(38, 34),
Parent = this,
};
ItemImage.AfterDraw += (o, e) => DrawItem();
OKButton = new MirButton
{
HoverIndex = 201,
Index = 200,
Library = Libraries.Title,
Location = new Point(23, 76),
Parent = this,
PressedIndex = 202,
};
OKButton.Click += (o, e) => Dispose();
CancelButton = new MirButton
{
HoverIndex = 204,
Index = 203,
Library = Libraries.Title,
Location = new Point(110, 76),
Parent = this,
PressedIndex = 205,
};
CancelButton.Click += (o, e) => Dispose();
}
示例2: CreateMemoLabel
public void CreateMemoLabel(ClientFriend friend)
{
if (friend == null)
{
DisposeMemoLabel();
return;
}
if (MemoLabel != null && !MemoLabel.IsDisposed) return;
MemoLabel = new MirControl
{
BackColour = Color.FromArgb(255, 50, 50, 50),
Border = true,
BorderColour = Color.Gray,
DrawControlTexture = true,
NotControl = true,
Parent = this,
Opacity = 0.7F
};
MirLabel memoLabel = new MirLabel
{
AutoSize = true,
ForeColour = Color.White,
Location = new Point(4, 4),
OutLine = true,
Parent = MemoLabel,
Text = Functions.StringOverLines(friend.Memo, 5, 20)
};
MemoLabel.Size = new Size(Math.Max(MemoLabel.Size.Width, memoLabel.DisplayRectangle.Right + 4),
Math.Max(MemoLabel.Size.Height, memoLabel.DisplayRectangle.Bottom + 4));
}
示例3: CreateDebugLabel
private static void CreateDebugLabel()
{
if (!Settings.DebugMode) return;
if (DebugBaseLabel == null || DebugBaseLabel.IsDisposed)
{
DebugBaseLabel = new MirControl
{
BackColour = Color.FromArgb(50, 50, 50),
Border = true,
BorderColour = Color.Black,
DrawControlTexture = true,
Location = new Point(5, 5),
NotControl = true,
Opacity = 0.5F
};
}
if (DebugTextLabel == null || DebugTextLabel.IsDisposed)
{
DebugTextLabel = new MirLabel
{
AutoSize = true,
BackColour = Color.Transparent,
ForeColour = Color.White,
Parent = DebugBaseLabel,
};
DebugTextLabel.SizeChanged += (o, e) => DebugBaseLabel.Size = DebugTextLabel.Size;
}
string text;
if (MirControl.MouseControl != null)
{
text = string.Format("FPS: {0}", FPS);
if (MirControl.MouseControl is MapControl)
text += string.Format(", Co Ords: {0}", MapControl.MapLocation);
if (MirScene.ActiveScene is GameScene)
text += string.Format(", Objects: {0}", MapControl.Objects.Count);
}
else
{
text = string.Format("FPS: {0}", FPS);
}
DebugTextLabel.Text = text;
}
示例4: OverlapInfoLabel
public MirControl OverlapInfoLabel(UserItem item, bool Inspect = false)
{
ushort level = Inspect ? InspectDialog.Level : MapObject.User.Level;
MirClass job = Inspect ? InspectDialog.Class : MapObject.User.Class;
HoverItem = item;
ItemInfo realItem = Functions.GetRealItem(item.Info, level, job, ItemInfoList);
ItemLabel.Size = new Size(ItemLabel.Size.Width, ItemLabel.Size.Height + 4);
int count = 0;
#region GEM
if (realItem.Type == ItemType.Gem)
{
string text = "";
switch (realItem.Shape)
{
case 1:
text = "Hold CTRL and left click to repair weapons.";
break;
case 2:
text = "Hold CTRL and left click to repair armour\nand accessory items.";
break;
case 3:
case 4:
text = "Hold CTRL and left click to combine with an item.";
break;
}
count++;
MirLabel GEMLabel = new MirLabel
{
AutoSize = true,
ForeColour = Color.White,
Location = new Point(4, ItemLabel.DisplayRectangle.Bottom),
OutLine = true,
Parent = ItemLabel,
Text = text
};
ItemLabel.Size = new Size(Math.Max(ItemLabel.Size.Width, GEMLabel.DisplayRectangle.Right + 4),
Math.Max(ItemLabel.Size.Height, GEMLabel.DisplayRectangle.Bottom));
}
#endregion
#region SPLITUP
if (realItem.StackSize > 1 && realItem.Type != ItemType.Gem)
{
count++;
MirLabel SPLITUPLabel = new MirLabel
{
AutoSize = true,
ForeColour = Color.White,
Location = new Point(4, ItemLabel.DisplayRectangle.Bottom),
OutLine = true,
Parent = ItemLabel,
Text = string.Format("Max Combine Count : {0}\nShift + Left click to split the stack", realItem.StackSize)
};
ItemLabel.Size = new Size(Math.Max(ItemLabel.Size.Width, SPLITUPLabel.DisplayRectangle.Right + 4),
Math.Max(ItemLabel.Size.Height, SPLITUPLabel.DisplayRectangle.Bottom));
}
#endregion
if (count > 0)
{
ItemLabel.Size = new Size(ItemLabel.Size.Width, ItemLabel.Size.Height + 4);
#region OUTLINE
MirControl outLine = new MirControl
{
BackColour = Color.FromArgb(255, 50, 50, 50),
Border = true,
BorderColour = Color.Gray,
NotControl = true,
Parent = ItemLabel,
Opacity = 0.4F,
Location = new Point(0, 0)
};
outLine.Size = ItemLabel.Size;
#endregion
return outLine;
}
else
{
ItemLabel.Size = new Size(ItemLabel.Size.Width, ItemLabel.Size.Height - 4);
}
return null;
}
示例5: CreateItemLabel
public void CreateItemLabel(UserItem item, bool Inspect = false)
{
if (item == null)
{
DisposeItemLabel();
HoverItem = null;
return;
}
if (item == HoverItem && ItemLabel != null && !ItemLabel.IsDisposed) return;
ushort level = Inspect ? InspectDialog.Level : MapObject.User.Level;
MirClass job = Inspect ? InspectDialog.Class : MapObject.User.Class;
HoverItem = item;
ItemInfo realItem = Functions.GetRealItem(item.Info, level, job, ItemInfoList);
ItemLabel = new MirControl
{
BackColour = Color.FromArgb(255, 50, 50, 50),
Border = true,
BorderColour = Color.Gray,
DrawControlTexture = true,
NotControl = true,
Parent = this,
Opacity = 0.7F,
// Visible = false
};
//Name Info Label
MirControl[] outlines = new MirControl[9];
outlines[0] = NameInfoLabel(item, Inspect);
//Attribute Info1 Label - Attack Info
outlines[1] = AttackInfoLabel(item, Inspect);
//Attribute Info2 Label - Defense Info
outlines[2] = DefenseInfoLabel(item, Inspect);
//Attribute Info3 Label - Weight Info
outlines[3] = WeightInfoLabel(item, Inspect);
//Awake Info Label
outlines[4] = AwakeInfoLabel(item, Inspect);
//need Info Label
outlines[5] = NeedInfoLabel(item, Inspect);
//Bind Info Label
outlines[6] = BindInfoLabel(item, Inspect);
//Overlap Info Label
outlines[7] = OverlapInfoLabel(item, Inspect);
//Story Label
outlines[8] = StoryInfoLabel(item, Inspect);
foreach (var outline in outlines)
{
if (outline != null)
{
outline.Size = new Size(ItemLabel.Size.Width, outline.Size.Height);
}
}
//ItemLabel.Visible = true;
}
示例6: WeightInfoLabel
public MirControl WeightInfoLabel(UserItem item, bool Inspect = false)
{
ushort level = Inspect ? InspectDialog.Level : MapObject.User.Level;
MirClass job = Inspect ? InspectDialog.Class : MapObject.User.Class;
HoverItem = item;
ItemInfo realItem = Functions.GetRealItem(item.Info, level, job, ItemInfoList);
ItemLabel.Size = new Size(ItemLabel.Size.Width, ItemLabel.Size.Height + 4);
int count = 0;
int minValue = 0;
int maxValue = 0;
int addValue = 0;
#region HANDWEIGHT
minValue = realItem.HandWeight;
maxValue = 0;
addValue = 0;
if (minValue > 0 || maxValue > 0 || addValue > 0)
{
count++;
MirLabel HANDWEIGHTLabel = new MirLabel
{
AutoSize = true,
ForeColour = addValue > 0 ? Color.Cyan : Color.White,
Location = new Point(4, ItemLabel.DisplayRectangle.Bottom),
OutLine = true,
Parent = ItemLabel,
//Text = string.Format("Hand Weight + {0}", minValue + addValue)
Text = string.Format(addValue > 0 ? "Hand Weight + {0} (+{1})" : "Hand Weight + {0}", minValue + addValue, addValue)
};
ItemLabel.Size = new Size(Math.Max(ItemLabel.Size.Width, HANDWEIGHTLabel.DisplayRectangle.Right + 4),
Math.Max(ItemLabel.Size.Height, HANDWEIGHTLabel.DisplayRectangle.Bottom));
}
#endregion
#region WEARWEIGHT
minValue = realItem.WearWeight;
maxValue = 0;
addValue = 0;
if (minValue > 0 || maxValue > 0 || addValue > 0)
{
count++;
MirLabel WEARWEIGHTLabel = new MirLabel
{
AutoSize = true,
ForeColour = addValue > 0 ? Color.Cyan : Color.White,
Location = new Point(4, ItemLabel.DisplayRectangle.Bottom),
OutLine = true,
Parent = ItemLabel,
//Text = string.Format("Wear Weight + {0}", minValue + addValue)
Text = string.Format(addValue > 0 ? "Wear Weight + {0} (+{1})" : "Wear Weight + {0}", minValue + addValue, addValue)
};
ItemLabel.Size = new Size(Math.Max(ItemLabel.Size.Width, WEARWEIGHTLabel.DisplayRectangle.Right + 4),
Math.Max(ItemLabel.Size.Height, WEARWEIGHTLabel.DisplayRectangle.Bottom));
}
#endregion
#region BAGWEIGHT
minValue = realItem.BagWeight;
maxValue = 0;
addValue = 0;
if (minValue > 0 || maxValue > 0 || addValue > 0)
{
count++;
MirLabel BAGWEIGHTLabel = new MirLabel
{
AutoSize = true,
ForeColour = addValue > 0 ? Color.Cyan : Color.White,
Location = new Point(4, ItemLabel.DisplayRectangle.Bottom),
OutLine = true,
Parent = ItemLabel,
//Text = string.Format("Bag Weight + {0}", minValue + addValue)
Text = string.Format(addValue > 0 ? "Bag Weight + {0} (+{1})" : "Bag Weight + {0}", minValue + addValue, addValue)
};
ItemLabel.Size = new Size(Math.Max(ItemLabel.Size.Width, BAGWEIGHTLabel.DisplayRectangle.Right + 4),
Math.Max(ItemLabel.Size.Height, BAGWEIGHTLabel.DisplayRectangle.Bottom));
}
#endregion
#region FASTRUN
minValue = realItem.CanFastRun==true?1:0;
maxValue = 0;
addValue = 0;
if (minValue > 0 || maxValue > 0 || addValue > 0)
{
count++;
//.........这里部分代码省略.........
示例7: NeedInfoLabel
public MirControl NeedInfoLabel(UserItem item, bool Inspect = false)
{
ushort level = Inspect ? InspectDialog.Level : MapObject.User.Level;
MirClass job = Inspect ? InspectDialog.Class : MapObject.User.Class;
HoverItem = item;
ItemInfo realItem = Functions.GetRealItem(item.Info, level, job, ItemInfoList);
ItemLabel.Size = new Size(ItemLabel.Size.Width, ItemLabel.Size.Height + 4);
int count = 0;
#region LEVEL
if (realItem.RequiredAmount > 0)
{
count++;
string text;
Color colour = Color.White;
switch (realItem.RequiredType)
{
case RequiredType.Level:
text = string.Format("Required Level : {0}", realItem.RequiredAmount);
if (MapObject.User.Level < realItem.RequiredAmount)
colour = Color.Red;
break;
case RequiredType.AC:
text = string.Format("Required AC : {0}", realItem.RequiredAmount);
if (MapObject.User.MaxAC < realItem.RequiredAmount)
colour = Color.Red;
break;
case RequiredType.MAC:
text = string.Format("Required MAC : {0}", realItem.RequiredAmount);
if (MapObject.User.MaxMAC < realItem.RequiredAmount)
colour = Color.Red;
break;
case RequiredType.DC:
text = string.Format("Required DC : {0}", realItem.RequiredAmount);
if (MapObject.User.MaxDC < realItem.RequiredAmount)
colour = Color.Red;
break;
case RequiredType.MC:
text = string.Format("Required MC : {0}", realItem.RequiredAmount);
if (MapObject.User.MaxMC < realItem.RequiredAmount)
colour = Color.Red;
break;
case RequiredType.SC:
text = string.Format("Required SC : {0}", realItem.RequiredAmount);
if (MapObject.User.MaxSC < realItem.RequiredAmount)
colour = Color.Red;
break;
default:
text = "Unknown Type Required";
break;
}
MirLabel LEVELLabel = new MirLabel
{
AutoSize = true,
ForeColour = colour,
Location = new Point(4, ItemLabel.DisplayRectangle.Bottom),
OutLine = true,
Parent = ItemLabel,
Text = text
};
ItemLabel.Size = new Size(Math.Max(ItemLabel.Size.Width, LEVELLabel.DisplayRectangle.Right + 4),
Math.Max(ItemLabel.Size.Height, LEVELLabel.DisplayRectangle.Bottom));
}
#endregion
#region CLASS
if (realItem.RequiredClass != RequiredClass.None)
{
count++;
Color colour = Color.White;
switch (MapObject.User.Class)
{
case MirClass.Warrior:
if (!realItem.RequiredClass.HasFlag(RequiredClass.Warrior))
colour = Color.Red;
break;
case MirClass.Wizard:
if (!realItem.RequiredClass.HasFlag(RequiredClass.Wizard))
colour = Color.Red;
break;
case MirClass.Taoist:
if (!realItem.RequiredClass.HasFlag(RequiredClass.Taoist))
colour = Color.Red;
break;
case MirClass.Assassin:
if (!realItem.RequiredClass.HasFlag(RequiredClass.Assassin))
colour = Color.Red;
break;
case MirClass.Archer:
if (!realItem.RequiredClass.HasFlag(RequiredClass.Archer))
colour = Color.Red;
break;
}
//.........这里部分代码省略.........
示例8: BindInfoLabel
public MirControl BindInfoLabel(UserItem item, bool Inspect = false)
{
byte level = Inspect ? InspectDialog.Level : MapObject.User.Level;
MirClass job = Inspect ? InspectDialog.Class : MapObject.User.Class;
HoverItem = item;
ItemInfo realItem = Functions.GetRealItem(item.Info, level, job, ItemInfoList);
ItemLabel.Size = new Size(ItemLabel.Size.Width, ItemLabel.Size.Height + 4);
int count = 0;
#region DONT_DEATH_DROP
if (HoverItem.Info.Bind != BindMode.none && HoverItem.Info.Bind.HasFlag(BindMode.DontDeathdrop))
{
count++;
MirLabel DONT_DEATH_DROPLabel = new MirLabel
{
AutoSize = true,
ForeColour = Color.Yellow,
Location = new Point(4, ItemLabel.DisplayRectangle.Bottom),
OutLine = true,
Parent = ItemLabel,
Text = string.Format("Can't drop on death")
};
ItemLabel.Size = new Size(Math.Max(ItemLabel.Size.Width, DONT_DEATH_DROPLabel.DisplayRectangle.Right + 4),
Math.Max(ItemLabel.Size.Height, DONT_DEATH_DROPLabel.DisplayRectangle.Bottom));
}
#endregion
#region DONT_DROP
if (HoverItem.Info.Bind != BindMode.none && HoverItem.Info.Bind.HasFlag(BindMode.DontDrop))
{
count++;
MirLabel DONT_DROPLabel = new MirLabel
{
AutoSize = true,
ForeColour = Color.Yellow,
Location = new Point(4, ItemLabel.DisplayRectangle.Bottom),
OutLine = true,
Parent = ItemLabel,
Text = string.Format("Can't drop")
};
ItemLabel.Size = new Size(Math.Max(ItemLabel.Size.Width, DONT_DROPLabel.DisplayRectangle.Right + 4),
Math.Max(ItemLabel.Size.Height, DONT_DROPLabel.DisplayRectangle.Bottom));
}
#endregion
#region DONT_UPGRADE
if (HoverItem.Info.Bind != BindMode.none && HoverItem.Info.Bind.HasFlag(BindMode.DontUpgrade))
{
count++;
MirLabel DONT_UPGRADELabel = new MirLabel
{
AutoSize = true,
ForeColour = Color.Yellow,
Location = new Point(4, ItemLabel.DisplayRectangle.Bottom),
OutLine = true,
Parent = ItemLabel,
Text = string.Format("Can't upgrade")
};
ItemLabel.Size = new Size(Math.Max(ItemLabel.Size.Width, DONT_UPGRADELabel.DisplayRectangle.Right + 4),
Math.Max(ItemLabel.Size.Height, DONT_UPGRADELabel.DisplayRectangle.Bottom));
}
#endregion
#region DONT_SELL
if (HoverItem.Info.Bind != BindMode.none && HoverItem.Info.Bind.HasFlag(BindMode.DontSell))
{
count++;
MirLabel DONT_SELLLabel = new MirLabel
{
AutoSize = true,
ForeColour = Color.Yellow,
Location = new Point(4, ItemLabel.DisplayRectangle.Bottom),
OutLine = true,
Parent = ItemLabel,
Text = string.Format("Can't sell")
};
ItemLabel.Size = new Size(Math.Max(ItemLabel.Size.Width, DONT_SELLLabel.DisplayRectangle.Right + 4),
Math.Max(ItemLabel.Size.Height, DONT_SELLLabel.DisplayRectangle.Bottom));
}
#endregion
#region DONT_TRADE
if (HoverItem.Info.Bind != BindMode.none && HoverItem.Info.Bind.HasFlag(BindMode.DontTrade))
{
count++;
//.........这里部分代码省略.........
示例9: NameInfoLabel
public MirControl NameInfoLabel(UserItem item, bool Inspect = false)
{
byte level = Inspect ? InspectDialog.Level : MapObject.User.Level;
MirClass job = Inspect ? InspectDialog.Class : MapObject.User.Class;
HoverItem = item;
ItemInfo realItem = Functions.GetRealItem(item.Info, level, job, ItemInfoList);
MirLabel nameLabel = new MirLabel
{
AutoSize = true,
ForeColour = GradeNameColor(HoverItem.Info.Grade),
Location = new Point(4, 4),
OutLine = true,
Parent = ItemLabel,
Text = HoverItem.Info.Grade != ItemGrade.None ? HoverItem.Info.FriendlyName +
"\n" + HoverItem.Info.Grade.ToString() : HoverItem.Info.FriendlyName
};
ItemLabel.Size = new Size(Math.Max(ItemLabel.Size.Width, nameLabel.DisplayRectangle.Right + 4),
Math.Max(ItemLabel.Size.Height, nameLabel.DisplayRectangle.Bottom));
string text = "";
if (HoverItem.Info.StackSize > 1)
{
text += string.Format(" Count {0}", HoverItem.Count);
}
if (HoverItem.Info.Durability > 0)
{
switch (HoverItem.Info.Type)
{
case ItemType.Amulet:
text += string.Format(" Usage {0}/{1}", HoverItem.CurrentDura, HoverItem.MaxDura);
break;
case ItemType.Ore:
text += string.Format(" Purity {0}", Math.Round(HoverItem.CurrentDura / 1000M));
break;
case ItemType.Meat:
text += string.Format(" Quality {0}", Math.Round(HoverItem.CurrentDura / 1000M));
break;
case ItemType.Mount:
text += string.Format(" Loyalty {0} / {1}", HoverItem.CurrentDura, HoverItem.MaxDura);
break;
case ItemType.Food:
text += string.Format(" Nutrition {0}", HoverItem.CurrentDura);
break;
default:
text += string.Format(" Durability {0}/{1}", Math.Round(HoverItem.CurrentDura / 1000M),
Math.Round(HoverItem.MaxDura / 1000M));
break;
}
}
MirLabel etcLabel = new MirLabel
{
AutoSize = true,
ForeColour = Color.White,
Location = new Point(4, nameLabel.DisplayRectangle.Bottom),
OutLine = true,
Parent = ItemLabel,
Text = HoverItem.Info.Type.ToString() +
"\n" + "W " + HoverItem.Weight + text
};
ItemLabel.Size = new Size(Math.Max(ItemLabel.Size.Width, etcLabel.DisplayRectangle.Right + 4),
Math.Max(ItemLabel.Size.Height, etcLabel.DisplayRectangle.Bottom + 4));
#region OUTLINE
MirControl outLine = new MirControl
{
BackColour = Color.FromArgb(255, 50, 50, 50),
Border = true,
BorderColour = Color.Gray,
NotControl = true,
Parent = ItemLabel,
Opacity = 0.4F,
Location = new Point(0, 0)
};
outLine.Size = ItemLabel.Size;
#endregion
return outLine;
}
示例10: MainDialog
//.........这里部分代码省略.........
OptionButton = new MirButton
{
HoverIndex = 1913,
Index = 1912,
Library = Libraries.Prguse,
Location = new Point(Settings.ScreenWidth - 27, 76),
Parent = this,
PressedIndex = 1914,
Sound = SoundList.ButtonA,
};
OptionButton.Click += (o, e) =>
{
if (!GameScene.Scene.OptionDialog.Visible)
GameScene.Scene.OptionDialog.Show();
else GameScene.Scene.OptionDialog.Hide();
};
MenuButton = new MirButton
{
HoverIndex = 1961,
Index = 1960,
Library = Libraries.Prguse,
Location = new Point(Settings.ScreenWidth - 55, 35),
Parent = this,
PressedIndex = 1962,
Sound = SoundList.ButtonC,
};
MenuButton.Click += (o, e) =>
{
if (!GameScene.Scene.MenuDialog.Visible) GameScene.Scene.MenuDialog.Show();
else GameScene.Scene.MenuDialog.Hide();
};
HealthOrb = new MirControl
{
Parent = this,
Location = new Point(0, 30),
NotControl = true,
};
HealthOrb.BeforeDraw += HealthOrb_BeforeDraw;
HealthLabel = new MirLabel
{
AutoSize = true,
Location = new Point(0, 32),
Parent = HealthOrb,
};
HealthLabel.SizeChanged += Label_SizeChanged;
ManaLabel = new MirLabel
{
AutoSize = true,
Location = new Point(0, 50),
Parent = HealthOrb,
};
ManaLabel.SizeChanged += Label_SizeChanged;
LevelLabel = new MirLabel
{
AutoSize = true,
Parent = this,
Location = new Point(5, 108),
};
CharacterName = new MirLabel
{
DrawFormat = TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter,
示例11: CreateItemLabel
public void CreateItemLabel(UserItem item)
{
if (item == null)
{
DisposeItemLabel();
HoverItem = null;
return;
}
if (item == HoverItem && ItemLabel != null && !ItemLabel.IsDisposed) return;
HoverItem = item;
ItemLabel = new MirControl
{
BackColour = Color.FromArgb(255, 0, 24, 48),
Border = true,
BorderColour = Color.FromArgb(144, 148, 48),
DrawControlTexture = true,
NotControl = true,
Parent = this,
Opacity = 0.7F,
Visible = false
};
MirLabel nameLabel = new MirLabel
{
AutoSize = true,
ForeColour = Color.Yellow,
Location = new Point(4, 4),
OutLine = false,
Parent = ItemLabel,
Text = HoverItem.Info.Name
};
ItemLabel.Size = new Size(nameLabel.DisplayRectangle.Right + 4, nameLabel.DisplayRectangle.Bottom);
if (HoverItem.Weight > 0)
{
MirLabel label = new MirLabel
{
AutoSize = true,
ForeColour = Color.White,
Location = new Point(ItemLabel.DisplayRectangle.Right, 4),
OutLine = false,
Parent = ItemLabel,
Text = string.Format("W: {0}", HoverItem.Weight)
};
ItemLabel.Size = new Size(label.DisplayRectangle.Right + 4, ItemLabel.Size.Height);
}
if (HoverItem.Info.StackSize > 1)
{
MirLabel label = new MirLabel
{
AutoSize = true,
ForeColour = Color.White,
Location = new Point(ItemLabel.DisplayRectangle.Right, 4),
OutLine = false,
Parent = ItemLabel,
Text = string.Format("Count: {0}/{1}", HoverItem.Count, HoverItem.Info.StackSize)
};
ItemLabel.Size = new Size(label.DisplayRectangle.Right + 4, ItemLabel.Size.Height);
}
switch (HoverItem.Info.Type)
{
case ItemType.Potion:
case ItemType.Scroll:
PotionItemInfo();
break;
default:
EquipmentItemInfo();
break;
}
if (HoverItem.Info.RequiredGender != RequiredGender.None)
{
Color colour = Color.White;
switch (MapObject.User.Gender)
{
case MirGender.Male:
if (!HoverItem.Info.RequiredGender.HasFlag(RequiredGender.Male))
colour = Color.Red;
break;
case MirGender.Female:
if (!HoverItem.Info.RequiredGender.HasFlag(RequiredGender.Female))
colour = Color.Red;
break;
}
MirLabel label = new MirLabel
{
AutoSize = true,
ForeColour = colour,
Location = new Point(4, ItemLabel.DisplayRectangle.Bottom),
OutLine = false,
Parent = ItemLabel,
Text = string.Format("Gender Required: {0}", HoverItem.Info.RequiredGender),
};
//.........这里部分代码省略.........
示例12: CreateDebugLabel
private static void CreateDebugLabel()
{
if (!Settings.DebugMode) return;
if (DebugBaseLabel == null || DebugBaseLabel.IsDisposed)
{
DebugBaseLabel = new MirControl
{
BackColour = Color.FromArgb(50, 50, 50),
Border = true,
BorderColour = Color.Black,
DrawControlTexture = true,
Location = new Point(5, 5),
NotControl = true,
Opacity = 0.5F
};
}
if (DebugTextLabel == null || DebugTextLabel.IsDisposed)
{
DebugTextLabel = new MirLabel
{
AutoSize = true,
BackColour = Color.Transparent,
ForeColour = Color.White,
Parent = DebugBaseLabel,
};
DebugTextLabel.SizeChanged += (o, e) => DebugBaseLabel.Size = DebugTextLabel.Size;
}
if (DebugOverride) return;
string text;
if (MirControl.MouseControl != null)
{
text = string.Format("FPS: {0}", FPS);
if (MirControl.MouseControl is MapControl)
{
text += string.Format(", Co Ords: {0}", MapControl.MapLocation);
//text += "\r\n";
//var cell = GameScene.Scene.MapControl.M2CellInfo[MapControl.MapLocation.X, MapControl.MapLocation.Y];
//if (cell != null)
//{
// text += string.Format("BackImage : {0}. BackIndex : {1}. MiddleImage : {2}. MiddleIndex {3}. FrontImage : {4}. FrontIndex : {5}", cell.BackImage, cell.BackIndex, cell.MiddleImage, cell.MiddleIndex, cell.FrontImage, cell.FrontIndex);
//}
}
if (MirScene.ActiveScene is GameScene)
{
//text += "\r\n";
text += string.Format(", Objects: {0}", MapControl.Objects.Count);
}
if (MirObjects.MapObject.MouseObject != null)
{
text += string.Format(", Target: {0}", MirObjects.MapObject.MouseObject.Name);
}
else
{
text += string.Format(", Target: none");
}
}
else
{
text = string.Format("FPS: {0}", FPS);
}
DebugTextLabel.Text = text;
}
示例13: AttackInfoLabel
public MirControl AttackInfoLabel(UserItem item, bool Inspect = false)
{
ushort level = Inspect ? InspectDialog.Level : MapObject.User.Level;
MirClass job = Inspect ? InspectDialog.Class : MapObject.User.Class;
HoverItem = item;
ItemInfo realItem = Functions.GetRealItem(item.Info, level, job, ItemInfoList);
ItemLabel.Size = new Size(ItemLabel.Size.Width, ItemLabel.Size.Height + 4);
bool fishingItem = false;
switch (HoverItem.Info.Type)
{
case ItemType.Hook:
case ItemType.Float:
case ItemType.Bait:
case ItemType.Finder:
case ItemType.Reel:
fishingItem = true;
break;
case ItemType.Weapon:
if (HoverItem.Info.Shape == 49 || HoverItem.Info.Shape == 50)
fishingItem = true;
break;
case ItemType.Pets:
if (HoverItem.Info.Shape == 26) return null;
break;
default:
fishingItem = false;
break;
}
int count = 0;
int minValue = 0;
int maxValue = 0;
int addValue = 0;
string text = "";
#region Dura gem
minValue = realItem.Durability;
if (minValue > 0 && realItem.Type == ItemType.Gem)
{
count++;
text = string.Format("Adds {0}Durability", minValue / 1000);
MirLabel DuraLabel = new MirLabel
{
AutoSize = true,
ForeColour = Color.White,
Location = new Point(4, ItemLabel.DisplayRectangle.Bottom),
OutLine = true,
Parent = ItemLabel,
Text = text
};
ItemLabel.Size = new Size(Math.Max(ItemLabel.Size.Width, DuraLabel.DisplayRectangle.Right + 4),
Math.Max(ItemLabel.Size.Height, DuraLabel.DisplayRectangle.Bottom));
}
#endregion
#region DC
minValue = realItem.MinDC;
maxValue = realItem.MaxDC;
addValue = (!HoverItem.Info.NeedIdentify || HoverItem.Identified) ? HoverItem.DC : 0;
if (minValue > 0 || maxValue > 0 || addValue > 0)
{
count++;
if (HoverItem.Info.Type != ItemType.Gem)
text = string.Format(addValue > 0 ? "DC + {0}~{1} (+{2})" : "DC + {0}~{1}", minValue, maxValue + addValue, addValue);
else
text = string.Format("Adds {0}DC",minValue + maxValue + addValue);
MirLabel DCLabel = new MirLabel
{
AutoSize = true,
ForeColour = addValue > 0 ? Color.Cyan : Color.White,
Location = new Point(4, ItemLabel.DisplayRectangle.Bottom),
OutLine = true,
Parent = ItemLabel,
//Text = string.Format("DC + {0}~{1}", minValue, maxValue + addValue)
Text = text
};
ItemLabel.Size = new Size(Math.Max(ItemLabel.Size.Width, DCLabel.DisplayRectangle.Right + 4),
Math.Max(ItemLabel.Size.Height, DCLabel.DisplayRectangle.Bottom));
}
#endregion
#region MC
minValue = realItem.MinMC;
maxValue = realItem.MaxMC;
addValue = (!HoverItem.Info.NeedIdentify || HoverItem.Identified) ? HoverItem.MC : 0;
if (minValue > 0 || maxValue > 0 || addValue > 0)
{
count++;
if (HoverItem.Info.Type != ItemType.Gem)
//.........这里部分代码省略.........
示例14: StoryInfoLabel
public MirControl StoryInfoLabel(UserItem item, bool Inspect = false)
{
byte level = Inspect ? InspectDialog.Level : MapObject.User.Level;
MirClass job = Inspect ? InspectDialog.Class : MapObject.User.Class;
HoverItem = item;
ItemInfo realItem = Functions.GetRealItem(item.Info, level, job, ItemInfoList);
ItemLabel.Size = new Size(ItemLabel.Size.Width, ItemLabel.Size.Height + 4);
int count = 0;
#region TOOLTIP
if (!string.IsNullOrEmpty(HoverItem.Info.ToolTip))
{
count++;
MirLabel TOOLTIPLabel = new MirLabel
{
AutoSize = true,
ForeColour = Color.Goldenrod,
Location = new Point(4, ItemLabel.DisplayRectangle.Bottom),
OutLine = true,
Parent = ItemLabel,
Text = HoverItem.Info.ToolTip
};
ItemLabel.Size = new Size(Math.Max(ItemLabel.Size.Width, TOOLTIPLabel.DisplayRectangle.Right + 4),
Math.Max(ItemLabel.Size.Height, TOOLTIPLabel.DisplayRectangle.Bottom));
}
#endregion
if (count > 0)
{
ItemLabel.Size = new Size(ItemLabel.Size.Width, ItemLabel.Size.Height + 4);
#region OUTLINE
MirControl outLine = new MirControl
{
BackColour = Color.FromArgb(255, 50, 50, 50),
Border = true,
BorderColour = Color.Gray,
NotControl = true,
Parent = ItemLabel,
Opacity = 0.4F,
Location = new Point(0, 0)
};
outLine.Size = ItemLabel.Size;
#endregion
return outLine;
}
else
{
ItemLabel.Size = new Size(ItemLabel.Size.Width, ItemLabel.Size.Height - 4);
}
return null;
}
示例15: DefenseInfoLabel
public MirControl DefenseInfoLabel(UserItem item, bool Inspect = false)
{
ushort level = Inspect ? InspectDialog.Level : MapObject.User.Level;
MirClass job = Inspect ? InspectDialog.Class : MapObject.User.Class;
HoverItem = item;
ItemInfo realItem = Functions.GetRealItem(item.Info, level, job, ItemInfoList);
ItemLabel.Size = new Size(ItemLabel.Size.Width, ItemLabel.Size.Height + 4);
bool fishingItem = false;
switch (HoverItem.Info.Type)
{
case ItemType.Hook:
case ItemType.Float:
case ItemType.Bait:
case ItemType.Finder:
case ItemType.Reel:
fishingItem = true;
break;
case ItemType.Weapon:
if (HoverItem.Info.Shape == 49 || HoverItem.Info.Shape == 50)
fishingItem = true;
break;
case ItemType.Pets:
if (HoverItem.Info.Shape == 26) return null;
break;
default:
fishingItem = false;
break;
}
int count = 0;
int minValue = 0;
int maxValue = 0;
int addValue = 0;
string text = "";
#region AC
minValue = realItem.MinAC;
maxValue = realItem.MaxAC;
addValue = (!HoverItem.Info.NeedIdentify || HoverItem.Identified) ? HoverItem.AC : 0;
if (minValue > 0 || maxValue > 0 || addValue > 0)
{
count++;
if (HoverItem.Info.Type != ItemType.Gem)
text = string.Format(addValue > 0 ? "AC + {0}~{1} (+{2})" : "AC + {0}~{1}", minValue, maxValue + addValue, addValue);
else
text = string.Format("Adds {0} AC", minValue + maxValue + addValue);
MirLabel ACLabel = new MirLabel
{
AutoSize = true,
ForeColour = addValue > 0 ? Color.Cyan : Color.White,
Location = new Point(4, ItemLabel.DisplayRectangle.Bottom),
OutLine = true,
Parent = ItemLabel,
//Text = string.Format("AC + {0}~{1}", minValue, maxValue + addValue)
Text = text
};
if (fishingItem)
{
if (HoverItem.Info.Type == ItemType.Float)
{
ACLabel.Text = string.Format("Nibble Chance + " + (addValue > 0 ? "{0}~{1}% (+{2})" : "{0}~{1}%"), minValue, maxValue + addValue);
}
else if (HoverItem.Info.Type == ItemType.Finder)
{
ACLabel.Text = string.Format("Finder Increase + " + (addValue > 0 ? "{0}~{1}% (+{2})" : "{0}~{1}%"), minValue, maxValue + addValue);
}
else
{
ACLabel.Text = string.Format("Success Chance + " + (addValue > 0 ? "{0}% (+{1})" : "{0}%"), maxValue, maxValue + addValue);
}
}
ItemLabel.Size = new Size(Math.Max(ItemLabel.Size.Width, ACLabel.DisplayRectangle.Right + 4),
Math.Max(ItemLabel.Size.Height, ACLabel.DisplayRectangle.Bottom));
}
#endregion
#region MAC
minValue = realItem.MinMAC;
maxValue = realItem.MaxMAC;
addValue = (!HoverItem.Info.NeedIdentify || HoverItem.Identified) ? HoverItem.MAC : 0;
if (minValue > 0 || maxValue > 0 || addValue > 0)
{
count++;
if (HoverItem.Info.Type != ItemType.Gem)
text = string.Format(addValue > 0 ? "MAC + {0}~{1} (+{2})" : "MAC + {0}~{1}", minValue, maxValue + addValue, addValue);
else
text = string.Format("Adds {0} MAC", minValue + maxValue + addValue);
MirLabel MACLabel = new MirLabel
{
AutoSize = true,
//.........这里部分代码省略.........