Пример #1
0
        private static void HandleTriggerDamageEvent(VRC_EventHandler.VrcEvent triggerEvent, GameObject obj)
        {
            if (obj == null)
            {
                VRCSDK2.VRC_CombatSystem combatSystem = VRCSDK2.VRC_CombatSystem.GetInstance();
                if (combatSystem != null)
                {
                    obj = combatSystem.gameObject;
                }
            }

            if (obj != null)
            {
                IVRC_Destructible destructable = obj.GetComponent <IVRC_Destructible>();
                if (destructable != null)
                {
                    if (triggerEvent.EventType == VRC_EventHandler.VrcEventType.AddDamage)
                    {
                        destructable.ApplyDamage(triggerEvent.ParameterFloat);
                    }
                    else if (triggerEvent.EventType == VRC_EventHandler.VrcEventType.AddHealth)
                    {
                        destructable.ApplyHealing(triggerEvent.ParameterFloat);
                    }
                }
            }
        }
Пример #2
0
        public static void SetupCombat()
        {
            VRCSDK2.VRC_CombatSystem combatSystem = FindObjectOfType <VRCSDK2.VRC_CombatSystem>();
            if (combatSystem != null)
            {
                combatSystem.gameObject.AddComponent <CyanEmuCombatSystemHelper>();

                CyanEmuCombatSystemHelper.CombatSetMaxHitpoints(null, combatSystem.maxPlayerHealth);
                CyanEmuCombatSystemHelper.CombatSetRespawn(null, combatSystem.respawnOnDeath, combatSystem.respawnTime, combatSystem.respawnPoint);
                CyanEmuCombatSystemHelper.CombatSetDamageGraphic(null, combatSystem.visualDamagePrefab);

                CyanEmuCombatSystemHelper.CombatSetActions(
                    () => VRC_Trigger.TriggerCustom(combatSystem.onPlayerDamagedTrigger),
                    () => VRC_Trigger.TriggerCustom(combatSystem.onPlayerKilledTrigger),
                    () => VRC_Trigger.TriggerCustom(combatSystem.onPlayerHealedTrigger)
                    );
            }
        }