/// <summary> /// 使用上楼器 /// </summary> public override void Use(IPropUser user) { //小于最大楼层 if (MotaWorld.GetInstance().MapManager.CurFloorIndex < MotaWorld.GetInstance().MapManager.Tower.MaxFloor - 1) { MotaWorld.GetInstance().MapManager.CurFloorIndex = MotaWorld.GetInstance().MapManager.CurFloorNode.NextFloor; this.CutDown(); } }
/// <summary> /// 使用破墙镐消除使用者前方的障碍物,如果消去成功,物品数量减1 /// </summary> public override void Use(IPropUser user) { //打破前面的一堵墙 Coord station = user.Station; station.Offset(user.FaceTo); if (MotaWorld.GetInstance().MapManager.Destroy(station)) { //如果破坏成功,减掉道具 this.CutDown(); } }
/// <summary> /// 根据道具使用按键使用相应的道具 /// </summary> /// <param name="name">道具使用按键</param> /// <param name="user">道具使用者</param> public void UseProperty(System.Windows.Forms.Keys keyCode, IPropUser user) { foreach (var item in PropList) { if (item.UseKeyCode == keyCode) { if (item.Count > 0) { item.Use(user); } break; } } }
/// <summary> /// 使用楼层跳转器, 打开楼层跳转窗口 /// </summary> public override void Use(IPropUser user) { MotaWorld.GetInstance().FloorSkipWindow.Open(null); }
/// <summary> /// 使用怪物手册, 打开怪物手册窗口 /// </summary> public override void Use(IPropUser user) { MotaWorld.GetInstance().BookWindow.Open(null); }
/// <summary> /// 使用道具 /// </summary> /// <param name="user">道具使用者</param> public abstract void Use(IPropUser user);
/// <summary> /// 无法主动使用 /// </summary> public override void Use(IPropUser user) { }