public override void Init()
        {
            weaponController       = GetComponent <PlayerWeaponController>();
            playerHealthController = GetComponent <HealthControllerPlayer>();
            reloadController       = GetComponent <PlayerReloadController>();

            playerMeleeWeaponLayerMask = Resources.Load("LayerMasks/LayerMask_Player Melee Weapon") as ScriptableLayerMask;
            throwWeaponInputAction     = Resources.Load("Input Actions/Input Action Throw Weapon") as ScriptableInputBoolAction;
            toggleWeaponInputAction    = Resources.Load("Input Actions/Input Action Toggle Weapon") as ScriptableInputBoolAction;

            isPlayerReloading = Resources.Load("Player/PlayerIsReloading") as ScriptableBool;

            searcherController          = GetComponent <InteractionSearcherController>();
            worldInteractionParentGroup = FindObjectOfType <WorldInteractionsManager>().transform;
            playerRightHand             = GetComponentInChildren <RightHandIdentifier>().transform;

            inventoryAmmo.rifleAmmo     = playerInventoryData.inventoryAmmo.rifleAmmo;
            inventoryAmmo.pistolAmmo    = playerInventoryData.inventoryAmmo.pistolAmmo;
            inventoryAmmo.shotgunShells = playerInventoryData.inventoryAmmo.shotgunShells;
            inventoryAmmo.arrows        = playerInventoryData.inventoryAmmo.arrows;

            fistsWeaponRuntime.FreshSpawnWeapon();
            fistsWeaponRuntime.PickupWeaponPlayer();
            fistsWeaponRuntime.DisableAttackColliders();

            SpawnInventoryWeapons(playerInventoryData.inventoryWeapons);
        }
예제 #2
0
        void UpdateTransformLayer()
        {
            ScriptableLayerMask enemyLayerMask = Resources.Load("LayerMasks/LayerMask_Enemy") as ScriptableLayerMask;
            int layerMaskNumber = GetLayerFromLayerMask.GetInt(enemyLayerMask.value);

            gameObject.layer = layerMaskNumber;
        }
예제 #3
0
 public void Init(AIStateController stateCon)
 {
     stateController               = stateCon;
     fieldOfViewController         = stateCon.GetComponentInChildren <FieldOfViewController>();
     inventoryController           = stateCon.GetComponent <AIInventoryController>();
     movementController            = stateCon.GetComponent <AIMovementController>();
     animController                = stateCon.GetComponent <AnimationController>();
     lineOfSightObstaclesLayerMask = Resources.Load("LayerMasks/LayerMask_AI_Line Of Sight Obstacles") as ScriptableLayerMask;
     deltaTime           = GetResource.DeltaTimer();
     runtimeWeaponInHand = inventoryController.currentWeaponRuntime;
     inventoryController.currentWeaponRuntime.AttackCooldownEnd();
     inventoryController.rangedWeaponRuntime.currentAmmoInMagazine = inventoryController.rangedWeaponRuntime.rangedData.maxMagazineAmmoAmount;
 }
예제 #4
0
        public override void Init()
        {
            SubLimbController[] allSubLimbs = GetComponentsInChildren <SubLimbController>();
            foreach (SubLimbController item in allSubLimbs)
            {
                switch (item.limbType)
                {
                case HitboxType.HEAD:
                    headLimb = item;
                    break;

                case HitboxType.UPPER_BODY:
                    upperBodyLimb = item;
                    break;

                case HitboxType.L_ARM:
                    leftArmLimb = item;
                    break;

                case HitboxType.R_ARM:
                    rightArmLimb = item;
                    break;

                case HitboxType.PROP:
                    break;

                case HitboxType.LOWER_BODY:
                    lowerBodyLimb = item;
                    break;
                }

                item.Init();
            }

            ScriptableLayerMask ragdollLayer = Resources.Load("LayerMasks/LayerMask_Ragdoll") as ScriptableLayerMask;
            int layerMaskNumber = GetLayerFromLayerMask.GetInt(ragdollLayer.value);

            RagdollComponentController[] allRagdollComponents = GetComponentsInChildren <RagdollComponentController>();
            foreach (RagdollComponentController item in allRagdollComponents)
            {
                ragdollComponentControllers.Add(item);
                item.Init();
                item.gameObject.layer = layerMaskNumber;
            }
        }
예제 #5
0
        public override void Init()
        {
            hitboxController = GetComponentInParent <HitboxController>();
            collision        = GetComponent <BoxCollider>();

            PlayerController playerController = GetComponentInParent <PlayerController>();

            if (playerController != null)
            {
                ScriptableLayerMask playerLayerMask = Resources.Load("LayerMasks/LayerMask_PlayerHitbox") as ScriptableLayerMask;
                gameObject.layer = GetLayerFromLayerMask.GetInt(playerLayerMask.value);
            }
            else
            {
                ScriptableLayerMask enemyLayerMask = Resources.Load("LayerMasks/LayerMask_EnemyHitbox") as ScriptableLayerMask;
                gameObject.layer = GetLayerFromLayerMask.GetInt(enemyLayerMask.value);
            }
        }
예제 #6
0
        void AssignLayerToColliders()
        {
            int layerNumber = 0;

            if(isPlayer == true)
            {
                ScriptableLayerMask playerLayerMask = Resources.Load("LayerMasks/LayerMask_PlayerHitbox") as ScriptableLayerMask;
                layerNumber = GetLayerFromLayerMask.GetInt(playerLayerMask.value);
            }
            else
            {
                ScriptableLayerMask enemyLayerMask = Resources.Load("LayerMasks/LayerMask_EnemyHitbox") as ScriptableLayerMask;
                layerNumber = GetLayerFromLayerMask.GetInt(enemyLayerMask.value);
            }
            

            headHitboxHandler.AssignLayerMask(layerNumber);
            torsoHitboxHandler.AssignLayerMask(layerNumber);
            leftArmHitboxHandler.AssignLayerMask(layerNumber);
            rightArmHitboxHandler.AssignLayerMask(layerNumber);
            leftLegHitboxHandler.AssignLayerMask(layerNumber);
            rightLegHitboxHandler.AssignLayerMask(layerNumber);
        }
예제 #7
0
 public override void Init()
 {
     searchNotificationMask = Resources.Load("LayerMasks/LayerMask_Enemy Notifications") as ScriptableLayerMask;
     searchAlertController  = GetComponent <AISearchAlertController>();
     fieldOfViewController  = GetComponentInChildren <FieldOfViewController>();
 }
 public void SetLayerMask(ScriptableLayerMask Layer)
 {
     //      currentGameObject.layer = LayerMask.NameToLayer(layerName.Value);
     gameObject.layer = GetLayerFromLayerMask.GetInt(Layer.value);
 }