本文整理汇总了C#中BuildingBlock.SetHealthToMax方法的典型用法代码示例。如果您正苦于以下问题:C# BuildingBlock.SetHealthToMax方法的具体用法?C# BuildingBlock.SetHealthToMax怎么用?C# BuildingBlock.SetHealthToMax使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BuildingBlock
的用法示例。
在下文中一共展示了BuildingBlock.SetHealthToMax方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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);
}
示例2: On_BuildingPartGradeChange
public static void On_BuildingPartGradeChange(BuildingBlock bb, BaseEntity.RPCMessage msg)
{
BuildingGrade.Enum bgrade = (BuildingGrade.Enum)msg.read.Int32();
BasePlayer player = msg.player;
BuildingPartGradeChangeEvent bpgce = new BuildingPartGradeChangeEvent(bb, bgrade, player);
OnNext("On_BuildingPartGradeChange", bpgce);
ConstructionGrade cg = (ConstructionGrade)bb.CallMethod("GetGrade", bpgce.Grade);
if (bpgce.DoDestroy) {
bpgce.Builder.Message(bpgce.DestroyReason);
UnityEngine.Object.Destroy(bb);
return;
}
if (cg == null) return;
if (!bpgce.HasPrivilege) return;
if (bpgce.PayForUpgrade && !(bool)bb.CallMethod("CanAffordUpgrade", bpgce.Grade, player)) return;
if (bb.TimeSinceAttacked() < 8f) return;
if (bpgce.PayForUpgrade) bb.CallMethod("PayForUpgrade", cg, player);
bb.SetGrade(bpgce.Grade);
bb.SetHealthToMax();
if (bpgce.Rotatable) bb.CallMethod("StartBeingRotatable");
bb.SendNetworkUpdate();
bb.CallMethod("UpdateSkin", false);
Effect.server.Run("assets/bundled/prefabs/fx/build/promote_" + bpgce.Grade.ToString().ToLower() + ".prefab", bb, 0u, Vector3.zero, Vector3.zero);
}