public MRKToSDynamicButton CreateDynamicButton(MRKToSPlayer owner, string name, Action <MRKToSDynamicButton, bool> stateDel = null) { MRKToSDynamicButton button = new MRKToSDynamicButton(owner, name, stateDel); m_Buttons[button.ID] = button; //handle button creation owner.Match.UIListener.OnDynamicButtonCreated(button); return(button); }
protected override void OnDynamicButtonStateChanged(MRKToSDynamicButton button, bool newState) { MRKToSPlayer newTarget = GetTargetFromButton(button); if (newTarget == Target) { Target = null; Player.SendMessage(MRKToSGameMessages.MRKTOS_GENERIC_TARGETNONE); return; } Player.SendMessage(newTarget == Player ? MRKToSGameMessages.MRKTOS_BODYGUARD_TARGETSELF : string.Format(MRKToSGameMessages.MRKTOS_BODYGUARD_TARGETOTHER, newTarget.Name)); Target = newTarget; }
protected virtual void OnDynamicButtonStateChanged(MRKToSDynamicButton button, bool newState) { }
protected MRKToSPlayer GetTargetFromButton(MRKToSDynamicButton button) { return(Player.Match.Players[int.Parse(button.Name.Substring(button.Name.LastIndexOf('_') + 1))]); }