コード例 #1
0
    private void WeaponLogic_Flipper(SocketLocation socket)
    {
        flipperCooldownTimers[(int)socket] -= Time.deltaTime;

        Weapon flipper = socketEquipment.GetWeaponInSocket(socket);
        if (flipper != null)
        {
            Transform flipperTransform = flipper.GetGameObject().transform;

            float distanceToPlayer = (this.transform.position - player.transform.position).magnitude;

            bool playerInRange = distanceToPlayer <= flipperActivationRadius;
            bool imUpsideDown = Vector3.Dot(this.transform.root.up, Vector3.up) < 0;
            bool correctState = botControl.state == FSMBotController.FSMState.ARRIVE;
            bool cooldownOkay = flipperCooldownTimers[(int)socket] <= 0.0f;

            if ((playerInRange || imUpsideDown) && correctState && cooldownOkay)
            {
                flipper.Use();

                // The cooldown time should reflect the distance to the player:
                flipperCooldownTimers[(int)socket] =
                    UnityEngine.Random.Range(flipperMinCooldownSeconds, flipperMaxCooldownSeconds);
            }
        }
    }
コード例 #2
0
ファイル: BoosterControls.cs プロジェクト: ddoodm/Mowdown
 // Use this for initialization
 void Start()
 {
     switch(transform.parent.name)
     {
         case "LeftSocket": location = SocketLocation.LEFT; break;
         case "RightSocket": location = SocketLocation.RIGHT; break;
         case "BackSocket": location = SocketLocation.BACK; break;
     }
 }
コード例 #3
0
 private void DoLogicFor(SocketLocation socket, Equipment item)
 {
     switch(item)
     {
         case Equipment.Item_Flipper: WeaponLogic_Flipper(socket); break;
         case Equipment.Item_CircularSaw: WeaponLogic_Saw(socket); break;
         case Equipment.Item_Hammer: WeaponLogic_Hammer(socket); break;
         case Equipment.Item_PlasmaShield: WeaponLogic_PlasmaShield(socket); break;
         case Equipment.Item_Booster:
             if(socket == SocketLocation.BACK)
                 WeaponLogic_RearBooster(socket);
             else
                 WeaponLogic_LateralBooster(socket);
             break;
     }
 }
コード例 #4
0
    private void WeaponLogic_Saw(SocketLocation socket)
    {
        SawHoldTimers[(int)socket] += Time.deltaTime;
        Weapon saw = socketEquipment.GetWeaponInSocket(socket);
        if (saw != null)
        {
            Transform sawTransform = saw.GetGameObject().transform;
            float distanceToPlayer = (this.transform.position - player.transform.position).magnitude;

            bool playerInRange = distanceToPlayer <= flipperActivationRadius;
            bool correctState = botControl.state == FSMBotController.FSMState.ARRIVE;
            bool holdTimeOkay = SawHoldTimers[(int)socket] <= 3.0f;

            if (playerInRange && correctState)
            {
                saw.Use();
                SawHoldTimers[(int)socket] = 0f;
            }
            if (!playerInRange || !correctState || !holdTimeOkay)
            {
                saw.EndUse();
            }
        }
    }
コード例 #5
0
    private void WeaponLogic_RearBooster(SocketLocation socket)
    {
        boosterCooldown -= Time.deltaTime;
        Weapon booster = socketEquipment.GetWeaponInSocket(socket);
        if (booster != null)
        {
            Vector3 vectorToPlayer = player.transform.position - this.transform.position;
            float distanceToPlayer = (vectorToPlayer).magnitude;

            bool inRange = distanceToPlayer > 5.0f;
            //bool notStuck = thisBody.velocity.magnitude > 0.8f;
            bool correctState = (botControl.state == FSMBotController.FSMState.ARRIVE || botControl.state == FSMBotController.FSMState.ARRIVE_SIDE);
            bool goodAngle = Vector3.Dot(vectorToPlayer.normalized, thisBody.transform.forward) >= 0.8f;
            bool hasEnergy = energyControl.energy >= energyControl.maxEnergy * 0.4f;

            if (inRange && correctState && goodAngle && hasEnergy)
                booster.Use();

            if (!inRange)
                booster.EndUse();
        }
    }
コード例 #6
0
    private void WeaponLogic_PlasmaShield(SocketLocation socket)
    {
        plasmaCooldownTimer -= Time.deltaTime;
        Weapon shield = socketEquipment.GetWeaponInSocket(socket);

        if (shield != null)
        {
            Transform shieldTransform = shield.GetGameObject().transform;
            float distanceToPlayer = (this.transform.position - player.transform.position).magnitude;

            bool playerInRange = distanceToPlayer <= plasmaShieldActivationRadius;
            bool cooldownOkay = plasmaCooldownTimer <= 0.0f;
            bool hasEnergy = energyControl? (energyControl.energy > 8.0f) : false;

            if (playerInRange && cooldownOkay && hasEnergy)
            {
                shield.Use();
                plasmaCooldownTimer = UnityEngine.Random.Range(plasmaCooldownMin, plasmaCooldownMax);
            }
        }
    }
コード例 #7
0
    private void WeaponLogic_LateralBooster(SocketLocation socket)
    {
        boosterCooldown -= Time.deltaTime;
        Weapon booster = socketEquipment.GetWeaponInSocket(socket);

        Vector3 toPlayer = (player.transform.position - this.transform.position);
        float distanceToPlayer = toPlayer.magnitude;
        float lateralDistance =
            this.transform.InverseTransformPoint(player.transform.position).x;

        // Do we want to boost to attack the player?
        bool boostTowardPlayer =
            (socket == SocketLocation.LEFT && lateralDistance > 4.0f)
            || (socket == SocketLocation.RIGHT && lateralDistance < -4.0f);
        boostTowardPlayer &= botControl.state == FSMBotController.FSMState.ARRIVE;

        // Do we want to boost to get un-stuck?
        bool isStuck = thisBody.velocity.magnitude < 0.1f;

        // Boost toward the player whenever possible,
        // or try to get un-stuck
        if ((boostTowardPlayer || isStuck)
            && boosterCooldown < 0.0f)
        {
            booster.Use();
            boosterCooldown = UnityEngine.Random.Range(0.8f, 2.0f);
        }
        else
            booster.EndUse();
    }
コード例 #8
0
    private void WeaponLogic_Hammer(SocketLocation socket)
    {
        hammerCooldownTimers[(int)socket] -= Time.deltaTime;
        Weapon hammer = socketEquipment.GetWeaponInSocket(socket);
        if (hammer != null)
        {
            Transform hammerTransform = hammer.GetGameObject().transform;
            float distanceToPlayer = (this.transform.position - player.transform.position).magnitude;

            bool playerInRange = distanceToPlayer <= flipperActivationRadius;
            bool correctState = botControl.state == FSMBotController.FSMState.ARRIVE;
            bool cooldownOkay = hammerCooldownTimers[(int)socket] <= 0.0f;

            if (playerInRange && correctState && cooldownOkay)
            {
                hammer.Use();
                hammerCooldownTimers[(int)socket] = UnityEngine.Random.Range(flipperMinCooldownSeconds, flipperMaxCooldownSeconds);
            }
        }
    }
コード例 #9
0
ファイル: SocketEquipment.cs プロジェクト: ddoodm/Mowdown
    private void SpawnSpike(SocketLocation socket)
    {
        switch (socket) {
            // Left Socket
            case SocketLocation.LEFT:
                // Deactivate ball object
                foreach (Transform child in socket_left)
                {
                    child.gameObject.SetActive(false);
                }

                brace_left.gameObject.SetActive(true);

                Transform spike_left = (Transform)Instantiate(prefab_spike, socket_left.position, Quaternion.identity);
                spike_left.Rotate(-90.0f, 180.0f, 90.0f, Space.World);
                spike_left.parent = socket_left;
                socket_left.transform.localPosition += new Vector3(0.0f, 0.99f, -0.055f);

                break;

            // Right Socket
            case SocketLocation.RIGHT:
                // Deactivate ball object
                foreach (Transform child in socket_right)
                {
                    child.gameObject.SetActive(false);
                }

                brace_right.gameObject.SetActive(true);

                Transform spike_right = (Transform)Instantiate(prefab_spike, socket_right.position, Quaternion.identity);
                spike_right.Rotate(-90.0f, 0.0f, 90.0f, Space.World);
                spike_right.parent = socket_right;
                socket_right.transform.localPosition += new Vector3(0.0f, -0.99f, -0.055f);

                break;

            // Front Socket
            case SocketLocation.FRONT:
                // Deactivate ball object
                foreach (Transform child in socket_front)
                {
                    child.gameObject.SetActive(false);
                }

                brace_front.gameObject.SetActive(true);

                Transform spike_front = (Transform)Instantiate(prefab_spike, socket_front.position, Quaternion.identity);
                spike_front.Rotate(-90.0f, 0.0f, 0.0f, Space.World);
                spike_front.parent = socket_front;
                socket_front.transform.localPosition += new Vector3(-1.015f, 0.0f, -0.13f);

                break;

            // Back Socket
            case SocketLocation.BACK:
                // Deactivate ball object
                foreach (Transform child in socket_back)
                {
                    child.gameObject.SetActive(false);
                }

                if(brace_back != null)
                {
                    brace_back.gameObject.SetActive(true);
                }

                Transform spike_back = (Transform)Instantiate(prefab_spike, socket_back.position, Quaternion.identity);
                spike_back.Rotate(-90.0f, 0.0f, 180.0f, Space.World);
                spike_back.parent = socket_back;
                socket_back.transform.localPosition += new Vector3(1.05f, 0.0f, -0.17f);

                break;

            // Top Socket
            case SocketLocation.TOP:
                Debug.Log("Spike in wrong position");
                equipmentTypes[(int)socket] = Equipment.EMPTY;
                break;

            default:
                break;
        }
    }
コード例 #10
0
ファイル: SocketEquipment.cs プロジェクト: ddoodm/Mowdown
 public bool SocketContainsAnyOf(SocketLocation socket, Equipment[] equipTypes)
 {
     foreach (Equipment e in equipTypes)
         if (GetEquipTypeInSocket(socket) == e)
             return true;
     return false;
 }
コード例 #11
0
ファイル: SocketEquipment.cs プロジェクト: ddoodm/Mowdown
    public Equipment GetEquipTypeInSocket(SocketLocation socket)
    {
        if (equipmentTypes == null)
            return Equipment.EMPTY;

        return equipmentTypes[(int)socket];
    }
コード例 #12
0
ファイル: SocketEquipment.cs プロジェクト: ddoodm/Mowdown
    private void SpawnHandle(SocketLocation socket)
    {
        switch (socket) {
            // Left Socket
            case SocketLocation.LEFT:
                Debug.Log("Handle in wrong position");
                equipmentTypes[(int)socket] = Equipment.EMPTY;
                break;

            // Right Socket
            case SocketLocation.RIGHT:
                Debug.Log("Handle in wrong position");
                equipmentTypes[(int)socket] = Equipment.EMPTY;
                break;

            // Front Socket
            case SocketLocation.FRONT:
                Debug.Log("Handle in wrong position");
                equipmentTypes[(int)socket] = Equipment.EMPTY;
                break;

            // Back Socket
            case SocketLocation.BACK:
                // Deactivate ball object
                foreach (Transform child in socket_back)
                {
                    child.gameObject.SetActive(false);
                }

                Transform handle_back = (Transform)Instantiate(prefab_handle, socket_back.position, Quaternion.identity);
                handle_back.Rotate(-90.0f, 0.0f, 0.0f, Space.World);
                handle_back.parent = socket_back;
                socket_back.transform.localPosition += new Vector3(0.825f, 0.0f, 0.0f);

                break;

            // Top Socket
            case SocketLocation.TOP:
                Debug.Log("Handle in wrong position");
                equipmentTypes[(int)socket] = Equipment.EMPTY;
                break;

            default:
                break;
        }
    }
コード例 #13
0
ファイル: SocketEquipment.cs プロジェクト: ddoodm/Mowdown
    private void SpawnHammer(SocketLocation socket)
    {
        switch (socket)
        {
            // Left Socket
            case SocketLocation.LEFT:
                // Deactivate ball object
                foreach (Transform child in socket_left)
                {
                    child.gameObject.SetActive(false);
                }

                brace_left.gameObject.SetActive(true);

                Transform hammer_left = (Transform)Instantiate(prefab_hammer, socket_left.position, Quaternion.identity);
                if (!inStore)
                    hammer_left.GetComponentInChildren<hammerControls>().initialRot = new Vector3(0, -90, 0);
                hammer_left.Rotate(-90.0f, -90.0f, 0.0f, Space.World);
                hammer_left.parent = socket_left;
                socket_left.transform.localPosition += new Vector3(0.0f, 0.0f, 0.075f);

                AddWeaponReference(hammer_left, socket);

                break;

            // Right Socket
            case SocketLocation.RIGHT:
                // Deactivate ball object
                foreach (Transform child in socket_right)
                {
                    child.gameObject.SetActive(false);
                }

                brace_right.gameObject.SetActive(true);

                Transform hammer_right = (Transform)Instantiate(prefab_hammer, socket_right.position, Quaternion.identity);
                if (!inStore)
                    hammer_right.GetComponentInChildren<hammerControls>().initialRot = new Vector3(0, 90, 0);
                hammer_right.Rotate(-90.0f, 90.0f, 0.0f, Space.World);
                hammer_right.parent = socket_right;
                socket_right.transform.localPosition += new Vector3(0.0f, 0.0f, 0.075f);

                AddWeaponReference(hammer_right, socket);

                break;

            // Front Socket
            case SocketLocation.FRONT:
                // Deactivate ball object
                foreach (Transform child in socket_front)
                {
                    child.gameObject.SetActive(false);
                }

                brace_front.gameObject.SetActive(true);

                Transform hammer_front = (Transform)Instantiate(prefab_hammer, socket_front.position, Quaternion.identity);
                if (!inStore)
                    hammer_front.GetComponentInChildren<hammerControls>().initialRot = new Vector3(0, 180, 0);
                hammer_front.Rotate(-90.0f, 180.0f, 0.0f, Space.World);
                hammer_front.parent = socket_front;
                socket_front.transform.localPosition += new Vector3(0.025f, 0.0f, 0.0f);

                AddWeaponReference(hammer_front, socket);

                break;

            // Back Socket
            case SocketLocation.BACK:
                Debug.Log("Hammer in wrong position");
                equipmentTypes[(int)socket] = Equipment.EMPTY;
                break;

            // Top Socket
            case SocketLocation.TOP:
                Debug.Log("Hammer in wrong position");
                equipmentTypes[(int)socket] = Equipment.EMPTY;
                break;

            default:
                break;
        }
    }
コード例 #14
0
ファイル: SocketEquipment.cs プロジェクト: ddoodm/Mowdown
    private void SpawnFlipper(SocketLocation socket)
    {
        switch (socket) {
            // Left Socket
            case SocketLocation.LEFT:
                // Deactivate ball object
                foreach (Transform child in socket_left)
                {
                    child.gameObject.SetActive(false);
                }

                brace_left.gameObject.SetActive(true);

                Transform flipper_left = (Transform)Instantiate(prefab_flipper, socket_left.position, Quaternion.identity);

                temp = flipper_left.GetComponent<flipperControls>();
                if (temp != null)
                    temp.initialRot = new Vector3(0, 0, 0);

                flipper_left.Rotate(0.0f, 0.0f, 0.0f, Space.World);
                flipper_left.parent = socket_left;
                socket_left.transform.localPosition += new Vector3(0.0f, 0.122f, 0.2f);

                // Add a reference to the array of references
                AddWeaponReference(flipper_left, socket);

                break;

            // Right Socket
            case SocketLocation.RIGHT:
                // Deactivate ball object
                foreach (Transform child in socket_right)
                {
                    child.gameObject.SetActive(false);
                }

                brace_right.gameObject.SetActive(true);

                Transform flipper_right = (Transform)Instantiate(prefab_flipper, socket_right.position, Quaternion.identity);

                temp = flipper_right.GetComponent<flipperControls>();
                if (temp != null)
                    temp.initialRot = new Vector3(0, 180, 0);

                flipper_right.Rotate(0.0f, 180.0f, 0.0f, Space.World);
                flipper_right.parent = socket_right;
                socket_right.transform.localPosition += new Vector3(0.0f, -0.122f, 0.2f);

                // Add a reference to the array of references
                AddWeaponReference(flipper_right, socket);

                break;

            // Front Socket
            case SocketLocation.FRONT:
                // Deactivate ball object
                foreach (Transform child in socket_front)
                {
                    child.gameObject.SetActive(false);
                }

                brace_front.gameObject.SetActive(true);

                Transform flipper_front = (Transform)Instantiate(prefab_flipper, socket_front.position, Quaternion.identity);

                temp = flipper_front.GetComponent<flipperControls>();
                if (temp != null)
                    temp.initialRot = new Vector3(0, 270, 0);

                flipper_front.Rotate(180.0f, -90.0f, 180.0f, Space.World);
                flipper_front.parent = socket_front;
                socket_front.transform.localPosition += new Vector3(0.23f, 0.0f, 0.085f);

                // Add a reference to the array of references
                AddWeaponReference(flipper_front, socket);

                break;

            // Back Socket
            case SocketLocation.BACK:
                Debug.Log("Flipper in wrong position");
                equipmentTypes[(int)socket] = Equipment.EMPTY;
                break;

            // Top Socket
            case SocketLocation.TOP:
                Debug.Log("Flipper in wrong position");
                equipmentTypes[(int)socket] = Equipment.EMPTY;
                break;

            default:
                break;
        }
    }
コード例 #15
0
ファイル: SocketEquipment.cs プロジェクト: ddoodm/Mowdown
    private void SpawnBooster(SocketLocation socket)
    {
        switch (socket) {
            // Left Socket
            case SocketLocation.LEFT:
                // Deactivate ball object
                foreach (Transform child in socket_left)
                {
                    child.gameObject.SetActive(false);
                }

                brace_left.gameObject.SetActive(true);

                Transform booster_left = (Transform)Instantiate(prefab_booster, socket_left.position, Quaternion.identity);
                booster_left.Rotate(0.0f, 90.0f, 0.0f, Space.World);
                booster_left.parent = socket_left;
                socket_left.transform.localPosition += new Vector3(0.0f, -0.05f, 0.0f);

                AddWeaponReference(booster_left, socket);

                break;

            // Right Socket
            case SocketLocation.RIGHT:
                // Deactivate ball object
                foreach (Transform child in socket_right)
                {
                    child.gameObject.SetActive(false);
                }

                brace_right.gameObject.SetActive(true);

                Transform booster_right = (Transform)Instantiate(prefab_booster, socket_right.position, Quaternion.identity);
                booster_right.Rotate(0.0f, -90.0f, 0.0f, Space.World);
                booster_right.parent = socket_right;
                socket_right.transform.localPosition += new Vector3(0.0f, 0.05f, 0.0f);

                AddWeaponReference(booster_right, socket);

                break;

            // Front Socket
            case SocketLocation.FRONT:
                Debug.Log("Booster in wrong position");
                equipmentTypes[(int)socket] = Equipment.EMPTY;
                break;

            // Back Socket
            case SocketLocation.BACK:
                // Deactivate ball object
                foreach (Transform child in socket_back)
                {
                    child.gameObject.SetActive(false);
                }

                if (brace_back != null)
                {
                    brace_back.gameObject.SetActive(true);
                }

                Transform booster_back = (Transform)Instantiate(prefab_booster, socket_back.position, Quaternion.identity);
                booster_back.Rotate(0.0f, 0.0f, 0.0f, Space.World);
                booster_back.parent = socket_back;
                socket_back.transform.localPosition += new Vector3(0.075f, 0.0f, 0.05f);

                AddWeaponReference(booster_back, socket);

                break;

            // Top Socket
            case SocketLocation.TOP:
                Debug.Log("Booster in wrong position");
                equipmentTypes[(int)socket] = Equipment.EMPTY;
                break;

            default:
                break;
        }
    }
コード例 #16
0
ファイル: SocketEquipment.cs プロジェクト: ddoodm/Mowdown
    private void SpawnBasicEngine(SocketLocation socket)
    {
        switch (socket)
        {
            // Left Socket
            case SocketLocation.LEFT:
                Debug.Log("BasicEngine in wrong position");
                equipmentTypes[(int)socket] = Equipment.EMPTY;
                break;

            // Right Socket
            case SocketLocation.RIGHT:
                Debug.Log("BasicEngine in wrong position");
                equipmentTypes[(int)socket] = Equipment.EMPTY;
                break;

            // Front Socket
            case SocketLocation.FRONT:
                Debug.Log("BasicEngine in wrong position");
                equipmentTypes[(int)socket] = Equipment.EMPTY;
                break;

            // Back Socket
            case SocketLocation.BACK:
                Debug.Log("BasicEngine in wrong position");
                equipmentTypes[(int)socket] = Equipment.EMPTY;
                break;

            // Top Socket
            case SocketLocation.TOP:
                // Deactivate ball object
                foreach (Transform child in socket_top)
                {
                    child.gameObject.SetActive(false);
                }

                Transform basicengine_front = (Transform)Instantiate(prefab_basicengine, socket_top.position, Quaternion.identity);

                basicengine_front.Rotate(0.0f, -90.0f, 0.0f, Space.World);
                basicengine_front.parent = socket_top;
                socket_top.transform.localPosition += new Vector3(0.0f, 0.12f, -0.295f);
                break;

            default:
                break;
        }
    }
コード例 #17
0
ファイル: SocketEquipment.cs プロジェクト: ddoodm/Mowdown
 private void AddWeaponReference(Transform itemTrans, SocketLocation socket)
 {
     if (!inStore)
     {
         Weapon weapon = itemTrans.GetComponent<Weapon>();
         if (weapon == null) throw new System.Exception(itemTrans.name + " has no component that implements Weapon.");
         equipmentRefs[(int)socket] = weapon;
     }
 }
コード例 #18
0
ファイル: SocketEquipment.cs プロジェクト: ddoodm/Mowdown
    private void SpawnPlasmaShield(SocketLocation socket)
    {
        switch (socket)
        {
            // Left Socket
            case SocketLocation.LEFT:
                Debug.Log("PlasmaShield in wrong position");
                equipmentTypes[(int)socket] = Equipment.EMPTY;
                break;

            // Right Socket
            case SocketLocation.RIGHT:
                Debug.Log("PlasmaShield in wrong position");
                equipmentTypes[(int)socket] = Equipment.EMPTY;
                break;

            // Front Socket
            case SocketLocation.FRONT:
                Debug.Log("PlasmaShield in wrong position");
                equipmentTypes[(int)socket] = Equipment.EMPTY;
                break;

            // Back Socket
            case SocketLocation.BACK:
                Debug.Log("PlasmaShield in wrong position");
                equipmentTypes[(int)socket] = Equipment.EMPTY;

                break;

            // Top Socket
            case SocketLocation.TOP:
                // Deactivate ball object
                foreach (Transform child in socket_top)
                {
                    child.gameObject.SetActive(false);
                }

                Transform plasmashield_top = (Transform)Instantiate(prefab_plasmashield, socket_top.position, Quaternion.identity);

                plasmashield_top.Rotate(0.0f, 0.0f, 0.0f, Space.World);
                plasmashield_top.parent = socket_top;
                socket_top.transform.localPosition += new Vector3(-0.3f, 1.45f, -0.925f);

                AddWeaponReference(plasmashield_top, socket);

                break;

            default:
                break;
        }
    }
コード例 #19
0
ファイル: SocketEquipment.cs プロジェクト: ddoodm/Mowdown
    private void SpawnMetalShield(SocketLocation socket)
    {
        switch (socket) {
            // Left Socket
            case SocketLocation.LEFT:
                // Deactivate ball object
                foreach (Transform child in socket_left)
                {
                    child.gameObject.SetActive(false);
                }

                brace_left.gameObject.SetActive(true);

                Transform metalshield_left = (Transform)Instantiate(prefab_metalshield, socket_left.position, Quaternion.identity);

                metalshield_left.Rotate(0.0f, 0.0f, 0.0f, Space.World);
                metalshield_left.parent = socket_left;
                socket_left.transform.localPosition += new Vector3(0.01f, -0.2f, -0.1f);

                break;

            // Right Socket
            case SocketLocation.RIGHT:
                // Deactivate ball object
                foreach (Transform child in socket_right)
                {
                    child.gameObject.SetActive(false);
                }

                brace_right.gameObject.SetActive(true);

                Transform metalshield_right = (Transform)Instantiate(prefab_metalshield, socket_right.position, Quaternion.identity);

                metalshield_right.Rotate(0.0f, 180.0f, 0.0f, Space.World);
                metalshield_right.parent = socket_right;
                socket_right.transform.localPosition += new Vector3(-0.01f, 0.2f, -0.1f);

                break;

            // Front Socket
            case SocketLocation.FRONT:
                // Deactivate ball object
                foreach (Transform child in socket_front)
                {
                    child.gameObject.SetActive(false);
                }

                brace_front.gameObject.SetActive(true);

                Transform metalshield_front = (Transform)Instantiate(prefab_metalshield, socket_front.position, Quaternion.identity);

                metalshield_front.Rotate(180.0f, -90.0f, 180.0f, Space.World);
                metalshield_front.parent = socket_front;
                socket_front.transform.localPosition += new Vector3(0.3f, 0.0f, -0.1f);

                break;

            // Back Socket
            case SocketLocation.BACK:
                Debug.Log("MetalShield in wrong position");
                equipmentTypes[(int)socket] = Equipment.EMPTY;
                break;

            // Top Socket
            case SocketLocation.TOP:
                Debug.Log("MetalShield in wrong position");
                equipmentTypes[(int)socket] = Equipment.EMPTY;
                break;

            default:
                break;
        }
    }
コード例 #20
0
ファイル: SocketEquipment.cs プロジェクト: ddoodm/Mowdown
 public Weapon GetWeaponInSocket(SocketLocation socket)
 {
     return equipmentRefs[(int)socket];
 }