Example #1
0
    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;
    }
Example #2
0
    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;
    }