protected virtual void Awake() { _anim = GetComponent<Animator>(); _hash = GameObject.FindGameObjectWithTag(Tags.gameController).GetComponent<HashIDs>(); _syncManager = GameObject.FindGameObjectWithTag(Tags.networkController).GetComponent<SyncManager>(); _modelInfo = GetComponent<ModelInfo>(); // Create a marker object for player's ranged target. _rangedTarget = InstantiateAsChild(ResourceDirectory.Instance.Creatures["redMarker"], transform) as GameObject; // Create IK controller for right arm. GameObject rArmIkController = GameObject.Instantiate(Resources.Load("Prefabs/Animation/LimbIkController")) as GameObject; rArmIkController.transform.parent = gameObject.transform; _rArmIkLimb = rArmIkController.GetComponent<IkLimb>(); _rArmIkLimb.upperArm = _modelInfo.rArm.transform; _rArmIkLimb.forearm = _modelInfo.rForearm.transform; _rArmIkLimb.hand = _modelInfo.rHand.transform; _rArmIkLimb.elbowTarget = _modelInfo.rArmPistolIkElbowTarget; _rArmIkLimb.target = _modelInfo.rArmPistolIkHandTarget.transform; _rArmIkLimb.IsEnabled = false; _rArmIkLimb.debug = true; _rArmIkLimb.transition = 0.65f; _rArmIkLimb.handRotationPolicy = IkLimb.HandRotations.UseTargetRotation; // Create IK controller for left arm. GameObject lArmIkController = GameObject.Instantiate(Resources.Load("Prefabs/Animation/LimbIkController")) as GameObject; lArmIkController.transform.parent = gameObject.transform; _lArmIkLimb = lArmIkController.GetComponent<IkLimb>(); _lArmIkLimb.upperArm = _modelInfo.lArm.transform; _lArmIkLimb.forearm = _modelInfo.lForearm.transform; _lArmIkLimb.hand = _modelInfo.lHand.transform; _lArmIkLimb.elbowTarget = _modelInfo.lArmPistolIkElbowTarget; _lArmIkLimb.target = _modelInfo.lArmPistolIkHandTarget; _lArmIkLimb.IsEnabled = false; _lArmIkLimb.debug = true; _lArmIkLimb.transition = 0.9f; // Add DamageLocation scripts to skeleton. DamageLocation headDamageLocation = _modelInfo.head.AddComponent<DamageLocation>(); headDamageLocation.damageLocationType = DamageLocationType.Head; headDamageLocation.player = this.gameObject; DamageLocation torsoDamageLocation = _modelInfo.torso.AddComponent<DamageLocation>(); torsoDamageLocation.damageLocationType = DamageLocationType.Torso; torsoDamageLocation.player = this.gameObject; DamageLocation legsDamageLocation = _modelInfo.legs.AddComponent<DamageLocation>(); legsDamageLocation.damageLocationType = DamageLocationType.Legs; legsDamageLocation.player = this.gameObject; // Create initial NoWeapon object. EquipWeaponByName("NoWeapon"); // Create camera orbiter object. MouseOrbit = (GameObject.Instantiate(ResourceDirectory.Instance.Camera["Orbiter"]) as GameObject).GetComponent<MouseOrbit>(); MouseOrbit.transform.parent = transform; MouseOrbit.target = transform; }
protected virtual void Awake() { _anim = GetComponent <Animator>(); _hash = GameObject.FindGameObjectWithTag(Tags.gameController).GetComponent <HashIDs>(); _syncManager = GameObject.FindGameObjectWithTag(Tags.networkController).GetComponent <SyncManager>(); _modelInfo = GetComponent <ModelInfo>(); // Create a marker object for player's ranged target. _rangedTarget = InstantiateAsChild(ResourceDirectory.Instance.Creatures["redMarker"], transform) as GameObject; // Create IK controller for right arm. GameObject rArmIkController = GameObject.Instantiate(Resources.Load("Prefabs/Animation/LimbIkController")) as GameObject; rArmIkController.transform.parent = gameObject.transform; _rArmIkLimb = rArmIkController.GetComponent <IkLimb>(); _rArmIkLimb.upperArm = _modelInfo.rArm.transform; _rArmIkLimb.forearm = _modelInfo.rForearm.transform; _rArmIkLimb.hand = _modelInfo.rHand.transform; _rArmIkLimb.elbowTarget = _modelInfo.rArmPistolIkElbowTarget; _rArmIkLimb.target = _modelInfo.rArmPistolIkHandTarget.transform; _rArmIkLimb.IsEnabled = false; _rArmIkLimb.debug = true; _rArmIkLimb.transition = 0.65f; _rArmIkLimb.handRotationPolicy = IkLimb.HandRotations.UseTargetRotation; // Create IK controller for left arm. GameObject lArmIkController = GameObject.Instantiate(Resources.Load("Prefabs/Animation/LimbIkController")) as GameObject; lArmIkController.transform.parent = gameObject.transform; _lArmIkLimb = lArmIkController.GetComponent <IkLimb>(); _lArmIkLimb.upperArm = _modelInfo.lArm.transform; _lArmIkLimb.forearm = _modelInfo.lForearm.transform; _lArmIkLimb.hand = _modelInfo.lHand.transform; _lArmIkLimb.elbowTarget = _modelInfo.lArmPistolIkElbowTarget; _lArmIkLimb.target = _modelInfo.lArmPistolIkHandTarget; _lArmIkLimb.IsEnabled = false; _lArmIkLimb.debug = true; _lArmIkLimb.transition = 0.9f; // Add DamageLocation scripts to skeleton. DamageLocation headDamageLocation = _modelInfo.head.AddComponent <DamageLocation>(); headDamageLocation.damageLocationType = DamageLocationType.Head; headDamageLocation.player = this.gameObject; DamageLocation torsoDamageLocation = _modelInfo.torso.AddComponent <DamageLocation>(); torsoDamageLocation.damageLocationType = DamageLocationType.Torso; torsoDamageLocation.player = this.gameObject; DamageLocation legsDamageLocation = _modelInfo.legs.AddComponent <DamageLocation>(); legsDamageLocation.damageLocationType = DamageLocationType.Legs; legsDamageLocation.player = this.gameObject; // Create initial NoWeapon object. EquipWeaponByName("NoWeapon"); // Create camera orbiter object. MouseOrbit = (GameObject.Instantiate(ResourceDirectory.Instance.Camera["Orbiter"]) as GameObject).GetComponent <MouseOrbit>(); MouseOrbit.transform.parent = transform; MouseOrbit.target = transform; }