本文整理匯總了C#中Server.Multis.DesignState.MeltFixtures方法的典型用法代碼示例。如果您正苦於以下問題:C# DesignState.MeltFixtures方法的具體用法?C# DesignState.MeltFixtures怎麽用?C# DesignState.MeltFixtures使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Server.Multis.DesignState
的用法示例。
在下文中一共展示了DesignState.MeltFixtures方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: EndConfirmCommit
public void EndConfirmCommit( Mobile from )
{
if (Deleted || DesignContext.Find(from) == null)
return;
int oldPrice = Price;
int newPrice = oldPrice + 10000 + ((DesignState.Components.List.Length - CurrentState.Components.List.Length) * 500);
int cost = newPrice - oldPrice;
if ( cost > 0 )
{
if ( Banker.Withdraw( from, cost ) )
{
from.SendLocalizedMessage( 1060398, cost.ToString() ); // ~1_AMOUNT~ gold has been withdrawn from your bank box.
}
else
{
from.SendLocalizedMessage( 1061903 ); // You cannot commit this house design, because you do not have the necessary funds in your bank box to pay for the upgrade. Please back up your design, obtain the required funds, and commit your design again.
return;
}
}
else if ( cost < 0 )
{
if ( Banker.Deposit( from, -cost ) )
from.SendLocalizedMessage( 1060397, (-cost).ToString() ); // ~1_AMOUNT~ gold has been deposited into your bank box.
else
return;
}
/* Client chose to commit current design state
* - Commit design state
* - Construct a copy of the current design state
* - Clear visible fixtures
* - Melt fixtures from constructed state
* - Add melted fixtures from constructed state
* - Assign constructed state to foundation
* - Update house price
* - Remove design context
* - Notify the client that customization has ended
* - Notify the core that the foundation has changed and should be resent to all clients
* - If a signpost is needed, add it
* - Eject all from house
* - Restore relocated entities
*/
// Commit design state : Construct a copy of the current design state
DesignState copyState = new DesignState( DesignState );
// Commit design state : Clear visible fixtures
ClearFixtures( from );
// Commit design state : Melt fixtures from constructed state
copyState.MeltFixtures();
// Commit design state : Add melted fixtures from constructed state
AddFixtures( from, copyState.Fixtures );
// Commit design state : Assign constructed state to foundation
CurrentState = copyState;
// Update house price
Price = newPrice - 10000;
// Remove design context
DesignContext.Remove( from );
// Notify the client that customization has ended
from.Send( new EndHouseCustomization( this ) );
// Notify the core that the foundation has changed and should be resent to all clients
Delta( ItemDelta.Update );
ProcessDelta();
CurrentState.SendDetailedInfoTo( from.NetState );
// If a signpost is needed, add it
CheckSignpost();
// Eject all from house
from.RevealingAction();
foreach ( Item item in GetItems() )
item.Location = BanLocation;
foreach ( Mobile mobile in GetMobiles() )
mobile.Location = BanLocation;
// Restore relocated entities
RestoreRelocatedEntities();
}
示例2: RefreshHouse
public void RefreshHouse(Mobile owner)
{
DesignState copyState = new DesignState(DesignState);
// Commit design state : Clear visible fixtures
ClearFixtures(owner);
// Commit design state : Melt fixtures from constructed state
copyState.MeltFixtures();
// Commit design state : Add melted fixtures from constructed state
AddFixtures(owner, copyState.Fixtures);
// Commit design state : Assign constructed state to foundation
CurrentState = copyState;
Delta(ItemDelta.Update);
ProcessDelta();
CurrentState.SendDetailedInfoTo(owner.NetState);
}
示例3: ECEndConfirmCommit
public void ECEndConfirmCommit(Mobile from)
{
if (this.Deleted)
return;
/* Client chose to commit current design state
* - Commit design state
* - Construct a copy of the current design state
* - Clear visible fixtures
* - Melt fixtures from constructed state
* - Add melted fixtures from constructed state
* - Assign constructed state to foundation
* - Update house price
* - Remove design context
* - Notify the client that customization has ended
* - Notify the core that the foundation has changed and should be resent to all clients
* - If a signpost is needed, add it
* - Eject all from house
* - Restore relocated entities
*/
// Commit design state : Construct a copy of the current design state
DesignState copyState = new DesignState(DesignState);
// Commit design state : Clear visible fixtures
ClearFixtures(from);
// Commit design state : Melt fixtures from constructed state
copyState.MeltFixtures();
// Commit design state : Add melted fixtures from constructed state
AddFixtures(from, copyState.Fixtures);
// Commit design state : Assign constructed state to foundation
CurrentState = copyState;
//// Update house price
//Price = newPrice;
// Remove design context
DesignContext.Remove(from);
// Notify the client that customization has ended
from.Send(new EndHouseCustomization(this));
// Notify the core that the foundation has changed and should be resent to all clients
Delta(ItemDelta.Update);
ProcessDelta();
CurrentState.SendDetailedInfoTo(from.NetState);
// If a signpost is needed, add it
CheckSignpost();
// Eject all from house
from.RevealingAction();
foreach (Item item in GetItems())
item.Location = BanLocation;
foreach (Mobile mobile in GetMobiles())
mobile.Location = BanLocation;
// Restore relocated entities
RestoreRelocatedEntities();
}
示例4: EndConfirmCommit
public void EndConfirmCommit(Mobile from)
{
int oldPrice = this.Price;
int newPrice = oldPrice + this.CustomizationCost + ((this.DesignState.Components.List.Length - (this.CurrentState.Components.List.Length + this.CurrentState.Fixtures.Length)) * 500);
int cost = newPrice - oldPrice;
if (!this.Deleted)
{ // Temporary Fix. We should be booting a client out of customization mode in the delete handler.
if (from.AccessLevel >= AccessLevel.GameMaster && cost != 0)
{
from.SendMessage("{0} gold would have been {1} your bank if you were not a GM.", cost.ToString(), ((cost > 0) ? "withdrawn from" : "deposited into"));
}
else
{
if (cost > 0)
{
if (Banker.Withdraw(from, cost))
{
from.SendLocalizedMessage(1060398, cost.ToString()); // ~1_AMOUNT~ gold has been withdrawn from your bank box.
}
else
{
from.SendLocalizedMessage(1061903); // You cannot commit this house design, because you do not have the necessary funds in your bank box to pay for the upgrade. Please back up your design, obtain the required funds, and commit your design again.
return;
}
}
else if (cost < 0)
{
if (Banker.Deposit(from, -cost))
from.SendLocalizedMessage(1060397, (-cost).ToString()); // ~1_AMOUNT~ gold has been deposited into your bank box.
else
return;
}
}
}
/* Client chose to commit current design state
* - Commit design state
* - Construct a copy of the current design state
* - Clear visible fixtures
* - Melt fixtures from constructed state
* - Add melted fixtures from constructed state
* - Assign constructed state to foundation
* - Update house price
* - Remove design context
* - Notify the client that customization has ended
* - Notify the core that the foundation has changed and should be resent to all clients
* - If a signpost is needed, add it
* - Eject all from house
* - Restore relocated entities
*/
// Commit design state : Construct a copy of the current design state
DesignState copyState = new DesignState(this.DesignState);
// Commit design state : Clear visible fixtures
this.ClearFixtures(from);
// Commit design state : Melt fixtures from constructed state
copyState.MeltFixtures();
// Commit design state : Add melted fixtures from constructed state
this.AddFixtures(from, copyState.Fixtures);
// Commit design state : Assign constructed state to foundation
this.CurrentState = copyState;
// Update house price
this.Price = newPrice - this.CustomizationCost;
// Remove design context
DesignContext.Remove(from);
// Notify the client that customization has ended
from.Send(new EndHouseCustomization(this));
// Notify the core that the foundation has changed and should be resent to all clients
this.Delta(ItemDelta.Update);
this.ProcessDelta();
this.CurrentState.SendDetailedInfoTo(from.NetState);
// If a signpost is needed, add it
this.CheckSignpost();
// Eject all from house
from.RevealingAction();
foreach (Item item in this.GetItems())
item.Location = this.BanLocation;
foreach (Mobile mobile in this.GetMobiles())
mobile.Location = this.BanLocation;
// Restore relocated entities
this.RestoreRelocatedEntities();
}
示例5: EndConfirmCommit
public void EndConfirmCommit(Mobile from)
{
int oldPrice = Price;
int newPrice = oldPrice + CustomizationCost +
((DesignState.Components.List.Length - (CurrentState.Components.List.Length + CurrentState.Fixtures.Length)) *
500);
int cost = newPrice - oldPrice;
if (!Deleted)
{
// Temporary Fix. We should be booting a client out of customization mode in the delete handler.
if (from.AccessLevel >= AccessLevel.GameMaster && cost != 0)
{
from.SendMessage("Staff may commit freely, no charges or rebates.");
}
else
{
Type cType = Expansion == Expansion.T2A ? typeof(Silver) : typeof(Gold);
if (cost > 0)
{
if (Banker.Withdraw(from, cType, cost))
{
from.SendMessage("{0:#,0} {1} has been withdrawn from your bank box.", cost, cType.Name);
}
else
{
// You cannot commit this house design, because you do not have the necessary funds in your bank box to pay for the upgrade.
// Please back up your design, obtain the required funds, and commit your design again.
from.SendLocalizedMessage(1061903);
return;
}
}
else if (cost < 0)
{
cost = Math.Abs(cost);
if (Banker.Deposit(from, cType, cost))
{
from.SendMessage("{0:#,0} {1} has been deposited into your bank box.", cost, cType.Name);
}
else
{
return;
}
}
}
}
/* Client chose to commit current design state
* - Commit design state
* - Construct a copy of the current design state
* - Clear visible fixtures
* - Melt fixtures from constructed state
* - Add melted fixtures from constructed state
* - Assign constructed state to foundation
* - Update house price
* - Remove design context
* - Notify the client that customization has ended
* - Notify the core that the foundation has changed and should be resent to all clients
* - If a signpost is needed, add it
* - Eject all from house
* - Restore relocated entities
*/
// Commit design state : Construct a copy of the current design state
var copyState = new DesignState(DesignState);
// Commit design state : Clear visible fixtures
ClearFixtures(from);
// Commit design state : Melt fixtures from constructed state
copyState.MeltFixtures();
// Commit design state : Add melted fixtures from constructed state
AddFixtures(from, copyState.Fixtures);
// Commit design state : Assign constructed state to foundation
CurrentState = copyState;
// Update house price
Price = newPrice - CustomizationCost;
// Remove design context
DesignContext.Remove(from);
// Notify the client that customization has ended
from.Send(new EndHouseCustomization(this));
// Notify the core that the foundation has changed and should be resent to all clients
Delta(ItemDelta.Update);
ProcessDelta();
CurrentState.SendDetailedInfoTo(from.NetState);
// If a signpost is needed, add it
CheckSignpost();
// Eject all from house
from.RevealingAction();
//.........這裏部分代碼省略.........