示例#1
0
 private void Start()
 {
     playerAudioSource = GetComponent <AudioSource>();
     playerms          = GetComponent <MovementScript2D>();
     itemPickedUp      = null; //Initially, there are no item pick ups
     StartCoroutine(Transformation());
 }
示例#2
0
 void OnCollisionEnter2D(Collision2D col)
 {
     if (col.gameObject.tag == "Player")
     {
         collided     = true;
         lastTime    -= timer;
         playerScript = col.gameObject.GetComponent <MovementScript2D>();
     }
 }
示例#3
0
 private void OnTriggerEnter2D(Collider2D collider)
 {
     if (collider.GetComponent <MovementScript2D>() != null)
     {
         Debug.Log("Trigger enter");
         player = collider.GetComponent <MovementScript2D>();
         StartCoroutine(player.BlockInputs());
     }
 }
示例#4
0
    public void Start()
    {
        if (this.elementSprites.Length != UIElementChange.elementCount)
        {
            throw new MissingComponentException("Invalid number of element sprites - should be " + UIElementChange.elementCount + "; found " + this.elementSprites.Length);
        }

        player           = GameObject.Find("Player");
        movementScript2D = player.GetComponent <MovementScript2D>();
    }
    // Use this for initialization
    void Start()
    {
        playerms = FindObjectOfType <MovementScript2D>();

        cameraScript = FindObjectOfType <CameraScript>();
        GameObject[] forceFieldArray;
        //forceFieldArray = GameObject.FindGameObjectsWithTag("tag_forcefield");
        //forceFields.AddRange(forceFieldArray);

        Debug.Log("Tolerance is: " + tolerance);
    }
示例#6
0
    //public bool OtherObjectCommandingCamera {   get { return otherObjectCommandingCamera; }
    //                                            set { otherObjectCommandingCamera = value; } }
    // Use this for initialization
    void Start()
    {
        player  = FindObjectOfType <MovementScript2D>().gameObject;
        mainCam = Camera.main;

        playerms = player.GetComponent <MovementScript2D>();
        //speed = playerms.maxSpeed;


        targetPosition = new Vector3(player.transform.position.x, player.transform.position.y, gameObject.transform.position.z);
        oldPosition    = gameObject.transform.position;
    }
示例#7
0
    private void Update()
    {
        //Depending on the type of item the player currently has, the force must be cut off appropriately
        for (int i = 0; i < objectsInContact.Count; i++)
        {
            itemMultiplier = 1;
            if (objectsInContact[i].GetComponent <MovementScript2D>() != null)
            {
                MovementScript2D playerms = objectsInContact[i].GetComponent <MovementScript2D>();

                playerms.GetComponent <PlayerMechanics>().isInContactwithField = true;
                //if(playerms.playerState == PlayerStates.falling)
                //    playerms.GetComponent<AudioSource>().Stop(); //If within the field, stop all the sounds

                //If no item is picked up
                if (objectsInContact[i].GetComponent <PlayerMechanics>().itemPickedUp == null)
                {
                    itemMultiplier = 0.0f;
                }
                else
                {
                    switch (objectsInContact[i].GetComponent <PlayerMechanics>().itemPickedUp.GetComponent <PickUpItem>().item)
                    {
                    case Item.light:
                        itemMultiplier = 0.0f;
                        break;

                    case Item.magnet:
                        PolarityCheck(objectsInContact[i].gameObject);
                        if (itemMultiplier > 0)
                        {
                            if (force[i] != Vector3.zero)
                            {
                                Debug.Log("setting the damp");
                                playerms.externalVerticalMovementDamp = 0.2f;
                            }
                        }
                        break;

                    case Item.parachute:
                        itemMultiplier = 0.0f;
                        break;

                    default:
                        itemMultiplier = 0.0f;
                        break;
                    }
                }
            }
            objectsInContact[i].force += force[i] * itemMultiplier;
        }
    }
示例#8
0
    public void Start()
    {
        if (this.elementSprites.Length != UIElementCombo.elementCount)
        {
            throw new MissingComponentException("Invalid number of element sprites - should be " + UIElementCombo.elementCount + "; found " + this.elementSprites.Length);
        }

        player           = GameObject.Find("Player");
        movementScript2D = player.GetComponent <MovementScript2D>();
        combo            = player.GetComponent <Combo> ();

        comboElements = new GameObject[6];
        for (int i = 0; i < comboElements.Length; i++)
        {
            comboElements[i] = GameObject.Find("ComboElement" + (i + 1).ToString());
        }
        GameObject comboBar = GameObject.Find("ComboBar");
    }
示例#9
0
    void SetAnimation()
    {
        if (itemAnimator != null)
        {
            MovementScript2D playerMovementScript = transform.parent.GetComponent <MovementScript2D>();
            if (playerMovementScript != null)
            {
                if (playerMovementScript.playerState != PlayerStates.falling && playerMovementScript.playerState != PlayerStates.jumping)
                {
                    itemAnimator.SetBool("Open", false);
                }
            }
            else
            {
                itemAnimator.SetBool("Open", false);
            }

            spriteRenderer.material = pickUpMaterial;
        }
    }
示例#10
0
 public void Start()
 {
     player           = GameObject.Find("Player");
     movementScript2D = player.GetComponent <MovementScript2D>();
 }
示例#11
0
    void Update()
    {
        if (isAPixelLight)
        {
            if (lightMat == null)
            {
                LightMap lightMap = GetComponent <LightMap>();
                if (lightMap != null)
                {
                    lightMat = GetComponent <LightMap>().lightMapMesh.GetComponent <MeshRenderer>().sharedMaterial;
                }
                Debug.Log("Light material is: " + lightMat);
            }
        }

        if (lightIsActive && isAPixelLight)
        {
            if (gameObject.transform.parent != null)
            {
                MovementScript2D player = transform.GetComponentInParent <MovementScript2D>();
                if (player != null)
                {
                    Vector3 playerAngles = player.transform.rotation.eulerAngles;
                    if (gameObject.transform.parent.localScale.x == -1)
                    {
                        //gameObject.transform.rotation = Quaternion.Euler(0, 0, -180);
                        Rotate(Quaternion.Euler(playerAngles.x, playerAngles.y, playerAngles.z - 180));
                    }
                    else
                    {
                        //gameObject.transform.rotation = Quaternion.Euler(0, 0, 0);
                        Rotate(Quaternion.Euler(playerAngles.x, playerAngles.y, playerAngles.z));
                    }
                }
            }
            //set the right vector according to the angle provided

            //First, get the right guy's direction
            //transform.GetChild(0).RotateAround(transform.position, transform.up, rightAngle);

            perpendicularLeftVector  = Quaternion.AngleAxis(angle - 90, transform.forward) * transform.right;
            perpendicularRightVector = Quaternion.AngleAxis(90 - angle, transform.forward) * transform.right;

            perpendicularLeftFogVector  = Quaternion.AngleAxis(angle + fog - 90, transform.forward) * transform.right;
            perpendicularRightFogVector = Quaternion.AngleAxis(90 - angle + (-fog), transform.forward) * transform.right;


            actualRightVector = Quaternion.AngleAxis(-angle, transform.forward) * transform.right;
            actualLeftVector  = Quaternion.AngleAxis(angle, transform.forward) * transform.right;


            actualLeftFogVector  = Quaternion.AngleAxis(angle + fog, transform.forward) * transform.right;
            actualRightFogVector = Quaternion.AngleAxis(-angle + (-fog), transform.forward) * transform.right;

            //Debug.DrawLine(gameObject.transform.position, perpendicularRightVector);
            //Debug.DrawLine(gameObject.transform.position, perpendicularLeftVector);
            //
            Debug.DrawLine(gameObject.transform.position, actualLeftVector + gameObject.transform.position);
            //Debug.DrawLine(gameObject.transform.position, actualRightVector + gameObject.transform.position);

            Debug.DrawLine(gameObject.transform.position, gameObject.transform.position + actualLeftFogVector);
            //Debug.DrawLine(gameObject.transform.position, gameObject.transform.position + actualRightFogVector);
            //Debug.DrawLine(gameObject.transform.position, perpendicularRightFogVector);


            float rightVectorAngle = Vector3.Angle(transform.forward, perpendicularRightFogVector);
            float leftVectorAngle  = Vector3.Angle(perpendicularLeftFogVector, transform.forward);
            //Debug.Log("right vector angle is: " + rightVectorAngle);

            lightAngle = (angle + fog);

            //setting the properties for the mesh

            lightMat.SetColor("_Color", lightColor);
            lightMat.SetVector("_LightPosition", transform.position);
            lightMat.SetVector("_LightDirection", transform.forward);

            lightMat.SetFloat("_Distance", distance);
            lightMat.SetFloat("_NoFadeDistance", noFadeDistance);

            lightMat.SetFloat("_LightMixtureAdjustmentController", lightMixtureAdjustmentController);


            lightMat.SetVector("_PerpendicularRightVector", perpendicularRightVector);
            lightMat.SetVector("_PerpendicularLeftVector", perpendicularLeftVector);

            lightMat.SetVector("_PerpendiculatRightFogVector", perpendicularRightFogVector);
            lightMat.SetVector("_PerpendiculatLeftFogVector", perpendicularLeftFogVector);

            lightMat.SetVector("_ActualRightVector", actualRightVector);
            lightMat.SetVector("_ActualLeftVector", actualLeftVector);
            lightMat.SetVector("_ActualRightFogVector", actualRightFogVector);
            lightMat.SetVector("_ActualLeftFogVector", actualLeftFogVector);
        }

        //Cast Ray to the light detector. If light hits the light detector, add the light to the list lightsInContact
        if (castRay && Application.isPlaying)
        {
            RaycastHit2D hit;
            hit = Physics2D.Raycast(gameObject.transform.position, gameObject.transform.right, (Mathf.Clamp(distance, 0, Mathf.Infinity)), whatShouldIDetect);
            if (hit.collider != null)
            {
                hit.collider.GetComponent <LightDetector>().lightsInContact.Add(this.gameObject);
            }
        }
    }
示例#12
0
    private void Update()
    {
        for (int i = 0; i < objectsInContact.Count; i++)
        {
            itemMultiplier = 1;
            //If the object that is in contact with is the player, then proceed with the following item calculations
            //For ordinary objects, this is not needed
            if (objectsInContact[i].GetComponent <MovementScript2D>() != null)
            {
                MovementScript2D playerms = objectsInContact[i].GetComponent <MovementScript2D>();
                //Depending on the type of item the player currently has, the force must be cut off appropriately
                if (playerms != null)
                {
                    //Set the external vertical drag to 0.2
                    //Debug.Log("Setting the damp");
                    playerms.GetComponent <PlayerMechanics>().isInContactwithField = true;
                    //if (playerms.playerState == PlayerStates.falling)
                    //    playerms.GetComponent<AudioSource>().Stop(); //If within the field, stop all the sounds

                    //This part of code sets the damp to the default downward force
                    if (force[i] != Vector3.zero)
                    {
                        playerms.externalVerticalMovementDamp = 0.2f;
                    }

                    if (playerms.GetComponent <PlayerMechanics>().itemPickedUp == null)
                    {
                        itemMultiplier = 0.3f;
                    }
                    else
                    {
                        switch (playerms.GetComponent <PlayerMechanics>().itemPickedUp.GetComponent <PickUpItem>().item)
                        {
                        case Item.light:
                            itemMultiplier = 0.28f;
                            break;

                        case Item.magnet:
                            itemMultiplier = 0.20f;
                            break;

                        case Item.parachute:
                            if (playerms.GetComponent <PlayerMechanics>().itemPickedUp.GetComponent <PickUpItem>().itemAnimator.GetBool("Open"))
                            {
                                itemMultiplier = 1.0f;
                            }
                            else
                            {
                                itemMultiplier = 0.15f;
                            }
                            break;

                        default:
                            itemMultiplier = 0.5f;
                            break;
                        }
                    }
                }
            }
            objectsInContact[i].force += force[i] * itemMultiplier;
        }
        //FieldsManager.fieldsForce += force * itemMultiplier;
    }
示例#13
0
 private void OnTriggerExit2D(Collider2D collider)
 {
     //TODO: Add condition for the exit
     player = null;
 }