本文整理汇总了C#中ISceneChildEntity.GetNumberOfSides方法的典型用法代码示例。如果您正苦于以下问题:C# ISceneChildEntity.GetNumberOfSides方法的具体用法?C# ISceneChildEntity.GetNumberOfSides怎么用?C# ISceneChildEntity.GetNumberOfSides使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISceneChildEntity
的用法示例。
在下文中一共展示了ISceneChildEntity.GetNumberOfSides方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CheckFaceParam
/// <summary>
/// Check that the face number is valid for the given prim.
/// </summary>
/// <param name="part"></param>
/// <param name="face"></param>
protected void CheckFaceParam (ISceneChildEntity part, int face)
{
if (face < 0)
throw new ArgumentException("Face cannot be less than zero");
int maxFaces = part.GetNumberOfSides() - 1;
if (face > maxFaces)
throw new ArgumentException(
string.Format("Face argument was {0} but max is {1}", face, maxFaces));
}
示例2: SetMediaEntry
public void SetMediaEntry (ISceneChildEntity part, int face, MediaEntry me)
{
CheckFaceParam(part, face);
if (null == part.Shape.Media)
{
if (me == null)
return;
else
part.Shape.Media = new PrimitiveBaseShape.MediaList(new MediaEntry[part.GetNumberOfSides()]);
}
lock (part.Shape.Media)
part.Shape.Media[face] = me;
UpdateMediaUrl(part, UUID.Zero);
SetPartMediaFlags(part, face, me != null);
part.ScheduleUpdate(PrimUpdateFlags.FullUpdate);
part.TriggerScriptChangedEvent(Changed.MEDIA);
}
示例3: ClearPrimMedia
private void ClearPrimMedia (ISceneChildEntity entity, LSL_Integer face)
{
// LSL Spec http://wiki.secondlife.com/wiki/LlClearPrimMedia says to fail silently if face is invalid
// Assuming silently fail means sending back LSL_STATUS_OK. Ideally, need to check this.
// FIXME: Don't perform the media check directly
if(face < 0 || face > entity.GetNumberOfSides() - 1)
return;
IMoapModule module = World.RequestModuleInterface<IMoapModule>();
if(null == module)
throw new Exception("Media on a prim functions not available");
module.ClearMediaEntry(entity, face);
}
示例4: GetNumberOfSides
protected int GetNumberOfSides (ISceneChildEntity part)
{
int sides = part.GetNumberOfSides();
if (part.GetPrimType() == PrimType.SPHERE && part.Shape.ProfileHollow > 0)
{
// Make up for a bug where LSL shows 4 sides rather than 2
sides += 2;
}
return sides;
}
示例5: SetMediaEntry
public void SetMediaEntry(ISceneChildEntity part, int face, MediaEntry me)
{
CheckFaceParam(part, face);
if (null == part.Shape.Media)
{
if (me == null)
return;
else
{
part.Shape.Media = new PrimitiveBaseShape.MediaList(new MediaEntry[part.GetNumberOfSides()]);
}
}
if (part.Shape.Media[face] == null) //If it doesn't exist, set the default parameters for it
me.InteractPermissions = MediaPermission.All;
lock (part.Shape.Media)
part.Shape.Media[face] = me;
UpdateMediaUrl(part, UUID.Zero);
SetPartMediaFlags(part, face, me != null);
part.ScheduleUpdate(PrimUpdateFlags.FullUpdate);
part.TriggerScriptChangedEvent(Changed.MEDIA);
}