Beispiel #1
0
        public override void OnEnter()
        {
            base.OnEnter();

            this.manipulatorController = this.characterBody.GetComponent <ManipulatorController>();

            switch (this.manipulatorController.currentElement)
            {
            case ManipulatorController.Element.None:
                this.SwitchElement(ManipulatorController.Element.Fire);
                Debug.LogWarning(ManipulatorPlugin.MODNAME + ": Warning: Switched to Element None!");
                break;

            case ManipulatorController.Element.Fire:
                this.SwitchElement(ManipulatorController.Element.Lightning);
                break;

            case ManipulatorController.Element.Lightning:
                this.SwitchElement(ManipulatorController.Element.Ice);
                break;

            case ManipulatorController.Element.Ice:
                this.SwitchElement(ManipulatorController.Element.Fire);
                break;
            }

            if (this.manipulatorController.hasJetBuff)
            {
                this.SmallHop(this.characterMotor, this.smallHopStrength);
            }
        }
 public override void OnEnter()
 {
     base.OnEnter();
     this.manipulatorController = this.characterBody.GetComponent <ManipulatorController>();
     this.duration = this.baseDuration / this.attackSpeedStat;
     this.fireTime = this.baseFireTime / this.attackSpeedStat;
 }
Beispiel #3
0
        public override void OnEnter()
        {
            base.OnEnter();

            this.manipulatorController = this.characterBody.GetComponent <ManipulatorController>();
            this.jetpackMachine        = EntityStateMachine.FindByCustomName(base.gameObject, "Jet");
            this.animator     = base.GetModelAnimator();
            this.childLocator = base.GetModelChildLocator();
            if (this.childLocator)
            {
                this.tailBone = this.childLocator.FindChild("Tail").GetComponent <DynamicBone>();
            }
        }
 private void SwitchCheckTeleport(TeleporterInteraction obj)
 {
     if (base.meetsBodyRequirement)
     {
         ManipulatorController maniController = base.localUser.cachedBodyObject.GetComponent <ManipulatorController>();
         if (maniController)
         {
             if (!maniController.hasSwapped)
             {
                 base.Grant();
             }
         }
     }
 }
Beispiel #5
0
    private ManipulatorController GetAttachingController(AttachmentTriggerController trigger)
    {
        ManipulatorController       controller   = null;
        InteractiveObjectController triggerOwner = trigger.GetOwningObject();

        if (triggerOwner.attached)
        {
            controller = triggerOwner.rootObject.GetAttachedController();
        }
        else
        {
            controller = triggerOwner.GetAttachedController();
        }

        return(controller);
    }
    // Use this for initialization
    void Start()
    {
        spawnPosition = this.transform.position;

        if (triggers.Length == 0)
        {
            triggers = GetComponentsInChildren <AttachmentTriggerController>();
        }
        if (attachmentPoints.Length == 0)
        {
            attachmentPoints = GetComponentsInChildren <AttachmentPointController>();
        }

        attachedController = null;
        this.rigidBody     = GetComponent <Rigidbody>();
        mass = rigidBody.mass;

        if (grabbable)
        {
            CalculateMovementFactors();
        }
    }
Beispiel #7
0
    public void Activate(AttachmentTriggerController trigger)
    {
        //Debug.Log("Activating!");

        attachingTrigger    = trigger;
        attachingObject     = GetAttachingObject(attachingTrigger);
        attachingController = GetAttachingController(attachingTrigger);

        if (attachingController && attachingObject && attachingController)
        {
            attachingObject.GetComponent <BoxCollider>().isTrigger = true;
            owningObject.IgnoreCollision(attachingObject.GetComponent <Collider>(), true);
            attachingObject.SetMoveMode(0);

            SetInitialTrackingPositions();
            attachingObject.transform.SetParent(objectGuide);

            attachingObject.busy = true;
            owningObject.busy    = true;
            activated            = true;
        }
    }
    // Update is called once per frame
    void Update()
    {
        if (objectController.grabbedStatus)
        {
            if (fireMode)
            {
                if (!manipulator)
                {
                    manipulator = objectController.attachedManipulator;
                }

                if (manipulator)
                {
                    if (manipulator.actionStatus)
                    {
                        if (!jetStatus)
                        {
                            ShootJet();
                        }
                    }

                    if (!manipulator.actionStatus)
                    {
                        if (jetStatus)
                        {
                            EndJet();
                        }
                    }
                }
            }

            if (!fireMode)
            {
                if (!manipulator)
                {
                    manipulator = objectController.attachedManipulator;
                }

                if (manipulator)
                {
                    if (manipulator.actionStatus)
                    {
                        Track();

                        if (!sparkleStatus)
                        {
                            Sparkle();
                        }
                    }

                    if (!manipulator.actionStatus)
                    {
                        if (referenceStatus)
                        {
                            ResetTracking();
                        }

                        if (sparkleStatus)
                        {
                            EndSparkle();
                        }
                    }
                }
            }
        }

        if (!objectController.grabbedStatus)
        {
            if (fireMode)
            {
                Extinguish();
            }

            if (manipulator)
            {
                manipulator = null;
            }

            if (sparkleStatus)
            {
                EndSparkle();
                ResetTracking();
            }
        }
    }
 public void Release()
 {
     attachedController = null;
     grabbed            = false;
 }
 public void Grab(ManipulatorController controller)
 {
     attachedController = controller;
     grabbed            = true;
 }
 public void SelectThisObject(ManipulatorController controller)
 {
     availableControllers.Add(controller);
 }
Beispiel #12
0
 public override void OnEnter()
 {
     this.manipulatorController = base.GetComponent <ManipulatorController>();
     base.OnEnter();
 }