Esempio n. 1
0
 void Start()
 {
     Message.text    = "";
     HPMessage.text  = "";
     XPMessage.text  = "";
     GDMessage.text  = "";
     lvlMessage.text = "";
     GoldUI.text     = "0";
     resetHurtTimer  = hurtTimer;
     MovementSet     = GetComponent <PlayerController>();
     audioSrc        = GetComponent <AudioSource>();
     powCount        = GetComponent <PowerCounter>();
     playerTransform = transform;
     lastPosition    = playerTransform.position;
     lastRotation    = playerTransform.rotation;
     rb = GetComponent <Rigidbody>();
     ScreenFlashTimerStart = ScreenFlashTimer;
     Impact     = GetComponent <ImpactReceiver>();
     XPOrgPos   = XPMessage.GetComponent <RectTransform>().anchoredPosition;
     lvlOrgPos  = lvlMessage.GetComponent <RectTransform>().anchoredPosition;
     HPOrgPos   = HPMessage.GetComponent <RectTransform>().anchoredPosition;
     MSGOrgPos  = Message.GetComponent <RectTransform>().anchoredPosition;
     GoldOrgPos = GDMessage.GetComponent <RectTransform>().anchoredPosition;
     GDMessage.GetComponent <Text>().enabled = false;
     HPMessage.GetComponent <Text>().enabled = false;
     Message.GetComponent <Text>().enabled   = false;
     XPMessage.GetComponent <Text>().enabled = false;
     camTransform = Camera.main.transform;
     originalPos  = camTransform.localPosition;
 }
Esempio n. 2
0
    void OnTriggerStay(Collider other)
    {
        if (other.tag == "Player")
        {
            Vector3 force = other.transform.position - this.transform.position;
            force.Normalize();
            if (noForceInX)
            {
                force.x = 0;
            }
            if (noForceInY)
            {
                force.y = 0;
            }
            if (noForceInZ)
            {
                force.z = 0;
            }

            ImpactReceiver script = other.gameObject.GetComponent <ImpactReceiver>();
            if (script != null)
            {
                script.AddImpact(force, multiplier);
            }
        }
    }
Esempio n. 3
0
    void Awake()
    {
        thirdPersonCam.SetActive(SceneSetup.instance.cameraType == ModPlayerSDK.CameraType.ThirdPerson);
        cinemaLight.SetActive(Room.CustomProperties.SafeGet("type", "") == RoomType.Cinema);

        if (photonView.IsMine)
        {
            LocalPlayer = this;
            transform.LookAt(Camera.main.transform);
            transform.localEulerAngles = new Vector3(
                0,
                transform.localEulerAngles.y,
                0);
        }
        else
        {
            Destroy(thirdPersonCam);
        }

        impact = GetComponent <ImpactReceiver>();

        nickname          = photonView.Controller.NickName;
        nicknameText.text = nickname;

        userId = photonView.Controller.UserId;
        owner  = photonView.Controller;
        Room.players[userId] = this;

        LoadCharacterMesh();

        DontDestroyOnLoad(gameObject);
    }
Esempio n. 4
0
 private void Start()
 {
     InvokeRepeating("EstimatePlayerVelocity_InvokeRepeating", 1.0f, velocityPollPeriod);
     audioSrc    = GetComponent <AudioSource>();
     playerSpeed = walkSpeed;
     rayDistance = controller.height * .5f + controller.radius;
     slideLimit  = controller.slopeLimit - .1f;
     jumpTimer   = antiBunnyHopFactor;
     //myTransform = this.transform;
     BoostUp = GetComponent <ImpactReceiver>();
 }
 private void OnCollisionEnter(Collision collision)
 {
     if (collision.gameObject.CompareTag("Player"))
     {
         Impact = collision.gameObject.GetComponent <ImpactReceiver>();
         Vector3 direction = (collision.transform.position - this.transform.position).normalized;
         Impact.AddImpact(direction, 20);
         playST = collision.gameObject.GetComponent <PlayerStats>();
         playST.doDamage(10);
     }
 }
Esempio n. 6
0
 void OnTriggerEnter(Collider other)
 {
     if (StoveScript.isOn && other.tag == "Player")
     {
         Vector3 direction = other.transform.position - this.transform.position;
         direction.Normalize();
         ImpactReceiver script = other.gameObject.GetComponent <ImpactReceiver>();
         if (script != null)
         {
             script.AddImpact(direction, 50f);
         }
     }
 }
Esempio n. 7
0
 private void OnCollisionEnter(Collision collision)
 {
     if (collision.gameObject.CompareTag("Player"))
     {
         PhantomBreastEnabled = Breast.PhantomBreast;
         if (!PhantomBreastEnabled)
         {
             ImpactReceiver Impact    = collision.gameObject.GetComponent <ImpactReceiver>();
             Vector3        direction = (this.transform.position - collision.transform.position).normalized;
             Impact.AddImpact(direction, 100);
         }
     }
 }
Esempio n. 8
0
 // Use this for initialization
 void Start()
 {
     rb       = GetComponent <Rigidbody>();
     audioSrc = GetComponent <AudioSource>();
     Impact   = GetComponent <ImpactReceiver>();
     ScreenFlashTimerStart = ScreenFlashTimer;
     playerTransform       = transform;
     lastPosition          = playerTransform.position;
     lastRotation          = playerTransform.rotation;
     camTransform          = Camera.main.transform;
     originalPos           = camTransform.localPosition;
     healthTextColor       = healthText.color;
     noStam = false;
     setUIText(ChangeStat.armor);
     setUIText(ChangeStat.health);
 }
Esempio n. 9
0
    public virtual void CmdFireShot(Vector3 origin, Vector3 direction, int layer)
    {
        RaycastHit hit;

        Ray ray = new Ray(origin, direction);

        Debug.DrawRay(ray.origin, ray.direction * 3f, Color.red, 1f);

        // Only shoot at layers that the shooter isn't on
        int mask = 1 << layer;

        mask = ~mask;

        bool result = Physics.SphereCast(ray, hitRadius, out hit, range, mask, QueryTriggerInteraction.UseGlobal);

        // Only show tracer when hunter hits something
        if (player.isHunter && result)
        {
            GameObject bulletTracer = Instantiate(tracerPrefab, gunShotPosition.position, Quaternion.identity);
            NetworkServer.Spawn(bulletTracer);
            bulletTracer.GetComponent <BulletTracer>().shoot(gunShotPosition.position, hit.point);
        }

        if (result)
        {
            Debug.DrawRay(ray.origin, ray.direction * hit.distance, Color.red, 5.0f);
            // Check if the thing hit was a player
            PlayerHealth enemy = hit.transform.GetComponent <PlayerHealth>();

            // If so, player takes damage
            if (enemy != null)
            {
                Debug.Log("Hit an enemy!");
                // Generates impact on enemy, kickback
                ImpactReceiver enemyImpactRec = hit.transform.GetComponent <ImpactReceiver>();
                enemyImpactRec.AddImpact(direction, forcePerHit);

                bool died = enemy.TakeDamage(dmgPerShot, direction);
                if (died)
                {
                    player.Won();
                }
            }
        }

        RpcProcessShotEffects(result, hit.point);
    }
Esempio n. 10
0
    private void Awake()
    {
        // Setting max values to inspector values.
        mechMaxHealth = mechHealth;
        coreMaxHealth = coreHealth;

        stateManager = GetComponent <StateManager>();
        playerStats  = GetComponent <PlayerStatistics>();

        coreRB        = coreObject.GetComponentInChildren <Rigidbody>();
        coreTransform = coreObject.GetComponent <Transform>();

        mechController      = mechObject.GetComponent <MechController>();
        characterController = mechObject.GetComponent <CharacterController>();
        mechTransform       = mechObject.GetComponent <Transform>();
        impactReceiver      = mechObject.GetComponent <ImpactReceiver>();

        mechCamera = mechObject.GetComponent <FirstPersonCamera>();
    }
Esempio n. 11
0
 // Use this for initialization
 protected virtual void Start()
 {
     m_CharacterController = GetComponent <CharacterController>();
     m_Impact = GetComponent <ImpactReceiver>();
     m_Camera = Camera.main;
     m_OriginalCameraPosition = m_Camera.transform.localPosition;
     m_FovKick.Setup(m_Camera);
     m_HeadBob.Setup(m_Camera, m_StepInterval);
     m_HeadBob.HorizontalBobRange        = 0.03f;
     m_HeadBob.VerticalBobRange          = 0.03f;
     m_HeadBob.VerticaltoHorizontalRatio = 2;
     m_JumpBob.BobAmount   = 0.1f;
     m_JumpBob.BobDuration = 0.2f;
     m_StepCycle           = 0f;
     m_NextStep            = m_StepCycle / 2f;
     m_Jumping             = false;
     m_AudioSource         = GetComponent <AudioSource>();
     m_MouseLook.Init(transform, m_Camera.transform);
 }
Esempio n. 12
0
    void Start()
    {
        ResetView();
        UnityEngine.XR.InputTracking.Recenter();
        //Debug.Log("plactrlstart");
        Application.targetFrameRate = 30;
        //Teleport();

        //transform.position = PlayerManager.instance.startPos.position;

        //Debug.Log(gameObject.transform.position);
        if (lockCursor)
        {
            Cursor.lockState = CursorLockMode.Locked;
            Cursor.visible   = false;
        }
        defWalkSpeed = walkSpeed;
        defRunSpeed  = runSpeed;
        sounds       = GetComponent <CharacterSounds>();

        //lastHealth = myStats.currentHealth;
        //player = GetComponent<Transform>();
        myStats    = GetComponent <CharacterStats>();
        imp        = GetComponent <ImpactReceiver>();
        animator   = GetComponent <Animator>();
        cameraT    = Camera.main.transform;
        controller = GetComponent <CharacterController>();

        combat = GetComponent <CharacterCombat>();

        playerState = GameObject.Find("PlayerState");
        if (playerState != null)
        {
            myStats.maxHealth  = playerState.GetComponent <Player>().maxHealth;
            myStats.maxStamina = playerState.GetComponent <Player>().maxStamina;
            myStats.maxDive    = playerState.GetComponent <Player>().maxDive;
            myStats.ableSwim   = playerState.GetComponent <Player>().ableSwim;
            transform.position = playerState.GetComponent <Player>().startPosition;
        }
        enemies = enemys.GetComponentsInChildren <Patrol2>();
    }
Esempio n. 13
0
    private IEnumerator Start()
    {
        // wait one frame because some explosions instantiate debris which should then
        // be pushed by physics force
        yield return(null);

        float multiplier = GetComponent <ParticleSystemMultiplier>().multiplier;

        float r           = 5 * multiplier;
        var   cols        = Physics.OverlapSphere(transform.position, r);
        var   rigidbodies = new List <Rigidbody>();

        foreach (var col in cols)
        {
            if (col.attachedRigidbody != null && !rigidbodies.Contains(col.attachedRigidbody))
            {
                rigidbodies.Add(col.attachedRigidbody);
            }
            else if (col.transform.tag == "Player")
            {
                rigidbodies.Add(col.GetComponent <Rigidbody>());

                FindObjectOfType <Rocket>().GetComponent <AudioSource>().Stop();
                FindObjectOfType <AudioManager>().Play("RocketHitPlayer");
            }
        }
        foreach (var rb in rigidbodies)
        {
            if (rb.transform.tag == "Player")
            {
                ImpactReceiver impactReceiver = rb.transform.GetComponent <ImpactReceiver>();
                Vector3        dir            = rb.transform.position - transform.position;
                float          force          = Mathf.Clamp((explosionForce) / 3, 0, 15);
                impactReceiver.AddImpact(dir, force);
            }
            else
            {
                rb.AddExplosionForce(explosionForce * multiplier, transform.position, r, 1 * multiplier, ForceMode.Impulse);
            }
        }
    }
Esempio n. 14
0
 private void OnCollisionEnter(Collision other)
 {
     if (other.gameObject.CompareTag("StormShield"))
     {
         audioSrc.PlayOneShot(frozen);
         FreezeEnemy(true);
     }
     if (other.gameObject.CompareTag("Player"))
     {
         if (isRamming)
         {
             SwitchState(EnemyState.teleport);
             isRamming = false;
         }
         Impact = other.gameObject.GetComponent <ImpactReceiver>();
         Vector3 direction = (other.transform.position - this.transform.position).normalized;
         Impact.AddImpact(direction, 10);
         playST = other.gameObject.GetComponent <PlayerStats>();
         playST.doDamage(Random.Range(1, 5));
     }
 }
Esempio n. 15
0
    void DealDamage(Collider other)
    {
        //Deal Damage
        PlayerHealth.health -= damage;
        meleeIsOnCooldown    = true;

        //Knockback
        ImpactReceiver IR        = other.GetComponent <ImpactReceiver>();
        Vector3        direction = (other.transform.position - transform.position).normalized;

        IR.AddImpact(direction, knockbackForce);

        //BloodParticles
        bloodsplatter.DoBloodSplatter(other.gameObject.transform);

        //SoundEffect
        FindObjectOfType <AudioManager>().Play("PlayerHurt");

        //Animation
        attackAnim.SetBool("isAttacking", true);
    }
Esempio n. 16
0
    private void OnCollisionEnter(Collision collision)
    {
        if (collision.gameObject.CompareTag("Player"))
        {
            Vector3 direction = (this.transform.position - collision.transform.position).normalized;
            impact = collision.gameObject.GetComponent <ImpactReceiver>();
            PlayST = collision.gameObject.GetComponent <PlayerStats>();

            audioSrc.PlayOneShot(collide);
            impact.AddImpact(direction, 100);
            PlayST.doDamage(SetDamage);
            if (!Shield)
            {
                Destroy(gameObject, 1);
            }
        }
        else
        {
            audioSrc.PlayOneShot(collide);
            Destroy(gameObject, 1);
        }
    }
Esempio n. 17
0
    void OnTouch(SocketIOEvent socketIOEvent)
    {
        Debug.Log(" i got shot");
        string  data     = socketIOEvent.data.ToString();
        HitJSON touch    = HitJSON.CreateFromJSON(data);
        Vector3 position = new Vector3(touch.position[0], touch.position[1], touch.position[2]);

        if (localName == touch.pseudo)
        {
            //find the gameobject
            GameObject p = GameObject.Find(localName);
            if (p != null)
            {
                ImpactReceiver script = p.GetComponent <ImpactReceiver> ();
                if (script)
                {
                    script.AddImpact(position * 2);
                    Debug.Log(" i have been shot");
                }
            }
        }
    }
Esempio n. 18
0
    void Explode()
    {
        Instantiate(explosionEffect, transform.position, transform.rotation);
        model.SetActive(false);
        bombSizzle.Stop();

        Collider [] colliders = Physics.OverlapSphere(transform.position, radius);

        foreach (Collider nearbyObject in colliders)
        {
            EnemyDetectionMovement EDM = nearbyObject.gameObject.GetComponent <EnemyDetectionMovement>();
            Rigidbody      rb          = nearbyObject.GetComponent <Rigidbody>();
            ImpactReceiver IR          = nearbyObject.GetComponent <ImpactReceiver>();

            if (rb != null) //Add explosion force to rigidbody objects
            {
                float distance = Vector3.Distance(transform.position, nearbyObject.transform.position);

                //If within a 4 range distance of the pipebomb
                if (distance <= 4)
                {
                    if (EDM != null)
                    {
                        StartCoroutine(EDM.ChangeIsKinematic());
                        EDM.isWithinDetectionRange = true;
                    }
                    rb.AddExplosionForce(force, transform.position, radius);
                }
                else
                {
                    if (EDM != null)
                    {
                        StartCoroutine(EDM.ChangeIsKinematic());
                        EDM.isWithinDetectionRange = true;
                    }
                    rb.AddExplosionForce((force / 1.5f), transform.position, radius);
                }
            }

            if (IR != null) //Add explosion force to CharacterController objects
            {
                Vector3 dir      = nearbyObject.transform.position - transform.position;
                float   distance = Vector3.Distance(transform.position, nearbyObject.transform.position);

                //If within a 4 range distance of the pipebomb
                if (distance <= 4)
                {
                    IR.AddImpact(dir, (force / 8));
                }
                else
                {
                    IR.AddImpact(dir, (force / 10));
                }
            }

            if (nearbyObject.tag == "Player") //If the object's tag is a player, deal some damage depending on the player's distance to the explosion.
            {
                DealExplosionDamage(nearbyObject);
            }
            if (nearbyObject.tag == "Enemy") //If the object's tag is an enemy, deal some damage depending on the enemy's distance to the explosion.
            {
                EnemyHealth enemyHealthScript = nearbyObject.GetComponent <EnemyHealth>();

                if (enemyHealthScript != null)
                {
                    DealExplosionDamage(nearbyObject, enemyHealthScript);
                }
            }
        }
    }