コード例 #1
0
ファイル: Incineration.cs プロジェクト: Reinms/RoR2Modding
            public static void DoNetworkedDamage(DamageInfo info, HurtBox target)
            {
#if NETWORKING
                ReinCore.NetworkingHelpers.DealDamage(info, target, true, true, true);
#else
                HealthComponent targetHc  = null;
                GameObject      targetObj = null;

                if (target != null)
                {
                    targetHc = target.healthComponent;
                }
                if (targetHc != null)
                {
                    targetObj = targetHc.gameObject;
                }
                if (NetworkServer.active)
                {
                    if (targetObj != null)
                    {
                        target.TakeDamage(info);
                        GlobalEventManager.instance.OnHitEnemy(info, targetObj);
                    }
                    GlobalEventManager.instance.OnHitAll(info, targetObj);
                }
                else if (ClientScene.ready)
                {
                    write.StartMessage(RoR2.Networking.UmsgType.BulletDamage);
                    write.Write(targetObj);
                    WriteDmgInfo(write, info);
                    write.Write(targetObj != null);
                    write.FinishMessage();
                    ClientScene.readyConnection.SendWriter(write, (Int32)QosType.Reliable);
                }
#endif
            }