public void OnPurpleReset()
    {
        if (IsGrabbingObject())
        {
            if (m_GrabbedObject.GetComponent <ResetBase>() != null)
            {
                m_GrabbedObject.GetComponent <ResetBase>().OnSectionReset();
            }
            StopGrabbingObject(m_GrabbedObject);
//			m_GrabbedObject.SetIsGrabbing(false);
//			m_GrabbedObject = null;
        }
        if (IsCarryingObject())
        {
//			PutDownCarryingObject();
//			ResetBase rb;
            if (m_PickedUpObject.GetComponent <ResetBase>() != null)
            {
                m_PickedUpObject.GetComponent <ResetBase>().OnSectionReset();
            }
            m_PickedUpObject.SetToStartParent();
            Collider2D pickupObjectCollider = m_PickedUpObject.GetComponent <Collider2D>();
            if (pickupObjectCollider != null)
            {
//				Physics2D.IgnoreCollision( m_Collider, pickupObjectCollider );
                pickupObjectCollider.enabled = true;
            }
            m_PickedUpObject = null;
//			m_PickedUpObject = null;
        }
    }
Example #2
0
 public void ThrowCarryingObject()
 {
     m_PickedUpObject.Throw(m_Character);
     m_PickedUpObject = null;
     m_MovementModel.SetFrozen(false, false, false);
     m_MovementModel.SetIsAbleToAttack(true);
 }
Example #3
0
        public List <int> GetPickupSpawnLocation(InteractablePickup type)
        {
            List <int> pickableNodeList = new List <int>();

            for (int i = 0; i < graph.Count; i++)
            {
                if (graph[i].node.spawnPickups == type)
                {
                    pickableNodeList.Add(graph[i].node.uniqueID);
                }
            }
            return(pickableNodeList);
        }
    public void PutDownCarryingObject()
    {
        if (m_PickedUpObject != null && !Helper.IsTooCloseToWall(m_Character, 0.33f))
        {
            m_PickedUpObject.PutDown(m_Character);
            Collider2D pickupObjectCollider = m_PickedUpObject.GetComponent <Collider2D>();
            if (pickupObjectCollider != null)
            {
//				Physics2D.IgnoreCollision( m_Collider, pickupObjectCollider );
                pickupObjectCollider.enabled = true;
            }
            m_PickedUpObject = null;
        }
    }
    public void PickUpObject(InteractablePickup pickUpObject)
    {
        pickedUpObject = pickUpObject;
        pickedUpObject.transform.parent        = movementModel.PickupItemParent;
        pickedUpObject.transform.localPosition = Vector3.zero;
        movementModel.SetAbleToAttack(false);
        Helper.SetSortingLayerToSprites(pickUpObject.transform, "Characters");
        // Physics2D.IgnoreCollision(m_collider, pickUpObject.GetComponent<Collider2D>());
        Collider2D pickupObjectCollider = pickedUpObject.GetComponent <Collider2D>();

        if (pickupObjectCollider != null)
        {
            pickupObjectCollider.enabled = false;
        }
    }
Example #6
0
 public void PickupObject(InteractablePickup pickupObject)
 {
     Debug.Log("Item is being picked up");
     m_PickedUpObject = pickupObject;
     m_PickedUpObject.transform.parent        = m_MovementModel.PreviewItemParent;
     m_PickedUpObject.transform.localPosition = Vector3.zero;
     //Hmm so localPosition is supposed to make sure the object is at the parent objects position
     //Altho its the parent im picking up, but it seems to work anyway
     //hmmm...
     m_MovementModel.SetFrozen(true, false, false);
     m_MovementModel.SetIsAbleToAttack(false);
     Helper.SetSortingLayerForAllRenderers(pickupObject.transform, "Characters");
     //Oh now it comes
     Physics2D.IgnoreCollision(m_Collider, pickupObject.GetComponent <Collider2D>());
 }
    public void PickupObject(InteractablePickup pickupObject)
    {
        m_PickedUpObject = pickupObject;
        m_PickedUpObject.transform.parent        = m_MovementModel.pickupItemParent;
        m_PickedUpObject.transform.localPosition = Vector3.zero;


        Collider2D pickupObjectCollider = pickupObject.GetComponent <Collider2D>();

        pickupObject.GetComponent <Rigidbody2D>().bodyType = RigidbodyType2D.Kinematic;

        if (pickupObjectCollider != null)
        {
            pickupObjectCollider.enabled = false;
        }
    }
    public void ThrowCarryingObject()
    {
        Collider2D pickupObjectCollider = m_PickedUpObject.GetComponent <Collider2D>();

        if (pickupObjectCollider != null)
        {
            pickupObjectCollider.enabled = true;
            Physics2D.IgnoreCollision(m_Collider, pickupObjectCollider);
        }

        m_PickedUpObject.Throw(m_Character);
        m_PickedUpObject = null;

        //m_MovementModel.SetFrozen( false, false, false );
        m_MovementModel.SetIsAbleToAttack(true);
    }
    public void ThrowObject()
    {
        source.clip = throwSound;
        source.Play();

        Collider2D pickupObjectCollider = pickedUpObject.GetComponent <Collider2D>();

        if (pickupObjectCollider != null)
        {
            pickupObjectCollider.enabled = true;
            Physics2D.IgnoreCollision(m_collider, pickupObjectCollider);
        }

        pickedUpObject.Throw(character);
        pickedUpObject = null;
        movementModel.SetAbleToAttack(true);
    }
    IEnumerator _ThrowCarryingObject()
    {
        Collider2D pickupObjectCollider = m_PickedUpObject.GetComponent <Collider2D>();

        if (pickupObjectCollider != null)
        {
            Physics2D.IgnoreCollision(m_Collider, pickupObjectCollider);
            pickupObjectCollider.enabled = false;
        }

        m_PickedUpObject.Throw(m_Character);
        yield return(new WaitForSeconds(0.2f));

        pickupObjectCollider.enabled = true;
        Physics2D.IgnoreCollision(m_Collider, pickupObjectCollider, false);
        m_PickedUpObject = null;
    }
Example #11
0
    //Throws the currently being carried object
    public void ThrowCarryingObject()
    {
        Collider2D pickupObjectCollider = m_PickedUpObject.GetComponent <Collider2D>();

        //Re-enable the collider and ignore collisions as your throw it
        if (pickupObjectCollider != null)
        {
            pickupObjectCollider.enabled = true;
            Physics2D.IgnoreCollision(m_Collider, pickupObjectCollider);
        }

        //Throoow it
        m_PickedUpObject.Throw(m_Character);
        m_PickedUpObject = null;

        //No longer carrying, can attack
        m_MovementModel.SetIsAbleToAttack(true);
    }
    public void PickupObject( InteractablePickup pickupObject )
    {
        m_PickedUpObject = pickupObject;

        m_PickedUpObject.transform.parent = m_MovementModel.PickupItemParent;
        m_PickedUpObject.transform.localPosition = Vector3.zero;

        //m_MovementModel.SetFrozen( true, false, false );
        m_MovementModel.SetIsAbleToAttack( false );

        Helper.SetSortingLayerForAllRenderers( pickupObject.transform, "Characters" );

        Collider2D pickupObjectCollider = pickupObject.GetComponent<Collider2D>();

        if( pickupObjectCollider != null )
        {
            pickupObjectCollider.enabled = false;
        }
    }
    public void PickupObject(InteractablePickup pickupObject)
    {
        m_PickedUpObject = pickupObject;

        m_PickedUpObject.transform.parent        = m_MovementModel.PickupItemParent;
        m_PickedUpObject.transform.localPosition = Vector3.zero;

        //m_MovementModel.SetFrozen( true, false, false );
        m_MovementModel.SetIsAbleToAttack(false);

        Helper.SetSortingLayerForAllRenderers(pickupObject.transform, "Characters");

        Collider2D pickupObjectCollider = pickupObject.GetComponent <Collider2D>();

        if (pickupObjectCollider != null)
        {
            pickupObjectCollider.enabled = false;
        }
    }
Example #14
0
    //Pick up an object that can later be thrown
    public void PickupObject(InteractablePickup pickupObject)
    {
        m_PickedUpObject = pickupObject;

        //Positon the object over us
        m_PickedUpObject.transform.parent        = m_MovementModel.PickupItemParent;
        m_PickedUpObject.transform.localPosition = Vector3.zero;

        //We cant attack because we are carrying something
        m_MovementModel.SetIsAbleToAttack(false);

        //Make it on our sorting layer relative to us
        Helper.SetSortingLayerForAllRenderers(pickupObject.transform, "Characters");

        //Turn off the collider for this object
        Collider2D pickupObjectCollider = pickupObject.GetComponent <Collider2D>();

        if (pickupObjectCollider != null)
        {
            pickupObjectCollider.enabled = false;
        }
    }
Example #15
0
    //Pickup and carry an InteractablePickup item
    public void CarryObject(InteractablePickup objectToCarry)
    {
        if (IsCarrying())
        {
            return;
        }
        carriedObject = objectToCarry;
        anim.SetTrigger("DoPickupObject");                         //pickup animation
        anim.SetBool("IsPickingUp", true);                         //special Idle and Walk animation when carrying
        carriedObject.transform.parent        = previewItemParent; //object becomes child of previewItemParent
        carriedObject.transform.localPosition = Vector3.zero;
        layerOfCarriedObject = carriedObject.GetComponentInChildren <SpriteRenderer>().sortingLayerName;
        carriedObject.GetComponentInChildren <SpriteRenderer>().sortingLayerName = "HighObjects"; //rendered above the character
        SetColliders(carriedObject.gameObject, false);                                            //disable all coliders of the carried object
        EnemyBehavior objectBehavior = carriedObject.GetComponent <EnemyBehavior>();

        if (objectBehavior != null)
        {
            objectBehavior.DisableShadow();
        }
        TipsHandler.Recycle();
    }
Example #16
0
    public void DropObject()
    {
        if (!IsCarrying())
        {
            return;
        }

        // Vérification qu'il n'y a pas d'obstacle devant
        Collider2D[] closeColliders = Physics2D.OverlapCircleAll(transform.position + (vectMovement * 0.7f), 0.55f);
        foreach (Collider2D closeCollider in closeColliders)
        {
            if (closeCollider.CompareTag("Obstacle"))
            {
                // L'objet est déposé derrière
                vectMovement = -vectMovement;
                break;
            }
        }

        anim.SetTrigger("DoDrop");  //drop animation
        Vector3 newPosition = vectMovement;

        newPosition.y -= previewItemParent.transform.localPosition.y + 0.2f;
        carriedObject.transform.localPosition = newPosition; //move it in front of character
        carriedObject.transform.parent        = null;        //no parent
        carriedObject.GetComponentInChildren <SpriteRenderer>().sortingLayerName = layerOfCarriedObject;
        if (carriedObject.GetComponentInChildren <SpriteRenderer>().sortingOrder < 200)
        {
            carriedObject.GetComponentInChildren <SpriteRenderer>().sortingOrder += 100;
        }
        SetColliders(carriedObject.gameObject, true); EnemyBehavior objectBehavior = carriedObject.GetComponent <EnemyBehavior>();
        if (objectBehavior != null)
        {
            objectBehavior.EnableShadow();
        }
        carriedObject = null;
        anim.SetBool("IsPickingUp", false);     //go back to normal animations
    }
Example #17
0
        void SpawnInteractables(InteractablePickup interactablePickup, InteractableScriptableObj interactableScriptableObj)
        {
            List <int> nodeID = new List <int>();

            nodeID.Clear();
            int k = (int)interactablePickup;

            nodeID = interactableManager.GetNodeIDOfController(interactablePickup);
            switch (interactablePickup)
            {
            case InteractablePickup.NONE:
                break;

            case InteractablePickup.BREIFCASE:
                for (int i = 0; i < nodeID.Count; i++)
                {
                    InteractableView briefCaseView = interactableScriptableObj.interactableItems[k]
                                                     .interactableView;
                    Vector3 position = interactableManager.ReturnPathService()
                                       .GetNodeLocation(nodeID[i]);
                    InteractableController briefCaseController = new BriefCaseController(position
                                                                                         , interactableManager
                                                                                         , briefCaseView);
                    interactableManager.AddInteractable(nodeID[i], briefCaseController);
                }
                break;

            case InteractablePickup.STONE:
                for (int i = 0; i < nodeID.Count; i++)
                {
                    InteractableView stoneView = interactableScriptableObj.interactableItems[k]
                                                 .interactableView;
                    Vector3 position = interactableManager.ReturnPathService()
                                       .GetNodeLocation(nodeID[i]);
                    InteractableController rockController = new RockInteractableController(position
                                                                                           , interactableManager
                                                                                           , stoneView);
                    interactableManager.AddInteractable(nodeID[i], rockController);
                }
                break;

            case InteractablePickup.BONE:
                for (int i = 0; i < nodeID.Count; i++)
                {
                    InteractableView boneView = interactableScriptableObj.interactableItems[k]
                                                .interactableView;
                    Vector3 position = interactableManager.ReturnPathService()
                                       .GetNodeLocation(nodeID[i]);
                    InteractableController boneController = new BoneController(position
                                                                               , interactableManager
                                                                               , boneView);
                    interactableManager.AddInteractable(nodeID[i], boneController);
                }
                break;

            case InteractablePickup.SNIPER_GUN:
                for (int i = 0; i < nodeID.Count; i++)
                {
                    InteractableView sniperView = interactableScriptableObj.interactableItems[k]
                                                  .interactableView;
                    Vector3 position = interactableManager.ReturnPathService()
                                       .GetNodeLocation(nodeID[i]);
                    InteractableController sniperController = new SniperController(position
                                                                                   , interactableManager
                                                                                   , sniperView);
                    interactableManager.AddInteractable(nodeID[i], sniperController);
                }
                break;

            case InteractablePickup.DUAL_GUN:
                for (int i = 0; i < nodeID.Count; i++)
                {
                    InteractableView dualGunView = interactableScriptableObj.interactableItems[k]
                                                   .interactableView;
                    Vector3 position = interactableManager.ReturnPathService()
                                       .GetNodeLocation(nodeID[i]);
                    InteractableController dualGunController = new DualGunInteractableController(position
                                                                                                 , interactableManager
                                                                                                 , dualGunView);
                    interactableManager.AddInteractable(nodeID[i], dualGunController);
                }
                break;

            case InteractablePickup.COLOR_KEY:
                for (int i = 0; i < nodeID.Count; i++)
                {
                    InteractableView keyView = interactableScriptableObj.interactableItems[k]
                                               .interactableView;
                    Vector3 position = interactableManager.ReturnPathService()
                                       .GetNodeLocation(nodeID[i]);
                    InteractableController keyController = new KeyController(position
                                                                             , interactableManager
                                                                             , keyView, interactableManager.ReturnPathService().GetKeyType(nodeID[i]));
                    interactableManager.AddInteractable(nodeID[i], keyController);
                }
                break;

            case InteractablePickup.AMBUSH_PLANT:
                for (int i = 0; i < nodeID.Count; i++)
                {
                    InteractableView ambushPlantView = interactableScriptableObj.interactableItems[k]
                                                       .interactableView;
                    Vector3 position = interactableManager.ReturnPathService()
                                       .GetNodeLocation(nodeID[i]);
                    InteractableController ambushPlantController = new AmbushPlantController(position
                                                                                             , interactableManager
                                                                                             , ambushPlantView);
                    interactableManager.AddInteractable(nodeID[i], ambushPlantController);
                }
                break;

            case InteractablePickup.GUARD_DISGUISE:
                for (int i = 0; i < nodeID.Count; i++)
                {
                    InteractableView guardView = interactableScriptableObj.interactableItems[k]
                                                 .interactableView;
                    Vector3 position = interactableManager.ReturnPathService()
                                       .GetNodeLocation(nodeID[i]);
                    EnemyType enemyType = interactableManager.ReturnPathService()
                                          .GetDisguise(nodeID[i]);

                    InteractableController guardController = new GuardUniformController(position
                                                                                        , interactableManager
                                                                                        , guardView
                                                                                        , enemyType);
                    interactableManager.AddInteractable(nodeID[i], guardController);
                }
                break;

            default:
                break;
            }
        }
    public void ThrowCarryingObject()
    {
        Collider2D pickupObjectCollider = m_PickedUpObject.GetComponent<Collider2D>();

        if( pickupObjectCollider != null )
        {
            pickupObjectCollider.enabled = true;
            Physics2D.IgnoreCollision( m_Collider, pickupObjectCollider );
        }

        m_PickedUpObject.Throw( m_Character );
        m_PickedUpObject = null;

        //m_MovementModel.SetFrozen( false, false, false );
        m_MovementModel.SetIsAbleToAttack( true );
    }
Example #19
0
 private void SetUncarry()
 {
     m_PickedUpObject = null;
     m_MovementModel.SetIsAbleToAttack(true);
     m_MovementModel.setCarrying(false);
 }
Example #20
0
 public List <int> GetNodeIDOfController(InteractablePickup interactablePickup)
 {
     return(pathService.GetPickupSpawnLocation(interactablePickup));
 }
Example #21
0
 public List <int> GetPickupSpawnLocation(InteractablePickup type)
 {
     return(controller.GetPickupSpawnLocation(type));
 }
Example #22
0
 protected virtual void OnInitialized()
 {
     interactablePickup = InteractablePickup.NONE;
 }