本文整理汇总了C#中Server.Multis.DesignState.OnRevised方法的典型用法代码示例。如果您正苦于以下问题:C# DesignState.OnRevised方法的具体用法?C# DesignState.OnRevised怎么用?C# DesignState.OnRevised使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Server.Multis.DesignState
的用法示例。
在下文中一共展示了DesignState.OnRevised方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Designer_Revert
public static void Designer_Revert( NetState state, IEntity e, EncodedReader pvSrc )
{
Mobile from = state.Mobile;
DesignContext context = DesignContext.Find( from );
if ( context != null )
{
/* Client chose to revert design state to currently visible state
* - Revert design state
* - Construct a copy of the current visible state
* - Freeze fixtures in constructed state
* - Assign constructed state to foundation
* - If a signpost is needed, add it
* - Update revision
* - Update client with new state
*/
// Revert design state : Construct a copy of the current visible state
DesignState copyState = new DesignState( context.Foundation.CurrentState );
// Revert design state : Freeze fixtures in constructed state
copyState.FreezeFixtures();
// Revert design state : Assign constructed state to foundation
context.Foundation.DesignState = copyState;
// Revert design state : If a signpost is needed, add it
context.Foundation.CheckSignpost();
// Update revision
copyState.OnRevised();
// Update client with new state
context.Foundation.SendInfoTo( state );
copyState.SendDetailedInfoTo( state );
}
}
示例2: Designer_Clear
public static void Designer_Clear( NetState state, IEntity e, EncodedReader pvSrc )
{
Mobile from = state.Mobile;
DesignContext context = DesignContext.Find( from );
if ( context != null )
{
/* Client chose to clear the design
* - Restore empty foundation
* - Construct new design state from empty foundation
* - Assign constructed state to foundation
* - Update revision
* - Update client with new state
*/
// Restore empty foundation : Construct new design state from empty foundation
DesignState newDesign = new DesignState( context.Foundation, context.Foundation.GetEmptyFoundation() );
// Restore empty foundation : Assign constructed state to foundation
context.Foundation.DesignState = newDesign;
// Update revision
newDesign.OnRevised();
// Update client with new state
context.Foundation.SendInfoTo( state );
newDesign.SendDetailedInfoTo( state );
}
}
示例3: Designer_Restore
public static void Designer_Restore( NetState state, IEntity e, EncodedReader pvSrc )
{
Mobile from = state.Mobile;
DesignContext context = DesignContext.Find( from );
if ( context != null )
{
/* Client chose to restore design to the last backup state
* - Restore backup
* - Construct new design state from backup state
* - Assign constructed state to foundation
* - Update revision
* - Update client with new state
*/
// Restore backup : Construct new design state from backup state
DesignState backupDesign = new DesignState( context.Foundation.BackupState );
// Restore backup : Assign constructed state to foundation
context.Foundation.DesignState = backupDesign;
// Update revision;
backupDesign.OnRevised();
// Update client with new state
context.Foundation.SendInfoTo( state );
backupDesign.SendDetailedInfoTo( state );
}
}
示例4: TryInsertIntoState
private static bool TryInsertIntoState(DesignState state, int itemID, int x, int y, int z)
{
MultiComponentList mcl = state.Components;
if (x < mcl.Min.X || y < mcl.Min.Y || x > mcl.Max.X || y > mcl.Max.Y)
return false;
mcl.Add(itemID, x, y, z);
state.OnRevised();
return true;
}