Exemplo n.º 1
0
        // Token: 0x060032D9 RID: 13017 RVA: 0x000DC6DC File Offset: 0x000DA8DC
        public override void OnEnter()
        {
            base.OnEnter();
            Transform modelTransform = base.GetModelTransform();

            if (modelTransform && modelTransform.GetComponent <ChildLocator>() && DeathState.initialEffect)
            {
                EffectManager.SpawnEffect(DeathState.initialEffect, new EffectData
                {
                    origin = base.transform.position,
                    scale  = DeathState.initialEffectScale
                }, false);
            }
            if (modelTransform)
            {
                RagdollController component  = modelTransform.GetComponent <RagdollController>();
                Rigidbody         component2 = base.GetComponent <Rigidbody>();
                if (component && component2)
                {
                    component.BeginRagdoll(component2.velocity * DeathState.velocityMagnitude);
                }
            }
            ExplodeRigidbodiesOnStart component3 = modelTransform.GetComponent <ExplodeRigidbodiesOnStart>();

            if (component3)
            {
                component3.force   = DeathState.explosionForce;
                component3.enabled = true;
            }
        }
Exemplo n.º 2
0
        private static void SetupRagdoll(GameObject model)
        {
            RagdollController ragdollController = model.GetComponent <RagdollController>();

            if (!ragdollController)
            {
                return;
            }

            if (ragdollMaterial == null)
            {
                ragdollMaterial = Resources.Load <GameObject>("Prefabs/CharacterBodies/CommandoBody").GetComponentInChildren <RagdollController>().bones[1].GetComponent <Collider>().material;
            }

            foreach (Transform i in ragdollController.bones)
            {
                if (i)
                {
                    i.gameObject.layer = LayerIndex.ragdoll.intVal;
                    Collider j = i.GetComponent <Collider>();
                    if (j)
                    {
                        j.material       = ragdollMaterial;
                        j.sharedMaterial = ragdollMaterial;
                    }
                }
            }
        }
Exemplo n.º 3
0
    // Start is called before the first frame update
    void Start()
    {
        flagTookOutWep = false;

        dissolveAnim    = GetComponent <DissolveAnim>();
        playerTransform = FindObjectOfType <PlayerController>().transform;
        if (playerTransform == null)
        {
            playerTransform = FindObjectOfType <PlayerController>().transform;
        }

        capsuleCollider = GetComponent <CapsuleCollider>();


        navMeshAgent = GetComponent <NavMeshAgent>();
        stateMachine = new AiStateMachine(this);
        ragdoll      = GetComponentInChildren <RagdollController>();
        healthBar    = GetComponentInChildren <UIHealthBar>();
        weapons      = GetComponent <AiWeapons>();

        // registering states
        stateMachine.RegisterState(new AiChasePlayerState());
        stateMachine.RegisterState(new AiDeathState());
        stateMachine.RegisterState(new AiIdleState());
        stateMachine.RegisterState(new AiFindWeaponState());
        stateMachine.RegisterState(new AiAttackPlayerState());

        stateMachine.ChangeState(initState);

        _playerHealth = playerTransform.GetComponent <PlayerHealth>();
        _flagIsAlive  = true;
    }
Exemplo n.º 4
0
 public void KillAndRespawn(GameObject player)
 {
     if (player.transform.GetComponent <PhotonView>().InstantiationId == 0)
     {
         // Local offline player
         Destroy(player);
     }
     else
     {
         // Ragdoll is basically graphics, have every player instantiate it locally. Desync in location of the ragdoll is acceptable.
         // We spawn our own ragdoll though, so we can tell the spawn camera to follow the ragdoll
         Vector3 currentPlayerVelocity = player.GetComponent <Rigidbody>().velocity;
         ragdollCtrl.BroadcastRagdoll(player.transform.position, currentPlayerVelocity, player.transform.rotation, UserDefinedConstants.spawnTime);
         activeRagdoll = Instantiate(RagdollController.ragdoll, player.transform.position, player.transform.rotation);
         Destroy(activeRagdoll, UserDefinedConstants.spawnTime + 0.2f); // Give some legroom so the spawn camera can access position of ragdoll while waiting to spawn
         ragdollActive = true;
         activeRagdoll.GetComponent <Rigidbody>().velocity = currentPlayerVelocity;
         respawnTime   = UserDefinedConstants.spawnTime;
         hipsOfRagdoll = RagdollController.GetFollowTransform(activeRagdoll);
         msgCtrl.AppendMessage("U DED");
         msgCtrl.AppendMessage(string.Format("Respawn in {0:f2}", UserDefinedConstants.spawnTime));
         ActivateSpawnCam();
         PhotonNetwork.Destroy(player);
     }
 }
Exemplo n.º 5
0
 private void Start()
 {
     ragdoll  = (RagdollController)GetComponent(typeof(RagdollController));
     animator = GetComponentInChildren <Animator>();
     agent    = GetComponent <NavMeshAgent>();
     GiveGun();
 }
    private static void setStoredRagdollController(GameObject selected)
    {
        RagdollController controller = selected.GetComponent <RagdollController>();

        if (controller == null)
        {
            controller = selected.AddComponent <RagdollController>();
        }

        List <Transform> children = selected.GetComponentsInChildren <Transform>().ToList();

        controller.bones = new Transform[storedRagdollController.bones.Length];

        for (int i = 0; i < controller.bones.Length; i++)
        {
            Transform bone       = controller.bones[i];
            Transform storedBone = storedRagdollController.bones[i];

            if (storedBone == null)
            {
                continue;
            }

            bone = children.Find(tran => { return(tran.name == storedBone.name); });
        }
    }
Exemplo n.º 7
0
        void Awake()
        {
            eventPlayer = GetComponent <EventPlayer>();
            eventPlayer.AddParameters(new CustomParameter[] {
                new CustomParameter("Agitated", false),
            });

            ragdollController = GetComponent <RagdollController>();



            movement = GetComponent <MovementController>();
            turner   = GetComponent <Turner>();
            //jumper = GetComponent<Jumper>();
            platformer = GetComponent <Platformer>();
            combat     = GetComponent <CharacterCombat>();

            charAnimationMover = GetComponent <CharacterAnimatorMover>();
            characterMovement  = GetComponent <CharacterMovement>();

            turner.doAutoTurn = true;
            cam = Camera.main;

            combat.SetAimTargetCallback(() => cam.transform.position + cam.transform.forward * 500);

            turner.SetTurnTargetCallback(() => CalculateFaceDir());
        }
Exemplo n.º 8
0
    void OnTriggerStay2D(Collider2D hit)
    {
        if (hit.attachedRigidbody && hit.gameObject.tag == "Player")
        {
            RagdollController ragdollController = hit.transform.GetComponentInParent <RagdollController>();

            float effectiveFactor = factor;

            if (ragdollController.isGrabbing)
            {
                effectiveFactor = factorGrabbing;
            }

            if (hit.transform.position.y + (hit.transform.localScale.y / 2) < transform.position.y + (transform.localScale.y / 2))
            {
                Rigidbody2D rb = hit.GetComponent <Rigidbody2D>();
                rb.AddForce(Vector3.up * rb.mass * effectiveFactor);

                if (rb.velocity.y > maxVelocity)
                {
                    rb.velocity = new Vector2(rb.velocity.x, maxVelocity);
                }
            }
        }
    }
Exemplo n.º 9
0
    public void SetAlive(bool isAlive)
    {
        if (started == false)
        {
            started = true;
        }
        else if (currentAlive == isAlive)
        {
            return;
        }

        currentAlive = isAlive;

        foreach (MonoBehaviour behaviour in aliveBehaviours)
        {
            behaviour.enabled = isAlive;
        }

        if (isAlive == false)
        {
            RagdollController newRagdoll = Instantiate(ragdollPrefab);
            newRagdoll.CopyPose(character.animator, character.equipment);

            if (isPlayer && character.movement.head != null)
            {
                //keep the camera
                character.movement.head.SetParent(null);
            }

            Destroy(gameObject);
        }
    }
Exemplo n.º 10
0
        // Token: 0x060008DB RID: 2267 RVA: 0x0002CA80 File Offset: 0x0002AC80
        public override void OnExit()
        {
            base.OnExit();
            Util.PlaySound(DeathState.initialSoundString, base.gameObject);
            Transform modelTransform = base.GetModelTransform();

            if (modelTransform && NetworkServer.active && modelTransform.GetComponent <ChildLocator>() && DeathState.initialEffect)
            {
                EffectManager.instance.SpawnEffect(DeathState.initialEffect, new EffectData
                {
                    origin = base.transform.position,
                    scale  = DeathState.initialEffectScale
                }, true);
            }
            Rigidbody         component  = base.GetComponent <Rigidbody>();
            RagdollController component2 = modelTransform.GetComponent <RagdollController>();

            if (component2 && component)
            {
                component2.BeginRagdoll(component.velocity * DeathState.velocityMagnitude);
            }
            ExplodeRigidbodiesOnStart component3 = modelTransform.GetComponent <ExplodeRigidbodiesOnStart>();

            if (component3)
            {
                component3.force   = DeathState.explosionForce;
                component3.enabled = true;
            }
        }
Exemplo n.º 11
0
    // -----------------------------------------------------------------------------
    void Start()
    {
        _ragdoll = GetComponent <RagdollController>();

        _baseRigidBody            = BasePelvis.GetComponent <Rigidbody>();
        _baseRigidBody.useGravity = false;
    }
Exemplo n.º 12
0
    private void Die()
    {
        isDead = !isDead;

        //Debug.Log(gameObject.name + " died!");
        var animator = GetComponent <Animator>();
        var navAgent = GetComponent <NavMeshAgent>();
        var rb       = GetComponent <Rigidbody>();

        // var lastColliderHitName = WeaponManager.Instance.ColliderHit.name;
        // Debug.Log(lastColliderHitName);

        if (isDead) //turn into interface
        {
            RagdollController.CopyTransformData(ragDollController.mainModel, ragDollController.ragdoll, animator.velocity);
            ragDollController.SetRadDollState(this, animator, navAgent, rb, true);
        }
        else
        {
            ragDollController.SetRadDollState(this, animator, navAgent, rb, false);
        }

        GameManager.Instance.OnKilledAi(_aiController);

        //ragDollController.ApplyBulletForceToCollider(lastColliderHitName);
    }
        void Awake()
        {
            characterMovement   = GetComponent <CharacterMovement>();
            characterController = GetComponent <CharacterController>();

            ragdollController = GetComponent <RagdollController>();
            // collisionRagdoller = GetComponent<CollisionRagdoller>();
        }
Exemplo n.º 14
0
    private void Awake()
    {
        _playerHandling           = GetComponent <PlayerHandling>();
        _playerCheckpointResetter = GetComponent <PlayerCheckpointResetter>();
        _ragdollController        = GetComponent <RagdollController>();
        _playerEffects            = GetComponentInChildren <PlayerEffects>();

        _health = _initialHealth;
    }
Exemplo n.º 15
0
 void Start()
 {
     drops         = GetComponent <ItemDrops>();
     ragdoll       = GetComponent <RagdollController>();
     maxHealth     = 100;
     currentHealth = maxHealth;
     gm            = GameObject.FindObjectOfType <GameManager>();
     enemySpawn    = GameObject.FindWithTag("Spawner").GetComponent <EnemySpawner>();
 }
Exemplo n.º 16
0
        // Token: 0x06000809 RID: 2057 RVA: 0x00027CE0 File Offset: 0x00025EE0
        public override void OnEnter()
        {
            base.OnEnter();
            this.PlayDeathSound();
            Transform modelTransform = base.GetModelTransform();
            Vector3   vector         = Vector3.up * 3f;

            if (base.characterMotor)
            {
                vector += base.characterMotor.velocity;
                base.characterMotor.enabled = false;
            }
            if (base.characterBody && base.characterBody.inventory && base.characterBody.inventory.GetItemCount(ItemIndex.LunarDagger) > 0)
            {
                this.isBrittle = true;
            }
            if (base.modelLocator)
            {
                base.modelLocator.modelTransform = null;
            }
            if (modelTransform)
            {
                RagdollController component = modelTransform.GetComponent <RagdollController>();
                if (component)
                {
                    component.BeginRagdoll(vector);
                }
                if (this.isBrittle)
                {
                    TemporaryOverlay temporaryOverlay = modelTransform.gameObject.AddComponent <TemporaryOverlay>();
                    temporaryOverlay.duration                 = 0.5f;
                    temporaryOverlay.destroyObjectOnEnd       = true;
                    temporaryOverlay.originalMaterial         = Resources.Load <Material>("Materials/matShatteredGlass");
                    temporaryOverlay.destroyEffectPrefab      = (GameObject)Resources.Load("Prefabs/Effects/BrittleDeath");
                    temporaryOverlay.destroyEffectChildString = "Chest";
                    temporaryOverlay.inspectorCharacterModel  = modelTransform.gameObject.GetComponent <CharacterModel>();
                    temporaryOverlay.alphaCurve               = AnimationCurve.EaseInOut(0f, 0f, 1f, 1f);
                    temporaryOverlay.animateShaderAlpha       = true;
                }
            }
            if (base.cameraTargetParams)
            {
                ChildLocator component2 = modelTransform.GetComponent <ChildLocator>();
                if (component2)
                {
                    Transform transform = component2.FindChild("Chest");
                    if (transform)
                    {
                        base.cameraTargetParams.cameraPivotTransform = transform;
                        base.cameraTargetParams.aimMode            = CameraTargetParams.AimType.Aura;
                        base.cameraTargetParams.dontRaycastToPivot = true;
                    }
                }
            }
        }
    public override void OnInspectorGUI()
    {
        RagdollController myTarget = (RagdollController)target;

        DrawDefaultInspector();

        if (GUILayout.Button("Kill"))
        {
            myTarget.Kill();
        }
    }
Exemplo n.º 18
0
 private void Awake() {
     Inventory = new Inventory();
     equippedItemManager = GetComponent<EquippedItemHolderManager>();
     anim = GetComponent<Animator>();
     ragdollController = GetComponent<RagdollController>();
     humanoidController = GetComponent<HumanoidAnimatorHandler>();
     anim.SetFloat("HealthPoints", CurrentHealthPoints);
     CurrentState = State.Idle;
     CurrentHealthPoints = MaxHealthPoints;
     audioSource = GetComponent<AudioSource>();
 }
Exemplo n.º 19
0
 protected override void Start()
 {
     base.Start();
     if (animator == null)
     {
         animator = GetComponent <Animator>();
     }
     ragdollController          = gameObject.AddComponent <RagdollController>();
     ragdollController.animator = animator;
     unragdoll();
 }
Exemplo n.º 20
0
 public void Start()
 {
     psycheEnv.gameObject = gameObject;
     brain               = new Brain(psycheEnv);
     psycheEnv.brain     = brain;
     psycheEnv.character = this;
     brain.goal          = new ObtainGeneralObjectGoal(psycheEnv, TypeTag.APPLE);
     controller          = GetComponent <CharacterController>();
     animator            = GetComponentInChildren <Animator>();
     ragdollController   = GetComponent <RagdollController>();
     ragdollController.DeactivateRagdoll();
 }
Exemplo n.º 21
0
    void Awake()
    {
        healthController   = GetComponent <HealthController>();
        waypointController = GetComponent <WaypointController>();
        ragdollController  = GetComponent <RagdollController>();

        player       = GameObject.FindGameObjectWithTag("Player").GetComponent <Player>();
        targetFinder = GetComponentInChildren <PlayerTargeter>();

        NMAgent     = GetComponent <NavMeshAgent>();
        animator    = GetComponent <Animator>();
        mineTrigger = GetComponent <SphereCollider>();
    }
Exemplo n.º 22
0
    void Awake()
    {
        animator     = GetComponent <Animator>();
        ragdoll      = GetComponent <RagdollController>();
        navMeshAgent = GetComponent <NavMeshAgent>();
        health       = GetComponent <Health>();
        EquipWeapon(equippedWeapon);
        isChasing = false;
        isAlive   = true;
        gm        = GameObject.FindObjectOfType <GameManager>();

        healthBar.SetHealth(health.currentHealth);
    }
Exemplo n.º 23
0
    private void Start()
    {
        stateMachine      = new InnocentStateMachine(this);
        ragdollController = GetComponent <RagdollController>();
        capsuleCollider   = GetComponent <CapsuleCollider>();
        navMeshAgent      = GetComponent <NavMeshAgent>();
        locomotion        = GetComponent <InnocentLocomotion>();



        stateMachine.RegisterState(new InnocentIdleState());
        stateMachine.RegisterState(new InnocentDeathState());
        stateMachine.RegisterState(new InnocentRunState());

        stateMachine.ChangeState(initState);
    }
 void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
     for (int i = 0; i < marionetteVisuals.Count; i++)
     {
         LineRenderer line = marionetteVisuals[i].fingertip.gameObject.AddComponent <LineRenderer>();
         lines.Add(line);
         line.material   = lineMaterial;
         line.startWidth = 0.01f;
         line.endWidth   = 0.01f;
         line.startColor = Color.white;
         line.endColor   = Color.white;
     }
 }
    void Awake()
    {
        _transform            = transform;
        _currentPos           = _transform.position;
        _lastValidPos         = _currentPos;
        _originalPos          = _currentPos;
        _cameraTransform      = mainCamera.transform;
        _debugRayOrigin       = new Vector3(0f, _transform.localScale.y, 0f);
        _raycastYAdjust       = new Vector3(0f, 200f, 0f);
        _raycastZAdjust       = new Vector3(0f, 0f, -200f);
        _transformedUpVector  = -Vector3.up;
        _originalCharLocalPos = characterTransform.localPosition;
        climbAreaListener.OnTriggerStayEvent.AddListener += OnStayClimbArea;
        climbAreaListener.OnTriggerExitEvent.AddListener += OnExitClimbArea;
        collListener.OnTriggerEnterEvent.AddListener     += OnCollisionWithDebris;

        _ragDollController = GetComponent <RagdollController>();
    }
	void Awake()
	{
		_transform = transform;
		_currentPos = _transform.position;
		_lastValidPos = _currentPos;
		_originalPos = _currentPos;
		_cameraTransform = mainCamera.transform;
		_debugRayOrigin = new Vector3(0f,_transform.localScale.y,0f);
		_raycastYAdjust = new Vector3(0f,200f,0f);
		_raycastZAdjust = new Vector3(0f,0f,-200f);
		_transformedUpVector = -Vector3.up;
		_originalCharLocalPos = characterTransform.localPosition;
		climbAreaListener.OnTriggerStayEvent.AddListener += OnStayClimbArea;
		climbAreaListener.OnTriggerExitEvent.AddListener += OnExitClimbArea;
		collListener.OnTriggerEnterEvent.AddListener += OnCollisionWithDebris;

		_ragDollController = GetComponent<RagdollController>();
	}
Exemplo n.º 27
0
    private void OnTriggerEnter(Collider other)
    {
        int     layer      = other.gameObject.layer;
        Vector3 normalized = (other.transform.position - base.transform.position).normalized;
        float   num        = Vector3.Distance(other.transform.position, base.transform.position);

        if (other.gameObject.CompareTag("Enemy"))
        {
            if (other.gameObject.name != "Torso")
            {
                return;
            }
            RagdollController ragdollController = (RagdollController)other.transform.root.GetComponent(typeof(RagdollController));
            if ((bool)ragdollController && !ragdollController.IsRagdoll())
            {
                ragdollController.MakeRagdoll(normalized * 1100f);
                if (player)
                {
                    PlayerMovement.Instance.Slowmo(0.35f, 0.5f);
                }
                Enemy enemy = (Enemy)other.transform.root.GetComponent(typeof(Enemy));
                if ((bool)enemy)
                {
                    enemy.DropGun(Vector3.up);
                }
            }
            return;
        }
        Rigidbody component = other.gameObject.GetComponent <Rigidbody>();

        if ((bool)component)
        {
            if (num < 5f)
            {
                num = 5f;
            }
            component.AddForce(normalized * 450f / num, ForceMode.Impulse);
            component.AddTorque(new Vector3(Random.Range(-1f, 1f), Random.Range(-1f, 1f), Random.Range(-1f, 1f)) * 10f);
            if (layer == LayerMask.NameToLayer("Player"))
            {
                ((PlayerMovement)other.transform.root.GetComponent(typeof(PlayerMovement))).Explode();
            }
        }
    }
    public static void copyComponents()
    {
        storedCollider          = Selection.activeGameObject.GetComponent <Collider>();
        storedRigidbody         = Selection.activeGameObject.GetComponent <Rigidbody>();
        storedJoint             = Selection.activeGameObject.GetComponent <CharacterJoint>();
        storedChildLocator      = Selection.activeGameObject.GetComponent <ChildLocator>();
        storedRagdollController = Selection.activeGameObject.GetComponent <RagdollController>();

        if (storedCollider == null &&
            storedRigidbody == null &&
            storedJoint == null &&
            storedChildLocator == null &&
            storedRagdollController == null)
        {
            Debug.Log("did not copy any components");
            return;
        }

        string copied = "copied ";

        if (storedCollider != null)
        {
            copied += "Collider, ";
        }
        if (storedRigidbody != null)
        {
            copied += "Rigidbody, ";
        }
        if (storedJoint != null)
        {
            copied += "\nCharacterJoint, ";
        }
        if (storedChildLocator != null)
        {
            copied += "\nChildLocator, ";
        }
        if (storedRagdollController != null)
        {
            copied += "\nRagdollController, ";
        }

        Debug.Log(copied);
    }
Exemplo n.º 29
0
    private void OnCollisionEnter(Collision other)
    {
        int layer = other.gameObject.layer;

        if (other.gameObject.layer == LayerMask.NameToLayer("Ground"))
        {
            CameraShaker.Instance.ShakeOnce(5.5f * GameState.Instance.cameraShake, 1.2f, 0.2f, 0.3f);
            if (wallRunning && other.contacts[0].normal.y == -1f)
            {
                MonoBehaviour.print("ROOF");
                return;
            }
            wallNormalVector = other.contacts[0].normal;
            MonoBehaviour.print("nv: " + wallNormalVector);
            AudioManager.Instance.PlayLanding();
            if (Math.Abs(wallNormalVector.y) < 0.1f)
            {
                StartWallRun();
            }
            airborne = false;
        }
        if (layer != LayerMask.NameToLayer("Enemy") || (grounded && !crouching) || rb.velocity.magnitude < 3f)
        {
            return;
        }
        Enemy enemy = (Enemy)other.transform.root.GetComponent(typeof(Enemy));

        if ((bool)enemy && !enemy.IsDead())
        {
            UnityEngine.Object.Instantiate(PrefabManager.Instance.enemyHitAudio, other.contacts[0].point, Quaternion.identity);
            RagdollController ragdollController = (RagdollController)other.transform.root.GetComponent(typeof(RagdollController));
            if (grounded && crouching)
            {
                ragdollController.MakeRagdoll(rb.velocity * 1.2f * 34f);
            }
            else
            {
                ragdollController.MakeRagdoll(rb.velocity.normalized * 250f);
            }
            rb.AddForce(rb.velocity.normalized * 2f, ForceMode.Impulse);
            enemy.DropGun(rb.velocity.normalized * 2f);
        }
    }
        // Token: 0x060031D5 RID: 12757 RVA: 0x000D6A8C File Offset: 0x000D4C8C
        public override void OnEnter()
        {
            base.OnEnter();
            Vector3 vector = Vector3.up * 3f;

            if (base.characterMotor)
            {
                vector += base.characterMotor.velocity;
                base.characterMotor.enabled = false;
            }
            if (base.cachedModelTransform)
            {
                RagdollController component = base.cachedModelTransform.GetComponent <RagdollController>();
                if (component)
                {
                    component.BeginRagdoll(vector);
                }
            }
        }
Exemplo n.º 31
0
        /*
         *              switch camera to follow ragdoll	or animated hips based on ragdoll state
         */
        void CheckCameraTarget()
        {
            if (!controlledCharacter)
            {
                camFollow.target = null;
                return;
            }

            RagdollController ragdollController = controlledCharacter.ragdollController;

            //switch camera to follow ragdoll (or animated hips)
            if (ragdollController.ragdollRenderersEnabled == cameraTargetIsAnimatedHips)
            {
                cameraTargetIsAnimatedHips = !cameraTargetIsAnimatedHips;

                Ragdoll.Element hipBone = ragdollController.ragdoll.RootBone();
                camFollow.target     = cameraTargetIsAnimatedHips ? hipBone.followTarget.transform : hipBone.transform;
                camFollow.updateMode = cameraTargetIsAnimatedHips ? UpdateMode.Update : UpdateMode.FixedUpdate;
            }
        }
    void Update()
    {
        //spotlight update
        spotlight.position = CCPlayer.main.leftHand.transform.position;
        spotlight.rotation = CCPlayer.main.leftHand.transform.rotation;
        //ring and leveling plane update
        for (int i = 0; i < numPlanes; i++)
        {
            Vector3 pos = levelingPlanes[i].t.position;
            pos.y += levelingPlanes[i].dir * Time.deltaTime;
            if (pos.y < -bounds - offset)
            {
                levelingPlanes[i].dir = 1;
            }
            if (pos.y > bounds - offset)
            {
                levelingPlanes[i].dir = -1;
            }
            levelingPlanes[i].t.position = pos;
        }
        UpdateConveyor();
        //hand update
        RaycastHit hit;
        bool       rightHandDown = CCPlayer.main.rightHand.handInput.triggerState == InputState.Down;

        if (!rightHandDown)
        {
            return;
        }
        if (Physics.Raycast(spotlight.position, (CCPlayer.main.rightHand.anchor.position - spotlight.position).normalized, out hit, 100, ragdollLayerMask))
        {
            if (hit.collider.name.StartsWith("mixamorig"))
            {
                RagdollController rc = hit.collider.GetComponentInParent <RagdollController>();
                if (rc != null)
                {
                    rc.InitiateGrab(CCPlayer.main.rightHand, hit.rigidbody);
                }
            }
        }
    }
Exemplo n.º 33
0
    // Use this for initialization
    void Start()
    {
        _animator = GetComponent<Animator>();
        attackDamage.Add("Attack1", attack1Damage);
        attackDamage.Add("Attack2", attack2Damage);
        attackDamage.Add("Attack3", attack3Damage);
        rdc = GetComponent<RagdollController>();
        _currentHealth = startingHealth;

        _characterController = GetComponentInChildren<StandardCharacterController>();

        GameObject HUD = GameObject.FindGameObjectWithTag("HUD");

        if (_characterController._playerAssign == "J1" || _characterController._playerAssign == "K1")
        {
            Slider[] _sliders = HUD.GetComponentsInChildren<Slider>();
            foreach (Slider _slider in _sliders)
            {
                if (_slider.tag == "Player1")
                {
                    _healthSlider = _slider;
                }
            }
        }
        else if (_characterController._playerAssign == "J2" || _characterController._playerAssign == "K2")
        {
            Slider[] _sliders = HUD.GetComponentsInChildren<Slider>();
            foreach (Slider _slider in _sliders)
            {
                if (_slider.tag == "Player2")
                {
                    _healthSlider = _slider;
                }
            }
        }

        buffList = new Dictionary<string, float>();
    }
 //TODO: Create startPLayer function when we want to have some sort of menu.
 void Awake()
 {
     controller = GetComponent<CharacterController>(); //NOTE: Does this screw things up?
     animalStateControllerRef = gameObject.GetComponent<AnimalStateController>();
     ragdollRef = gameObject.GetComponentInChildren<RagdollController>();
 }