本文整理汇总了C#中BuildingBlock.UpdateSkin方法的典型用法代码示例。如果您正苦于以下问题:C# BuildingBlock.UpdateSkin方法的具体用法?C# BuildingBlock.UpdateSkin怎么用?C# BuildingBlock.UpdateSkin使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BuildingBlock
的用法示例。
在下文中一共展示了BuildingBlock.UpdateSkin方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: On_BuildingUpgrade
/// <summary>
/// Called from <c>BuildingBlock.DoUpgradeToGrade(BaseEntity.RPCMessage)</c> .
/// </summary>
public static void On_BuildingUpgrade(BuildingBlock block, BaseEntity.RPCMessage msg)
{
BasePlayer messagePlayer = msg.player;
BuildingGrade.Enum buildingGrade = (BuildingGrade.Enum) msg.read.Int32();
ConstructionGrade constructionGrade = (ConstructionGrade) block.CallMethod("GetGrade", buildingGrade);
Pre<BuildingUpgradeEvent> preBuildingUpgradeEvent = new Pre<BuildingUpgradeEvent>(block, buildingGrade, messagePlayer);
OnNext("Pre_BuildingUpgrade", preBuildingUpgradeEvent);
if (preBuildingUpgradeEvent.IsCanceled)
return;
if (constructionGrade == null)
return;
if ((bool) block.CallMethod("CanChangeToGrade", buildingGrade, messagePlayer) == false)
return;
if ((bool)block.CallMethod("CanAffordUpgrade", buildingGrade, messagePlayer) == false)
return;
block.CallMethod("PayForUpgrade", constructionGrade, messagePlayer);
block.SetGrade(buildingGrade);
block.SetHealthToMax();
block.CallMethod("StartBeingRotatable");
block.SendNetworkUpdate(BasePlayer.NetworkQueue.Update);
block.UpdateSkin(false);
Effect.server.Run("assets/bundled/prefabs/fx/build/promote_" + buildingGrade.ToString().ToLower() + ".prefab", block, 0u, Vector3.zero, Vector3.zero);
OnNext("On_BuildingUpgrade", preBuildingUpgradeEvent.Event);
}