本文整理汇总了C#中DOL.GS.Keeps.GameKeepComponent.RemoveFromWorld方法的典型用法代码示例。如果您正苦于以下问题:C# GameKeepComponent.RemoveFromWorld方法的具体用法?C# GameKeepComponent.RemoveFromWorld怎么用?C# GameKeepComponent.RemoveFromWorld使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DOL.GS.Keeps.GameKeepComponent
的用法示例。
在下文中一共展示了GameKeepComponent.RemoveFromWorld方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OnCommand
//.........这里部分代码省略.........
DisplaySyntax(client);
return;
}
int skin = 0;
try
{
skin = Convert.ToInt32(args[2]);
}
catch
{
DisplaySyntax(client);
return;
}
GameKeepComponent component = client.Player.TargetObject as GameKeepComponent;
if (component == null)
{
DisplaySyntax(client);
return;
}
component.Skin = skin;
foreach (GameClient cli in WorldMgr.GetClientsOfRegion(client.Player.CurrentRegionID))
{
cli.Out.SendKeepComponentInfo(component);
cli.Out.SendKeepComponentDetailUpdate(component);
}
//client.Out.SendMessage(LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.KeepComponents.Skin.YChangeSkin"), eChatType.CT_System, eChatLoc.CL_SystemWindow);
client.Out.SendMessage("Component skin updated. Use /keepcomponent save to save, or reload to reload the original skin.", eChatType.CT_System, eChatLoc.CL_SystemWindow);
} break;
#endregion Skin
#region Delete
case "delete":
{
GameKeepComponent component = client.Player.TargetObject as GameKeepComponent;
if (component == null)
{
DisplaySyntax(client);
return;
}
component.RemoveFromWorld();
component.Delete();
component.DeleteFromDatabase();
client.Out.SendMessage(LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.KeepComponents.Delete.YDeleteKC"), eChatType.CT_System, eChatLoc.CL_SystemWindow);
} break;
#endregion Delete
#region Save
case "save":
{
GameKeepComponent component = client.Player.TargetObject as GameKeepComponent;
if (component == null)
{
DisplaySyntax(client);
return;
}
component.SaveIntoDatabase();
client.Out.SendMessage(string.Format("Saved ComponentID: {0}, KeepID: {1}, Skin: {2}, Health: {3}%",
component.ID,
(component.Keep == null ? "0" : component.Keep.KeepID.ToString()),
component.Skin,
component.HealthPercent), eChatType.CT_System, eChatLoc.CL_SystemWindow);
} break;
#endregion Save
#region Reload
case "reload":
{
GameKeepComponent component = client.Player.TargetObject as GameKeepComponent;
if (component == null)
{
DisplaySyntax(client);
return;
}
DBKeepComponent dbcomponent = GameServer.Database.SelectObject<DBKeepComponent>("`KeepID` = '" + component.Keep.KeepID + "' AND `ID` = '" + component.ID + "'");
component.ComponentX = dbcomponent.X;
component.ComponentY = dbcomponent.Y;
component.ComponentHeading = dbcomponent.Heading;
component.Skin = dbcomponent.Skin;
foreach (GameClient cli in WorldMgr.GetClientsOfRegion(client.Player.CurrentRegionID))
{
cli.Out.SendKeepComponentInfo(component);
cli.Out.SendKeepComponentDetailUpdate(component);
}
client.Out.SendMessage("Component Reloaded", eChatType.CT_System, eChatLoc.CL_SystemWindow);
break;
}
#endregion Reload
#region Default
default:
{
DisplaySyntax(client);
return;
}
#endregion Default
}
}
示例2: OnCommand
//.........这里部分代码省略.........
client.Out.SendKeepInfo(myKeep);
client.Out.SendKeepComponentInfo(component);
client.Out.SendMessage(LanguageMgr.GetTranslation(client, "GMCommands.KeepComponents.Create.KCCreated"), eChatType.CT_System, eChatLoc.CL_SystemWindow);
} break;
#endregion Create
#region Move
case "move":
{
GameKeepComponent component = client.Player.TargetObject as GameKeepComponent;
component.X = client.Player.X;
component.Y = client.Player.Y;
component.Z = client.Player.Z;
component.ComponentHeading = (client.Player.Heading - myKeep.Heading) / 1024;
component.Heading = (ushort)(component.ComponentHeading * 1024 + myKeep.Heading);
component.Keep = myKeep;
//todo good formula
//component.ComponentX = (component.X - myKeep.X) / 148;
//component.ComponentY = (myKeep.Y - component.Y) / 148;
double angle = myKeep.Heading * ((Math.PI * 2) / 360); // angle*2pi/360;
//component.ComponentX = (int)((148 * Math.Sin(angle) * myKeep.X - 148 * Math.Sin(angle) * client.Player.X + client.Player.Y - myKeep.Y)
// / (148 * Math.Sin(angle) - 148 * 148 * 2 * Math.Sin(angle) * Math.Cos(angle)));
//component.ComponentY = (int)((myKeep.Y - client.Player.Y + 148 * Math.Sin(angle) * component.ComponentX) / (148 * Math.Cos(angle)));
component.ComponentX = CalcCX(client.Player, myKeep, angle);
component.ComponentY = CalcCY(client.Player, myKeep, angle);
component.SaveIntoDatabase();
client.Out.SendKeepInfo(myKeep);
client.Out.SendKeepComponentInfo(component);
client.Out.SendMessage("Component moved.", eChatType.CT_System, eChatLoc.CL_SystemWindow);
} break;
#endregion
#region Skin
case "skin":
{
if (args.Length < 3)
{
int i = 0;
foreach (string str in Enum.GetNames(typeof(GameKeepComponent.eComponentSkin)))
{
client.Out.SendMessage("#" + i + ": " + str, eChatType.CT_System, eChatLoc.CL_SystemWindow);
i++;
}
DisplaySyntax(client);
return;
}
int skin = 0;
try
{
skin = Convert.ToInt32(args[2]);
}
catch
{
DisplaySyntax(client);
return;
}
GameKeepComponent component = client.Player.TargetObject as GameKeepComponent;
if (component == null)
{
DisplaySyntax(client);
return;
}
component.Skin = skin;
foreach (GameClient cli in WorldMgr.GetClientsOfRegion(client.Player.CurrentRegionID))
{
cli.Out.SendKeepComponentInfo(component);
}
component.SaveInDB = true;
client.Out.SendMessage(LanguageMgr.GetTranslation(client, "GMCommands.KeepComponents.Skin.YChangeSkin"), eChatType.CT_System, eChatLoc.CL_SystemWindow);
} break;
#endregion Skin
#region Delete
case "delete":
{
GameKeepComponent component = client.Player.TargetObject as GameKeepComponent;
if (component == null)
{
DisplaySyntax(client);
return;
}
component.RemoveFromWorld();
component.Delete();
component.DeleteFromDatabase();
client.Out.SendMessage(LanguageMgr.GetTranslation(client, "GMCommands.KeepComponents.Delete.YDeleteKC"), eChatType.CT_System, eChatLoc.CL_SystemWindow);
} break;
#endregion Delete
#region Default
default:
{
DisplaySyntax(client);
return;
}
#endregion Default
}
}