public virtual void SetTubHue(Mobile from, object state, int hue) { if (state is RunebookDyeTub) { RunebookDyeTub runebookDyeTub = state as RunebookDyeTub; runebookDyeTub.DyeColor = hue; } if (state is DyeTub) { DyeTub tub = state as DyeTub; tub.DyedHue = hue; } }
public InternalTarget(RunebookDyeTub runebookDyeTub) : base(1, false, TargetFlags.None) { m_RunebookDyeTub = runebookDyeTub; }
public InternalRunebookPicker(RunebookDyeTub runebookDyeTub) : base(runebookDyeTub.ItemID) { m_RunebookDyeTub = runebookDyeTub; }
protected override void OnTarget(Mobile from, object targeted) { if (targeted is RunebookDyeTub) { RunebookDyeTub runebookDyeTub = targeted as RunebookDyeTub; if (runebookDyeTub.Redyable) { if (runebookDyeTub.CustomHuePicker != null) { from.SendGump(new CustomHuePickerGump(from, runebookDyeTub.CustomHuePicker, new CustomHuePickerCallback(SetTubHue), runebookDyeTub)); } else { from.SendHuePicker(new InternalRunebookPicker(runebookDyeTub)); } } else { from.SendMessage("That dye tub cannot be redyed."); } } else if (targeted is DyeTub) { DyeTub tub = (DyeTub)targeted; if (tub.Redyable) { if (tub.MetallicHues) { from.SendGump(new MetallicHuePicker(from, new MetallicHuePicker.MetallicHuePickerCallback(SetTubHue), tub)); } else if (tub.CustomHuePicker != null) { from.SendGump(new CustomHuePickerGump(from, tub.CustomHuePicker, new CustomHuePickerCallback(SetTubHue), tub)); } else { from.SendHuePicker(new InternalPicker(tub)); } } else if (tub is BlackDyeTub) { from.SendLocalizedMessage(1010092); // You can not use this on a black dye tub. } else { from.SendMessage("That dye tub may not be redyed."); } } else { from.SendLocalizedMessage(500857); // Use this on a dye tub. } }