示例#1
0
        public static void DoPortalAim()
        {
            if (portalAimLine == null || !portalAimLine.IsValid)
            {
                portalAimLine = new SpellAimLine();
            }
            Transform t     = Camera.main.transform;
            var       hits1 = Physics.RaycastAll(t.position, t.forward, portalCastMaxRange + 1f);

            foreach (var hit in hits1)
            {
                if (!hit.transform.CompareTag("enemyCollide") && hit.transform.root != LocalPlayer.Transform.root)
                {
                    portalAimLine.UpdatePosition(t.position + Vector3.down * 2, hit.point - t.forward + Vector3.up);
                    return;
                }
            }

            portalAimLine.UpdatePosition(t.position + Vector3.down * 2, LocalPlayer.Transform.position + t.forward * portalCastMaxRange);
        }
示例#2
0
        public static void DoBlinkAim()
        {
            if (blinkAim == null || !blinkAim.IsValid)
            {
                blinkAim = new SpellAimLine();
            }
            Transform t     = Camera.main.transform;
            var       hits1 = Physics.RaycastAll(t.position, t.forward, ModdedPlayer.Stats.spell_blinkRange + 1f);

            foreach (var hit in hits1)
            {
                if (!hit.transform.CompareTag("enemyCollide") && hit.transform.root != LocalPlayer.Transform.root)
                {
                    blinkAim.UpdatePosition(t.position + Vector3.down * 2, hit.point - t.forward + Vector3.up * 0.25f);
                    return;
                }
            }

            blinkAim.UpdatePosition(t.position + Vector3.down * 2, LocalPlayer.Transform.position + t.forward * ModdedPlayer.Stats.spell_blinkRange);
        }