private void buttonRedo_Click(object sender, EventArgs e) { //vérifier si on est bien sur un IUseCommand (par exemple DDSContainer n'en est pas un) IUseCommand selectedDockContainer = (IUseCommand)MainBar.Items[MainBar.SelectedDockTab]; selectedDockContainer.getManager().recoCommand(); }
public sbyte Use(int count, PlayerInstance player) { sbyte result = (sbyte)CSCommon.eRet_UseItem.Succeed; var useTemplate = CSTable.StaticDataManager.ItemUse[ItemData.Template.ItemUseId]; if (useTemplate == null) { result = (sbyte)CSCommon.eRet_UseItem.TplNull; Log.Log.Item.Print("useTemplate == null id={0}", ItemData.Template.ItemUseId); return(result); } if (Script == null) { Script = System.Activator.CreateInstance(Type.GetType(string.Format("ServerCommon.Planes.{0}", useTemplate.ItemUseMethod)), null) as IUseCommand; if (Script == null) { result = (sbyte)CSCommon.eRet_UseItem.MethodNull; Log.Log.Item.Print("ERROR:item Use,CreateInstance={0}", useTemplate.ItemUseMethod); return(result); } } int useResult = Script.Execute(player, count, useTemplate.Arg1, useTemplate.Arg2, useTemplate.Arg3); if (useResult < 0) { result = (sbyte)useResult; } else { if (useResult > 0) { mItemData.StackNum -= useResult; if (mItemData.StackNum > 0) { RPC.PackageWriter pkg = new RPC.PackageWriter(); Wuxia.H_RpcRoot.smInstance.RPC_ItemStackNumChanged(pkg, mItemData.ItemId, (byte)mItemData.Inventory, mItemData.StackNum); pkg.DoCommandPlanes2Client(player.Planes2GateConnect, player.ClientLinkId); } else { Inventory.DeleteItem(mItemData.ItemId); } } } return(result); }