Esempio n. 1
0
    public override void Interact(PlayerInteractionController interactionController)
    {
        interactionController.DeinteractWithCurrentObject();

        if (IsLocked == false)
        {
            if (lockedForOthers == false)
            {
                lockedForOthers = true;
                Set_LockingState(true);
                Set_OnSetEnableStateCollider(false);

                photonView.TransferOwnership(PhotonNetwork.LocalPlayer);
            }

            if (interactionController.currentlyWielding != null)
            {
                if (interactionController.currentlyWielding != this)
                {
                    interactionController.DropObject(interactionController.currentlyWielding);
                }
            }

            interactionController.PickupObject(this, pickup_Offset, rotation_Offset);
        }
    }
 void Start()
 {
     m_entity             = Player.instance;
     m_stats              = m_entity.m_stats;
     m_entityController   = m_entity.m_controller;
     m_interactController = m_entity.m_interactController;
 }
Esempio n. 3
0
 void Awake()
 {
     _obj = GameObject.Find("PlayerObject");
     _movementController          = _obj.GetComponent(typeof(MovementController)) as MovementController;
     _playerInteractionController = _obj.GetComponent(typeof(PlayerInteractionController)) as PlayerInteractionController;
     _gameManager = GameManager.GetGameManager();                    // GameManager singleton
 }
Esempio n. 4
0
    protected override void Awake()
    {
        // maybe move to generic class
        m_photonView         = GetComponent <PhotonView>();
        m_statController     = gameObject.GetComponent <PlayerStatsController>();
        m_gearController     = gameObject.GetComponent <PlayerEquipmentController>();
        m_interactController = gameObject.GetComponent <PlayerInteractionController>();
        m_controller         = gameObject.GetComponent <PlayerController>();

        if (m_photonView.isMine)
        {
            instance = this;

            gameObject.tag = "Player";

            base.Awake();

            //m_statController.enabled = true;
            //m_gearController.enabled = true;
            m_interactController.enabled = true;
        }
        else
        {
            //m_statController.enabled = false;
            //m_gearController.enabled = false;
            m_interactController.enabled = false;
        }
    }
Esempio n. 5
0
 private void Awake()
 {
     playerController      = GetComponent <SimplePlayerController>();
     interactionController = GetComponentInChildren <PlayerInteractionController>();
     animator    = GetComponent <Animator>();
     myTransform = transform;
 }
    public override void Interact(PlayerInteractionController interactionController)
    {
        if (IsLocked == true)
        {
            DeInteract(interactionController);
            interactionController.DeinteractWithCurrentObject();
        }

        if (interactionController.currentlyWielding?.toolID != required_ToolID)
        {
            notool_Animator.transform.root.position = transform.position + object_ui_Offset;
            Set_Notifications();
            interactionController.DeinteractWithCurrentObject();
        }

        if (interactionController.currentlyWielding != null)
        {
            if (required_ToolID == interactionController.currentlyWielding.toolID)
            {
                noteTimer = 0;
                base.Interact(interactionController);
                return;
            }
        }
    }
Esempio n. 7
0
    public bool RemoveFish(PlayerInteractionController playerControllerScript, GameData.FishType fishType)
    {
        if (currentLevelSchools.ContainsKey(fishType))
        {
            FishSchoolController schoolController = currentLevelSchools[fishType];
            if (schoolController != null)
            {
                if (schoolController.FishInSchool.Count > 0)
                {
                    GameObject             fishToRemove           = schoolController.RemoveFishFromSchool(0);
                    FishMovementController fishMovementController = fishToRemove.GetComponent <FishMovementController>();
                    if (fishMovementController != null)
                    {
                        fishMovementController.SetEnabled(false);
                        FishController fishController = fishToRemove.GetComponent <FishController>();
                        if (fishController != null)
                        {
                            fishController.SetEnabled(true);
                            playerControllerScript.PickUpObject(fishToRemove);

                            return(true);
                        }
                    }
                }
            }
        }
        return(false);
    }
Esempio n. 8
0
    public virtual void OnCleanedObject(PlayerInteractionController interactionController)
    {
        Set_ObjectStateToClean();
        HouseManager.InvokeOnObjectStatusCallback((int)ownedByTeam);

        ServiceLocator.GetServiceOfType <EffectsManager>().PlayAudioMultiplayer("Cleaned", volume: 0.25f, spatialBlend: 1, audioMixerGroup: "Sfx");
    }
Esempio n. 9
0
    public override void Interact(GameObject otherActor)
    {
        if (otherActor.tag == "Player")
        {
            if (currentState == State.Idle)
            {
                PlayerInteractionController playerControllerScript = (PlayerInteractionController)otherActor.GetComponent(typeof(PlayerInteractionController));
                if (playerControllerScript != null)
                {
                    //Get the object held by the player.
                    GameObject objectToHold = playerControllerScript.GetHeldObject();
                    if (objectToHold != null)
                    {
                        FishController heldObjectControllerScript = (FishController)objectToHold.GetComponent(typeof(FishController));
                        if (heldObjectControllerScript != null)
                        {
                            playerControllerScript.DropObject();
                            heldObjectControllerScript.PutIn();
                        }

                        fishController    = heldObjectControllerScript;
                        currentState      = State.Disposing;
                        currentTime       = 0f;
                        teleportDuration  = speedCurve.keys[speedCurve.length - 1].time;
                        teleportDirection = (disposalPoint.position - fishController.gameObject.transform.position).normalized;
                        teleportDistance  = Vector3.Distance(disposalPoint.position, fishController.gameObject.transform.position);
                    }
                }
            }
        }
    }
Esempio n. 10
0
 private void Start()
 {
     gm  = GameManager.instance;
     pic = GetComponent <PlayerInteractionController>();
     characterController = GetComponent <CharacterController>();
     cam = Camera.main.gameObject;
     ToggleCursor(false);
 }
Esempio n. 11
0
    public void OnPickedUp(PlayerInteractionController playerInteractionController)
    {
        rigidbody.isKinematic = true;
        transform.parent      = playerInteractionController.pickableHolder;

        transform.DOKill();
        transform.DOLocalMove(Vector3.zero, playerInteractionController.pickUpMoveDuration).Play();
    }
Esempio n. 12
0
 public override void Interact(PlayerInteractionController player)
 {
     if (isAvailable)
     {
         InteractLever(player);
         TriggerLever();
     }
 }
Esempio n. 13
0
    void Awake()
    {
        //rb = this.GetComponent<Rigidbody> (); // Assigned in editor
        ControlMode           = GameData.ControlType.CHARACTER;
        interactionController = GetComponentInChildren <PlayerInteractionController>();
        animationController   = GetComponentInChildren <PlayerAnimationController>();

        isMoving = false;
    }
Esempio n. 14
0
    public override void OnInteract(PlayerInteractionController controller, bool click = false)
    {
        if ((transform.position - controller.transform.position).sqrMagnitude > RANGE * RANGE)
        {
            return;
        }

        ColorToggle.Toggle();
    }
Esempio n. 15
0
 // Use this for initialization
 void Start()
 {
     timerSmellRectangle = 0;
     player = GameObject.FindObjectOfType <Player>();
     interactionController = player.GetComponentInChildren <PlayerInteractionController>();
     _navMeshAgent         = GetComponent <NavMeshAgent>();
     _playerTransform      = player.transform;
     Destroy(this.gameObject, 12);
 }
    public override void OnInteract(PlayerInteractionController controller, bool click = false)
    {
        if (click)
        {
            return;
        }

        HUDManager.SculptureOptions.SetHandler(this);
    }
Esempio n. 17
0
 public override void DeInteract(PlayerInteractionController interactionController)
 {
     if (lockedForOthers == true)
     {
         lockedForOthers = false;
         Set_LockingState(false);
         interactionController.DropObject(this);
         Set_OnSetEnableStateCollider(true);
     }
 }
Esempio n. 18
0
 private void OnTriggerExit2D(Collider2D other)
 {
     _textMeshPro.enabled = false;
     if (!other.CompareTag("Player"))
     {
         return;
     }
     _playerInteractionController         = other.GetComponent <PlayerInteractionController>();
     _playerInteractionController.CanRead = false;
 }
Esempio n. 19
0
 private void OnTriggerEnter2D(Collider2D other)
 {
     _textMeshPro.enabled = true;
     if (!other.CompareTag("Player"))
     {
         return;
     }
     _playerInteractionController = other.GetComponent <PlayerInteractionController>();
     _playerInteractionController.GetActiveDocument(this);
 }
Esempio n. 20
0
    override public void Interact(GameObject otherActor)
    {
        if (otherActor.tag == "Player")
        {
            //Make sure the station is not currently controlled by another player.
            if (!this.IsActivated)
            {
                if (GameController.Obj.isTutorial)
                {
                    TutorialManager.Obj.hasActivatedAquarium = true;
                }

                PlayerInteractionController playerInteractionControllerScript = otherActor.GetComponent <PlayerInteractionController>();
                if (playerInteractionControllerScript != null)
                {
                    //Get the object held by the player.
                    GameObject objectToHold = playerInteractionControllerScript.GetHeldObject();
                    //Attempt to deposit the fish into the aquarium if the player is holding one.
                    if (objectToHold != null)
                    {
                        FishController heldObjectControllerScript = objectToHold.GetComponent <FishController>();
                        if (heldObjectControllerScript != null)
                        {
                            if (heldObjectControllerScript.IsDead())
                            {
                                ShowWarningText("This fish is dead!");
                            }
                            else if (!IsFishTypeStoreable(heldObjectControllerScript.fishType))
                            {
                                ShowWarningText("This fish is not part of the list!");
                            }
                            else
                            {
                                //Only allow the player to put a fish into the aquarium if they have researched the required amount for the species.
                                if (GameData.GetFishParameters(heldObjectControllerScript.fishType).totalResearched == GameData.GetFishParameters(heldObjectControllerScript.fishType).totalToResearch)
                                {
                                    playerInteractionControllerScript.DropObject();
                                    StoreFish(objectToHold, heldObjectControllerScript.fishType);
                                }
                                else
                                {
                                    ShowWarningText("Please complete the required number of researches for this species first!");
                                }
                            }
                        }
                    }
                    //Man the aquarium station otherwise.
                    else
                    {
                        EngagePlayer(otherActor);
                    }
                }
            }
        }
    }
Esempio n. 21
0
 private void GatherPlayerComponents()
 {
     entity                      = GetComponentInChildren <Entity>();
     playerController            = GetComponentInChildren <PlayerController>();
     weaponSlot                  = GetComponentInChildren <WeaponSlot>();
     playerAnimController        = GetComponentInChildren <PlayerAnimationController>();
     playerPickupManager         = GetComponentInChildren <PlayerPickUpManager>();
     playerInteractionController = GetComponentInChildren <PlayerInteractionController>();
     playerAudioManager          = GetComponentInChildren <PlayerAudioManager>();
     playerSkinSync              = GetComponentInChildren <SyncPlayerSkin>();
 }
    public override void OnInteract(PlayerInteractionController controller, bool clickInteract = false)
    {
        if (!clickInteract)
        {
            return;
        }

        var targetPos = TeleportTarget.position + TeleportOffset;

        HUDManager.ForwardCommand("/set-loc " + targetPos.x + " " + targetPos.y + " " + targetPos.z);
    }
Esempio n. 23
0
 public override void Interact(PlayerInteractionController player)
 {
     if (unlockLevel >= (int)lockType)
     {
         ChangeDoorState();
     }
     else
     {
         this.gameObject.layer = LayerMask.NameToLayer("Collidable");
         spriteRenderer.sprite = sprite1;
     }
 }
    public override void Interact(PlayerInteractionController interactionController)
    {
        if (IsLocked == true)
        {
            DeInteract(interactionController);
            interactionController.DeinteractWithCurrentObject();
        }

        if (IsBroken == true)
        {
            if (interactionController.currentlyWielding != null)
            {
                if (interactionController.currentlyWielding.toolID == repair_ToolID)
                {
                    OnStartInteraction();

                    if (lockedForOthers == false)
                    {
                        lockedForOthers = true;
                        Set_LockingState(true);
                        photonView.TransferOwnership(PhotonNetwork.LocalPlayer);
                    }

                    RepairProgression += Time.deltaTime;

                    if (repairProgressionUI.enabled == false)
                    {
                        Set_RepairProgressbarEnableState(true);
                    }

                    repairProgressionUI.Set_CurrentProgress(RepairProgression / repairTime);

                    if (RepairProgression >= repairTime)
                    {
                        passedFirstFrame = false;
                        ServiceLocator.GetServiceOfType <EffectsManager>().StopAudioMultiplayer(interactionSoundNumber);
                        RepairObject();
                        Set_BreakableProgressbarFinish();
                    }
                    return;
                }
            }

            notool_Animator.transform.root.position = transform.position + object_ui_Offset;
            Set_Notifications();
            return;
        }

        base.Interact(interactionController);
    }
    public override void DeInteract(PlayerInteractionController interactionController)
    {
        ServiceLocator.GetServiceOfType <EffectsManager>().StopAudioMultiplayer(interactionSoundNumber);

        if (IsBroken)
        {
            if (IsLocked == false)
            {
                Set_RepairProgressbarEnableState(false);
                RepairProgression = 0;
            }
        }

        base.DeInteract(interactionController);
    }
Esempio n. 26
0
    public override void InteractLever(PlayerInteractionController player)
    {
        changeAvailability();

        if (door.activeSelf)
        {
            door.SetActive(false);
            return;
        }
        else
        {
            door.SetActive(true);
            return;
        }
    }
Esempio n. 27
0
 public override void InteractLever(PlayerInteractionController player)
 {
     if (!isUsed)
     {
         isUsed = true;
         door.unlockLevel++;
         door.Interact(player);
     }
     else
     {
         isUsed = false;
         door.unlockLevel--;
         door.Interact(player);
     }
 }
    private void Awake()
    {
        _playerInteractionController = GetComponent <PlayerInteractionController>();
        _inputActions = new PlayerInputActions();
        _inputActions.PlayerControls.Move.performed     += ctx => _movementInput = ctx.ReadValue <Vector2>();
        _inputActions.PlayerControls.Sprint.performed   += ctx => Sprint(ctx.ReadValue <float>());
        _inputActions.PlayerControls.Crawl.performed    += ctx => Crouch(ctx.ReadValue <float>());
        _inputActions.PlayerControls.Interact.performed += ctx => _playerInteractionController.Interact();

        _spriteRenderer = GetComponent <SpriteRenderer>();

        MovementSpeedDefault = 5f;
        MovementSpeedSprint  = 8f;
        MovementSpeedCrawl   = 2f;
    }
Esempio n. 29
0
 private void OnTriggerEnter(Collider other)
 {
     if (!other.CompareTag("Player") || !other.CompareTag("Player2"))
     {
         return;
     }
     _controller = other.GetComponentInChildren <PlayerInteractionController>();
     if (!_controller.CurrentItem)
     {
         return;
     }
     if (_controller.CurrentItem.gameObject.CompareTag(cleaningObjectTag))
     {
         IsMet = true;
     }
 }
    public override void OnInteract(PlayerInteractionController controller, bool click = false)
    {
        m_PlayerController = controller;

        if (m_State == InteractState.ShowingText)
        {
            HUDManager.HideInteractionText();
            var beaconNames = Controller.GetBeacons();
            HUDManager.ShowBeaconDialog(beaconNames);
            HUDManager.ConveyanceSitAction    = OnSit;
            HUDManager.ConveyanceCancelAction = OnSitCancel;

            m_State = InteractState.DialogOptions;
            controller.DeactivateGameInput();
        }
    }
 private void Awake()
 {
     instance = this;
 }