当前位置: 首页>>代码示例>>C#>>正文


C# BuildingBlock.SetHealthToMax方法代码示例

本文整理汇总了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);
        }
开发者ID:Notulp,项目名称:Pluton.Rust,代码行数:36,代码来源:Hooks.cs

示例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);
        }
开发者ID:Notulp,项目名称:Pluton,代码行数:24,代码来源:Hooks.cs


注:本文中的BuildingBlock.SetHealthToMax方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。