Exemple #1
0
    private void MovePlayerPart(PlayerPart playerPart, bool isCamera, bool canFly)
    {
        //Move Left Right
        if (Input.GetAxis(m_cameraHorizontal) > 0.1 || Input.GetAxis(m_cameraHorizontal) < -0.1)
        {
            if (isCamera || Input.GetAxis("Control") > 0.1f)
            {
                //temporary
                playerPart.transform.position += playerPart.transform.right * Input.GetAxis(m_cameraHorizontal) * speed * Time.fixedDeltaTime;
            }
            else
            {
                playerPart.transform.Rotate(new Vector3(0, speed * Input.GetAxis(m_cameraHorizontal), 0));
            }
        }

        //Move forward buttons
        if (Input.GetAxis(m_cameraVertical) > 0.1 || Input.GetAxis(m_cameraVertical) < -0.1)
        {
            playerPart.transform.position += playerPart.transform.forward * Input.GetAxis(m_cameraVertical) * speed * Time.fixedDeltaTime;
            if (playerPart.Wheels.Length > 0)
            {
                for (int i = 0; i < playerPart.Wheels.Length; i++)
                {
                    playerPart.Wheels[i].RotateAround(playerPart.PivotWheels.position, playerPart.PivotWheels.right, speed * 100 * Time.fixedDeltaTime);
                }
            }
        }

        //Move UpDown
        if ((Input.GetAxis(m_upDown) > 0.1 || Input.GetAxis(m_upDown) < -0.1) && canFly)
        {
            playerPart.transform.position += playerPart.transform.up * Input.GetAxis(m_upDown) * speed * Time.fixedDeltaTime;
        }
    }
    void MoveToPosition()
    {
        PlayerPart _partToTransform = PlayerPartsManager.Ins.SelectedPart;
        float      _speed           = PlayerPartsManager.Ins.TimeToEquip;

        if (_partToTransform.PartType == TPart.body || this.PartType == TPart.body)
        {
            PlayerPartsManager.Ins.BodyEquipped = true;
        }

        switch (_partToTransform.PartType)
        {
        case TPart.body:
            MovePart(_partToTransform.transform, bodyAnchor, _speed);
            break;

        case TPart.head:
            MovePart(_partToTransform.transform, headAnchor, _speed);

            break;

        case TPart.leftHand:
            MovePart(_partToTransform.transform, leftHandAnchor, _speed);

            break;

        case TPart.rightHand:
            MovePart(_partToTransform.transform, rightHandAnchor, _speed);
            break;
        }
    }
Exemple #3
0
    public void RemovePart(ShopItem part)
    {
        PlayerPart myGo = FindObjectsOfType <PlayerPart>().First((x) => { return(x.gameObject.name == part.itemName); });

        parts.Remove(myGo);
        Destroy(myGo.gameObject);
    }
Exemple #4
0
 public void SetPartSprite(PlayerPart part, string spriteName)
 {
     if (_parts.ContainsKey(part))
     {
         _parts[part].SpriteName = spriteName;
     }
 }
Exemple #5
0
 public void RemovePart(PlayerPart part)
 {
     if (m_PartList == null)
     {
         return;
     }
     m_PartList.Remove(part);
 }
Exemple #6
0
 public PlayerSprite GetPlayerSprite(PlayerPart part)
 {
     if (_parts.ContainsKey(part))
     {
         return(_parts[part]);
     }
     return(null);
 }
Exemple #7
0
    void OnTriggerExit2D(Collider2D other)
    {
        PlayerPart playerPart = other.GetComponent <PlayerPart> ();

        if (playerPart != null)
        {
            playerPart.RemoveLight(lightVector);
        }
    }
Exemple #8
0
    /*public void ReplaceOrAddPart(GameObject go) {
     *      PlayerPart replacePart = GetPartOfSameType(go);
     *      if (replacePart != null) {
     *              RemovePart(replacePart);
     *      }
     *      AddPart(go);
     * }*/

    public void ReplaceOrAddPart(ShopItem go)
    {
        PlayerPart replacePart = GetPartOfType(go);

        if (replacePart != null)
        {
            RemovePart(replacePart);
        }
        AddPart(go);
    }
Exemple #9
0
    public SpriteRenderer GetRendererByPart(PlayerPart part)
    {
        PlayerSprite ps = GetPlayerSprite(part);

        if (ps != null)
        {
            return(ps.GetRenderer());
        }

        return(null);
    }
Exemple #10
0
    public Animator GetAnimatorByPart(PlayerPart part)
    {
        PlayerSprite ps = GetPlayerSprite(part);

        if (ps != null)
        {
            return(ps.GetAnimator());
        }

        return(null);
    }
Exemple #11
0
 public void AddPart(PlayerPart part)
 {
     if (part == null)
     {
         return;
     }
     if (m_PartList == null)
     {
         m_PartList = new List <PlayerPart> ();
     }
     m_PartList.Add(part);
 }
Exemple #12
0
    public PlayerPart GetPartOfSameType(GameObject go)
    {
        PlayerPart goPart = go.GetComponent <PlayerPart>();

        if (goPart != null)
        {
            return(GetPartOfType(goPart.item));
        }
        else
        {
            return(null);
        }
    }
Exemple #13
0
    private void SetPartSelected(PlayerPart newSelectedPart)
    {
        if (newSelectedPart == selectedPart)
        {
            return;
        }

        if (selectedPart != null)
        {
            //Deselect prev part
            selectedPart.SetSelected(false);
        }
        selectedPart = newSelectedPart;
        selectedPart.SetSelected(true);
    }
Exemple #14
0
    public void AddPart(ShopItem partObject)
    {
        GameObject partGameObject = partObject.prefabToCreate;
        Vector3    newPos         = partGameObject.transform.position;
        Quaternion newRot         = partGameObject.transform.rotation;
        GameObject go             = Instantiate(partGameObject, transform);

        go.name = partGameObject.name;
        go.transform.localPosition = newPos;
        go.transform.localRotation = newRot;

        PlayerPart part = go.GetComponent <PlayerPart>();

        parts.Add(part);

        part.Initialize(this, partObject);

        partAdded.Invoke();
    }
    public void SnapToPoint(GameObject goToSnap, GameObject goToSnapTo)
    {
        if (goToSnapTo.GetComponent <SnapPoint>()?.isOccupied == true)
        {
            return;
        }
        goToSnap.transform.parent        = goToSnapTo.transform;
        goToSnap.transform.localPosition = new Vector2(0, 0);
        goToSnap.transform.localRotation = goToSnapTo.transform.localRotation;
        goToSnap.transform.localScale    = goToSnapTo.transform.localScale;
        goToSnapTo.SetActive(true);

        PlayerPart part = goToSnap.GetComponent <PlayerPart>();

        if (part != null)
        {
            switch (part.partType)
            {
            case PlayerPart.PARTTYPE.HEALTH:
                SetMaxHealth(MaxHealth + part.health);
                Debug.Log("Total Health: " + Health);
                break;

            case PlayerPart.PARTTYPE.WEAPON:
                SetDamage(Damage + part.damage);
                weaponPart = part;
                Debug.Log("Total Damage: " + Damage);
                break;

            case PlayerPart.PARTTYPE.RESISTENCE:
                SetResisntence(Resistence + part.resistence);
                Debug.Log("Total Resistence: " + Resistence);
                break;

            default:
                break;
            }
        }
        SoundManager.instance.PlaySound("AddModules");
    }
Exemple #16
0
    void OnTriggerEnter(Collider collider)
    {
        PlayerPart pp = collider.GetComponent <PlayerPart>();

        if (pp)
        {
            m_playerTouching = pp.CanActivate;
        }

        ObjectController oc = collider.GetComponent <ObjectController>();

        if (oc != null)
        {
            m_activatorTouching = oc.activatesMecanisms;
        }

        if (m_playerTouching || m_activatorTouching)
        {
            AudioSource audio = this.GetComponent <AudioSource>();
            if (audio != null)
            {
                audio.PlayOneShot(audio.clip, audio.volume);
            }

            m_material.color = m_activatedColor;
            foreach (Transform objectToActivate in m_objectsToActivate)
            {
                //m_activated = true;
                if (m_activateObjects)
                {
                    objectToActivate.gameObject.SetActive(true);
                }
                else
                {
                    objectToActivate.gameObject.SetActive(false);
                }
            }
        }
    }
Exemple #17
0
    void OnTriggerExit(Collider collider)
    {
        if (m_stayActive)
        {
            return;
        }

        PlayerPart pp = collider.GetComponent <PlayerPart>();

        if (pp != null && pp.CanActivate)
        {
            m_playerTouching = false;
        }

        ObjectController oc = collider.GetComponent <ObjectController>();

        if (oc != null && oc.activatesMecanisms)
        {
            m_activatorTouching = false;
        }

        if (!m_activatorTouching && !m_playerTouching)
        {
            m_material.color = m_desactivatedColor;
            foreach (Transform objectToActivate in m_objectsToActivate)
            {
                // m_activated = false;
                if (m_activateObjects)
                {
                    objectToActivate.gameObject.SetActive(false);
                }
                else
                {
                    objectToActivate.gameObject.SetActive(true);
                }
            }
        }
    }
    void MoveToPosition(PlayerPart partToTransform, float speed)
    {
        switch (partToTransform.PartType)
        {
        case TPart.body:
            MovePart(partToTransform.transform, bodyAnchor, speed);
            break;

        case TPart.head:
            MovePart(partToTransform.transform, headAnchor, speed);

            break;

        case TPart.leftHand:
            MovePart(partToTransform.transform, leftHandAnchor, speed);

            break;

        case TPart.rightHand:
            MovePart(partToTransform.transform, rightHandAnchor, speed);
            break;
        }
    }
Exemple #19
0
 public void RemovePart(PlayerPart part)
 {
     parts.Remove(part);
     Destroy(part.gameObject);
 }
 void Start()
 {
     playerPart            = GetComponentInParent <PlayerPart>();
     playerPart.IsEquipped = false;
     m_isOnTrigger         = false;
 }