// 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; } }
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; } } } }
// 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; }
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); } }
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); }); } }
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()); }
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); } } } }
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); } }
// 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; } }
// ----------------------------------------------------------------------------- void Start() { _ragdoll = GetComponent <RagdollController>(); _baseRigidBody = BasePelvis.GetComponent <Rigidbody>(); _baseRigidBody.useGravity = false; }
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>(); }
private void Awake() { _playerHandling = GetComponent <PlayerHandling>(); _playerCheckpointResetter = GetComponent <PlayerCheckpointResetter>(); _ragdollController = GetComponent <RagdollController>(); _playerEffects = GetComponentInChildren <PlayerEffects>(); _health = _initialHealth; }
void Start() { drops = GetComponent <ItemDrops>(); ragdoll = GetComponent <RagdollController>(); maxHealth = 100; currentHealth = maxHealth; gm = GameObject.FindObjectOfType <GameManager>(); enemySpawn = GameObject.FindWithTag("Spawner").GetComponent <EnemySpawner>(); }
// 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(); } }
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>(); }
protected override void Start() { base.Start(); if (animator == null) { animator = GetComponent <Animator>(); } ragdollController = gameObject.AddComponent <RagdollController>(); ragdollController.animator = animator; unragdoll(); }
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(); }
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>(); }
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); }
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>(); }
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); }
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); } } }
/* * 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); } } } }
// 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>(); }