Ejemplo n.º 1
0
 void Start()
 {
     if (hud == null)
     {
         hud = vHUDController.instance;
     }
 }
        protected virtual IEnumerator CharacterInit()
        {
            yield return(new WaitForEndOfFrame());

            if (tpCamera == null)
            {
                tpCamera = FindObjectOfType <vThirdPersonCamera>();
                if (tpCamera && tpCamera.target != transform)
                {
                    tpCamera.SetMainTarget(this.transform);
                }
            }
            if (hud == null && vHUDController.instance != null)
            {
                hud = vHUDController.instance;
                hud.Init(cc);
            }
        }
Ejemplo n.º 3
0
        protected virtual void CharacterInit()
        {
            if (cc != null)
            {
                cc.Init();
            }

            tpCamera = FindObjectOfType <vThirdPersonCamera>();
            if (tpCamera)
            {
                tpCamera.SetMainTarget(this.transform);
            }

            cursorPoint = transform.position;

            hud = vHUDController.instance;
            if (hud != null)
            {
                hud.Init(cc);
            }
        }
        public void Init()
        {
            // this method is called on the ThirdPersonController or TopDownController - Start

            animator     = GetComponent <Animator>();
            tpCamera     = v3rdPersonCamera.instance;
            hud          = vHUDController.instance;
            meleeManager = GetComponent <vMeleeManager>();
            // create a offset pivot to the character, to align camera position when transition to ragdoll
            var hips = animator.GetBoneTransform(HumanBodyBones.Hips);

            offSetPivot = Vector3.Distance(transform.position, hips.position);

            if (tpCamera != null)
            {
                tpCamera.offSetPlayerPivot = offSetPivot;
                tpCamera.target            = transform;
            }

            if (hud == null)
            {
                Debug.LogWarning("Invector : Missing HUDController, please assign on ThirdPersonController");
            }

            // prevents the collider from slipping on ramps
            frictionPhysics                 = new PhysicMaterial();
            frictionPhysics.name            = "frictionPhysics";
            frictionPhysics.staticFriction  = 1f;
            frictionPhysics.dynamicFriction = 1f;

            // default physics
            slippyPhysics                 = new PhysicMaterial();
            slippyPhysics.name            = "slippyPhysics";
            slippyPhysics.staticFriction  = 0f;
            slippyPhysics.dynamicFriction = 0f;

            // rigidbody info
            _rigidbody = GetComponent <Rigidbody>();

            // capsule collider
            _capsuleCollider = GetComponent <CapsuleCollider>();

            // save your collider preferences
            colliderCenter = GetComponent <CapsuleCollider>().center;
            colliderRadius = GetComponent <CapsuleCollider>().radius;
            colliderHeight = GetComponent <CapsuleCollider>().height;

            // health info
            currentHealth = maxHealth;
            currentHealthRecoveryDelay = healthRecoveryDelay;
            currentStamina             = maxStamina;

            // stopmove info
            canMoveForward = true;
            canMoveRight   = true;
            canMoveLeft    = true;
            canMoveBack    = true;

            if (hud == null)
            {
                return;
            }

            hud.damageImage.color = new Color(0f, 0f, 0f, 0f);

            cameraTransform.SendMessage("Init", SendMessageOptions.DontRequireReceiver);
            UpdateHUD();
        }