示例#1
0
        public static bool OnCaughtObject(AnglerfishController __instance,
                                          OWRigidbody caughtBody)
        {
            var qsbAngler = __instance.GetWorldObject <QSBAngler>();

            if (__instance._currentState == AnglerfishController.AnglerState.Consuming)
            {
                if (!qsbAngler.TargetTransform.CompareTag("Player") && caughtBody.CompareTag("Player"))
                {
                    Locator.GetDeathManager().KillPlayer(DeathType.Digestion);
                }

                return(false);
            }

            if (caughtBody.CompareTag("Player") || caughtBody.CompareTag("Ship"))
            {
                qsbAngler.TargetTransform    = caughtBody.transform;
                __instance._consumeStartTime = Time.time;
                __instance.ChangeState(AnglerfishController.AnglerState.Consuming);
                qsbAngler.SendMessage(new AnglerDataMessage(qsbAngler));
            }

            return(false);
        }