예제 #1
0
 public void ChangeAssignment(JobOutfit jobToSet)
 {
     console.TargetCard.accessSyncList.Clear();
     console.TargetCard.AddAccessList(jobToSet.allowedAccess);
     console.TargetCard.jobTypeInt = (int)jobToSet.jobType;
     UpdateAssignment();
 }
예제 #2
0
 public void SetUpAssign(GUI_IdConsole consoleToSet, IDCard idToSet, JobOutfit jobToSet)
 {
     isAssignment           = true;
     console                = consoleToSet;
     idCard                 = idToSet;
     jobOutfit              = jobToSet;
     displayedName.SetValue = jobOutfit.jobType.JobString();
     CheckIsSet();
 }
예제 #3
0
    private void SpawnID(JobOutfit outFit)
    {
        var        realName = GetComponent <PlayerScript>().playerName;
        GameObject idObj    = PoolManager.PoolNetworkInstantiate(idPrefab, parent: transform.parent);

        if (outFit.jobType == JobType.CAPTAIN)
        {
            idObj.GetComponent <IDCard>().Initialize(IDCardType.captain, outFit.jobType, outFit.allowedAccess, realName);
        }
        else if (outFit.jobType == JobType.HOP || outFit.jobType == JobType.HOS || outFit.jobType == JobType.CMO || outFit.jobType == JobType.RD ||
                 outFit.jobType == JobType.CHIEF_ENGINEER)
        {
            idObj.GetComponent <IDCard>().Initialize(IDCardType.command, outFit.jobType, outFit.allowedAccess, realName);
        }
        else
        {
            idObj.GetComponent <IDCard>().Initialize(IDCardType.standard, outFit.jobType, outFit.allowedAccess, realName);
        }
        SetItem(EquipSlot.id, idObj);
    }
예제 #4
0
        private void SpawnID(JobOutfit outFit)
        {
            GameObject idObj;

            if (outFit.jobType == JobType.CAPTAIN)
            {
                idObj = ItemFactory.Instance.SpawnIDCard(IDCardType.captain, outFit.jobType, outFit.allowedAccess, name, transform.parent);
            }
            else if (outFit.jobType == JobType.HOP || outFit.jobType == JobType.HOS || outFit.jobType == JobType.CMO || outFit.jobType == JobType.RD ||
                     outFit.jobType == JobType.CHIEF_ENGINEER)
            {
                idObj = ItemFactory.Instance.SpawnIDCard(IDCardType.command, outFit.jobType, outFit.allowedAccess, name, transform.parent);
            }
            else
            {
                idObj = ItemFactory.Instance.SpawnIDCard(IDCardType.standard, outFit.jobType, outFit.allowedAccess, name, transform.parent);
            }

            SetItem("id", idObj);
        }
예제 #5
0
    public void SetPlayerLoadOuts()
    {
        JobOutfit standardOutfit = GameManager.Instance.StandardOutfit.GetComponent <JobOutfit>();
        JobOutfit jobOutfit      = GameManager.Instance.GetOccupationOutfit(playerScript.mind.jobType);

        //Create collection of all the new items to add to the gear slots
        Dictionary <EquipSlot, ClothOrPrefab> gear = new Dictionary <EquipSlot, ClothOrPrefab>();

        gear.Add(EquipSlot.uniform, standardOutfit.uniform);
        gear.Add(EquipSlot.feet, standardOutfit.shoes);
        gear.Add(EquipSlot.eyes, standardOutfit.glasses);
        gear.Add(EquipSlot.hands, standardOutfit.gloves);
        Backpack = standardOutfit.backpack;
        Ears     = standardOutfit.ears;
        gear.Add(EquipSlot.exosuit, standardOutfit.suit);
        gear.Add(EquipSlot.head, standardOutfit.head);
        gear.Add(EquipSlot.mask, standardOutfit.mask);
        gear.Add(EquipSlot.suitStorage, standardOutfit.suit_store);

        AddifPresent(gear, EquipSlot.exosuit, jobOutfit.suit);
        AddifPresent(gear, EquipSlot.head, jobOutfit.head);
        AddifPresent(gear, EquipSlot.uniform, jobOutfit.uniform);
        AddifPresent(gear, EquipSlot.feet, jobOutfit.shoes);
        AddifPresent(gear, EquipSlot.hands, jobOutfit.gloves);
        AddifPresent(gear, EquipSlot.eyes, jobOutfit.glasses);
        AddifPresent(gear, EquipSlot.mask, jobOutfit.mask);

        if (jobOutfit.backpack?.Backpack?.Sprites?.Equipped?.Texture != null || jobOutfit.backpack.Prefab != null)
        {
            Backpack = jobOutfit.backpack;
        }

        if (jobOutfit.ears?.Headset?.Sprites?.Equipped?.Texture != null || jobOutfit.ears.Prefab != null)
        {
            Ears = jobOutfit.ears;
        }

        foreach (KeyValuePair <EquipSlot, ClothOrPrefab> gearItem in gear)
        {
            if (gearItem.Value.Clothing != null)
            {
                if (gearItem.Value.Clothing.PrefabVariant != null)
                {
                    var            obj      = ClothFactory.CreateCloth(gearItem.Value.Clothing, TransformState.HiddenPos, transform.parent, PrefabOverride: gearItem.Value.Clothing.PrefabVariant);     //Where it is made
                    ItemAttributes itemAtts = obj.GetComponent <ItemAttributes>();
                    SetItem(gearItem.Key, itemAtts.gameObject, true);
                }
                else
                {
                    var            obj      = ClothFactory.CreateCloth(gearItem.Value.Clothing, TransformState.HiddenPos, transform.parent);
                    ItemAttributes itemAtts = obj.GetComponent <ItemAttributes>();
                    SetItem(gearItem.Key, itemAtts.gameObject, true);
                }
            }
            else if (gearItem.Value.Prefab != null)
            {
                var            obj      = PoolManager.PoolNetworkInstantiate(gearItem.Value.Prefab, TransformState.HiddenPos, transform.parent);
                ItemAttributes itemAtts = obj.GetComponent <ItemAttributes>();
                SetItem(gearItem.Key, itemAtts.gameObject, true);
            }
        }
        if (Backpack.Backpack != null)
        {
            if (Backpack.Backpack.PrefabVariant != null)
            {
                var            obj      = ClothFactory.CreateBackpackCloth(Backpack.Backpack, TransformState.HiddenPos, transform.parent, PrefabOverride: Backpack.Backpack.PrefabVariant); //Where it is made
                ItemAttributes itemAtts = obj.GetComponent <ItemAttributes>();
                SetItem(EquipSlot.back, itemAtts.gameObject, true);
            }
            else
            {
                var            obj      = ClothFactory.CreateBackpackCloth(Backpack.Backpack, TransformState.HiddenPos, transform.parent);
                ItemAttributes itemAtts = obj.GetComponent <ItemAttributes>();
                SetItem(EquipSlot.back, itemAtts.gameObject, true);
            }
        }
        else if (Backpack.Prefab)
        {
            var            obj      = PoolManager.PoolNetworkInstantiate(Backpack.Prefab, TransformState.HiddenPos, transform.parent);
            ItemAttributes itemAtts = obj.GetComponent <ItemAttributes>();
            SetItem(EquipSlot.back, itemAtts.gameObject, true);
        }


        if (Ears.Headset != null)
        {
            if (Ears.Headset.PrefabVariant != null)
            {
                var            obj      = ClothFactory.CreateHeadsetCloth(Ears.Headset, TransformState.HiddenPos, transform.parent, PrefabOverride: Ears.Headset.PrefabVariant); //Where it is made
                ItemAttributes itemAtts = obj.GetComponent <ItemAttributes>();
                SetItem(EquipSlot.ear, itemAtts.gameObject, true);
            }
            else
            {
                var            obj      = ClothFactory.CreateHeadsetCloth(Ears.Headset, TransformState.HiddenPos, transform.parent);
                ItemAttributes itemAtts = obj.GetComponent <ItemAttributes>();
                SetItem(EquipSlot.ear, itemAtts.gameObject, true);
            }
        }
        else if (Ears.Prefab)
        {
            var            obj      = PoolManager.PoolNetworkInstantiate(Backpack.Prefab, TransformState.HiddenPos, transform.parent);
            ItemAttributes itemAtts = obj.GetComponent <ItemAttributes>();
            SetItem(EquipSlot.ear, itemAtts.gameObject, true);
        }
        SpawnID(jobOutfit);
    }
예제 #6
0
        public IEnumerator SetPlayerLoadOuts()
        {
            //Waiting for player name resolve
            yield return(WaitUntilInControl());

            // Null Job players dont get a loadout
            if (playerScript.JobType == JobType.NULL)
            {
                yield break;
            }

            PlayerScript pS = GetComponent <PlayerScript>();

            pS.JobType = playerScript.JobType;

            JobOutfit standardOutfit = GameManager.Instance.StandardOutfit.GetComponent <JobOutfit>();
            JobOutfit jobOutfit      = GameManager.Instance.GetOccupationOutfit(playerScript.JobType);

            Dictionary <string, string> gear = new Dictionary <string, string>();

            gear.Add("uniform", standardOutfit.uniform);
            gear.Add("ears", standardOutfit.ears);
            gear.Add("belt", standardOutfit.belt);
            gear.Add("back", standardOutfit.back);
            gear.Add("shoes", standardOutfit.shoes);
            gear.Add("glasses", standardOutfit.glasses);
            gear.Add("gloves", standardOutfit.gloves);
            gear.Add("suit", standardOutfit.suit);
            gear.Add("head", standardOutfit.head);
            //gear.Add("accessory", standardOutfit.accessory);
            gear.Add("mask", standardOutfit.mask);
            //gear.Add("backpack", standardOutfit.backpack);
            //gear.Add("satchel", standardOutfit.satchel);
            //gear.Add("duffelbag", standardOutfit.duffelbag);
            //gear.Add("box", standardOutfit.box);
            //gear.Add("l_hand", standardOutfit.l_hand);
            //gear.Add("l_pocket", standardOutfit.l_pocket);
            //gear.Add("r_pocket", standardOutfit.r_pocket);
            //gear.Add("suit_store", standardOutfit.suit_store);

            if (!string.IsNullOrEmpty(jobOutfit.uniform))
            {
                gear["uniform"] = jobOutfit.uniform;
            }

            /*if (!String.IsNullOrEmpty(jobOutfit.id))
             *  gear["id"] = jobOutfit.id;*/
            if (!string.IsNullOrEmpty(jobOutfit.ears))
            {
                gear["ears"] = jobOutfit.ears;
            }
            if (!string.IsNullOrEmpty(jobOutfit.belt))
            {
                gear["belt"] = jobOutfit.belt;
            }
            if (!string.IsNullOrEmpty(jobOutfit.back))
            {
                gear["back"] = jobOutfit.back;
            }
            if (!string.IsNullOrEmpty(jobOutfit.shoes))
            {
                gear["shoes"] = jobOutfit.shoes;
            }
            if (!string.IsNullOrEmpty(jobOutfit.glasses))
            {
                gear["glasses"] = jobOutfit.glasses;
            }
            if (!string.IsNullOrEmpty(jobOutfit.gloves))
            {
                gear["gloves"] = jobOutfit.gloves;
            }
            if (!string.IsNullOrEmpty(jobOutfit.suit))
            {
                gear["suit"] = jobOutfit.suit;
            }
            if (!string.IsNullOrEmpty(jobOutfit.head))
            {
                gear["head"] = jobOutfit.head;
            }

            /*if (!String.IsNullOrEmpty(jobOutfit.accessory))
             *  gear["accessory"] = jobOutfit.accessory;*/
            if (!string.IsNullOrEmpty(jobOutfit.mask))
            {
                gear["mask"] = jobOutfit.mask;
            }

            /*if (!String.IsNullOrEmpty(jobOutfit.backpack))
             *  gear["backpack"] = jobOutfit.backpack;
             * if (!String.IsNullOrEmpty(jobOutfit.satchel))
             *  gear["satchel"] = jobOutfit.satchel;
             * if (!String.IsNullOrEmpty(jobOutfit.duffelbag))
             *  gear["duffelbag"] = jobOutfit.duffelbag;
             * if (!String.IsNullOrEmpty(jobOutfit.box))
             *  gear["box"] = jobOutfit.box;
             * if (!String.IsNullOrEmpty(jobOutfit.l_hand))
             *  gear["l_hand"] = jobOutfit.l_hand;
             * if (!String.IsNullOrEmpty(jobOutfit.l_pocket))
             *  gear["l_pocket"] = jobOutfit.l_pocket;
             * if (!String.IsNullOrEmpty(jobOutfit.r_pocket))
             *  gear["r_pocket"] = jobOutfit.r_pocket;
             * if (!String.IsNullOrEmpty(jobOutfit.suit_store))
             *  gear["suit_store"] = jobOutfit.suit_store;*/

            foreach (KeyValuePair <string, string> gearItem in gear)
            {
                if (gearItem.Value.Contains(ClothFactory.ClothingHierIdentifier) || gearItem.Value.Contains(ClothFactory.HeadsetHierIdentifier))
                {
                    GameObject obj = ClothFactory.Instance.CreateCloth(gearItem.Value, Vector3.zero, transform.parent);
                    //if ClothFactory does not return an object then move on to the next clothing item
                    if (!obj)
                    {
                        Debug.LogWarning("Trying to instantiate clothing item " + gearItem.Value + " failed!");
                        continue;
                    }
                    ItemAttributes itemAtts = obj.GetComponent <ItemAttributes>();
                    SetItem(GetLoadOutEventName(gearItem.Key), itemAtts.gameObject);
                }
                else if (!string.IsNullOrEmpty(gearItem.Value))
                {
                    Debug.Log(gearItem.Value + " creation not implemented yet.");
                }
            }
            SpawnID(jobOutfit);
        }
예제 #7
0
    public IEnumerator SetPlayerLoadOuts()
    {
        //Waiting for player name resolve
        yield return(WaitUntilInControl());

        // Null Job players dont get a loadout
        if (playerScript.JobType == JobType.NULL)
        {
            yield break;
        }

        PlayerScript pS = GetComponent <PlayerScript>();

        pS.JobType = playerScript.JobType;

        JobOutfit standardOutfit = GameManager.Instance.StandardOutfit.GetComponent <JobOutfit>();
        JobOutfit jobOutfit      = GameManager.Instance.GetOccupationOutfit(playerScript.JobType);

        Dictionary <string, string> gear = new Dictionary <string, string>();

        gear.Add("uniform", standardOutfit.uniform);
        gear.Add("ears", standardOutfit.ears);
        gear.Add("belt", standardOutfit.belt);
        gear.Add("back", standardOutfit.backpack);
        gear.Add("shoes", standardOutfit.shoes);
        gear.Add("glasses", standardOutfit.glasses);
        gear.Add("gloves", standardOutfit.gloves);
        gear.Add("suit", standardOutfit.suit);
        gear.Add("head", standardOutfit.head);
        //gear.Add("accessory", standardOutfit.accessory);
        gear.Add("mask", standardOutfit.mask);
        //gear.Add("backpack", standardOutfit.backpack);
        //gear.Add("satchel", standardOutfit.satchel);
        //gear.Add("duffelbag", standardOutfit.duffelbag);
        //gear.Add("box", standardOutfit.box);
        //gear.Add("l_hand", standardOutfit.l_hand);
        //gear.Add("l_pocket", standardOutfit.l_pocket);
        //gear.Add("r_pocket", standardOutfit.r_pocket);
        //gear.Add("suit_store", standardOutfit.suit_store);

        if (!string.IsNullOrEmpty(jobOutfit.uniform))
        {
            gear["uniform"] = jobOutfit.uniform;
        }

        /*if (!String.IsNullOrEmpty(jobOutfit.id))
         *      gear["id"] = jobOutfit.id;*/
        if (!string.IsNullOrEmpty(jobOutfit.ears))
        {
            gear["ears"] = jobOutfit.ears;
        }
        if (!string.IsNullOrEmpty(jobOutfit.belt))
        {
            gear["belt"] = jobOutfit.belt;
        }
        if (!string.IsNullOrEmpty(jobOutfit.backpack))
        {
            gear["back"] = jobOutfit.backpack;
        }
        if (!string.IsNullOrEmpty(jobOutfit.shoes))
        {
            gear["shoes"] = jobOutfit.shoes;
        }
        if (!string.IsNullOrEmpty(jobOutfit.glasses))
        {
            gear["glasses"] = jobOutfit.glasses;
        }
        if (!string.IsNullOrEmpty(jobOutfit.gloves))
        {
            gear["gloves"] = jobOutfit.gloves;
        }
        if (!string.IsNullOrEmpty(jobOutfit.suit))
        {
            gear["suit"] = jobOutfit.suit;
        }
        if (!string.IsNullOrEmpty(jobOutfit.head))
        {
            gear["head"] = jobOutfit.head;
        }

        /*if (!String.IsNullOrEmpty(jobOutfit.accessory))
         *      gear["accessory"] = jobOutfit.accessory;*/
        if (!string.IsNullOrEmpty(jobOutfit.mask))
        {
            gear["mask"] = jobOutfit.mask;
        }

        /*if (!String.IsNullOrEmpty(jobOutfit.backpack))
         *      gear["backpack"] = jobOutfit.backpack;
         * if (!String.IsNullOrEmpty(jobOutfit.satchel))
         *      gear["satchel"] = jobOutfit.satchel;
         * if (!String.IsNullOrEmpty(jobOutfit.duffelbag))
         *      gear["duffelbag"] = jobOutfit.duffelbag;
         * if (!String.IsNullOrEmpty(jobOutfit.box))
         *      gear["box"] = jobOutfit.box;
         * if (!String.IsNullOrEmpty(jobOutfit.l_hand))
         *      gear["l_hand"] = jobOutfit.l_hand;
         * if (!String.IsNullOrEmpty(jobOutfit.l_pocket))
         *      gear["l_pocket"] = jobOutfit.l_pocket;
         * if (!String.IsNullOrEmpty(jobOutfit.r_pocket))
         *      gear["r_pocket"] = jobOutfit.r_pocket;
         * if (!String.IsNullOrEmpty(jobOutfit.suit_store))
         *      gear["suit_store"] = jobOutfit.suit_store;*/

        foreach (KeyValuePair <string, string> gearItem in gear)
        {
            if (gearItem.Value.Contains(UniItemUtils.ClothingHierIdentifier) || gearItem.Value.Contains(UniItemUtils.HeadsetHierIdentifier) ||
                gearItem.Value.Contains(UniItemUtils.BackPackHierIdentifier) || gearItem.Value.Contains(UniItemUtils.BagHierIdentifier))
            {
                GameObject obj = ClothFactory.CreateCloth(gearItem.Value, TransformState.HiddenPos, transform.parent);
                //if ClothFactory does not return an object then move on to the next clothing item
                if (!obj)
                {
                    Logger.LogWarning("Trying to instantiate clothing item " + gearItem.Value + " failed!", Category.Equipment);
                    continue;
                }
                ItemAttributes itemAtts = obj.GetComponent <ItemAttributes>();
                SetItem(GetLoadOutEventName(gearItem.Key), itemAtts.gameObject);
            }
            else if (!string.IsNullOrEmpty(gearItem.Value))
            {
                //					Logger.Log(gearItem.Value + " creation not implemented yet.");
            }
        }
        SpawnID(jobOutfit);

        yield return(new WaitForSeconds(3f));        //Wait a bit for headset to be fully setup and player to be fully spawned.

        if (playerScript.JobType == JobType.SYNDICATE)
        {
            //Check to see if there is a nuke and communicate the nuke code:
            NukeInteract nuke = FindObjectOfType <NukeInteract>();
            if (nuke != null)
            {
                UpdateChatMessage.Send(gameObject, ChatChannel.Syndicate,
                                       "We have intercepted the code for the nuclear weapon: " + nuke.NukeCode);
            }
        }
    }
예제 #8
0
        public IEnumerator SetPlayerLoadOuts()
        {
            //Waiting for player name resolve
            yield return(new WaitForSeconds(0.2f));

            // Null Job players dont get a loadout
            if (playerScript.JobType == JobType.NULL)
            {
                yield break;
            }

            PlayerScript pS = GetComponent <PlayerScript>();

            pS.JobType = playerScript.JobType;

            JobOutfit standardOutfit = GameManager.Instance.StandardOutfit.GetComponent <JobOutfit>();
            JobOutfit jobOutfit      = GameManager.Instance.GetOccupationOutfit(playerScript.JobType);

            Dictionary <string, string> gear = new Dictionary <string, string>();

            gear.Add("uniform", standardOutfit.uniform);
            gear.Add("ears", standardOutfit.ears);
            gear.Add("belt", standardOutfit.belt);
            gear.Add("back", standardOutfit.back);
            gear.Add("shoes", standardOutfit.shoes);
            gear.Add("glasses", standardOutfit.glasses);
            gear.Add("gloves", standardOutfit.gloves);
            gear.Add("suit", standardOutfit.suit);
            gear.Add("head", standardOutfit.head);
            //gear.Add("accessory", standardOutfit.accessory);
            gear.Add("mask", standardOutfit.mask);
            //gear.Add("backpack", standardOutfit.backpack);
            //gear.Add("satchel", standardOutfit.satchel);
            //gear.Add("duffelbag", standardOutfit.duffelbag);
            //gear.Add("box", standardOutfit.box);
            //gear.Add("l_hand", standardOutfit.l_hand);
            //gear.Add("l_pocket", standardOutfit.l_pocket);
            //gear.Add("r_pocket", standardOutfit.r_pocket);
            //gear.Add("suit_store", standardOutfit.suit_store);

            if (!String.IsNullOrEmpty(jobOutfit.uniform))
            {
                gear["uniform"] = jobOutfit.uniform;
            }

            /*if (!String.IsNullOrEmpty(jobOutfit.id))
             *  gear["id"] = jobOutfit.id;*/
            if (!String.IsNullOrEmpty(jobOutfit.ears))
            {
                gear["ears"] = jobOutfit.ears;
            }
            if (!String.IsNullOrEmpty(jobOutfit.belt))
            {
                gear["belt"] = jobOutfit.belt;
            }
            if (!String.IsNullOrEmpty(jobOutfit.back))
            {
                gear["back"] = jobOutfit.back;
            }
            if (!String.IsNullOrEmpty(jobOutfit.shoes))
            {
                gear["shoes"] = jobOutfit.shoes;
            }
            if (!String.IsNullOrEmpty(jobOutfit.glasses))
            {
                gear["glasses"] = jobOutfit.glasses;
            }
            if (!String.IsNullOrEmpty(jobOutfit.gloves))
            {
                gear["gloves"] = jobOutfit.gloves;
            }
            if (!String.IsNullOrEmpty(jobOutfit.suit))
            {
                gear["suit"] = jobOutfit.suit;
            }
            if (!String.IsNullOrEmpty(jobOutfit.head))
            {
                gear["head"] = jobOutfit.head;
            }

            /*if (!String.IsNullOrEmpty(jobOutfit.accessory))
             *  gear["accessory"] = jobOutfit.accessory;*/
            if (!String.IsNullOrEmpty(jobOutfit.mask))
            {
                gear["mask"] = jobOutfit.mask;
            }

            /*if (!String.IsNullOrEmpty(jobOutfit.backpack))
             *  gear["backpack"] = jobOutfit.backpack;
             * if (!String.IsNullOrEmpty(jobOutfit.satchel))
             *  gear["satchel"] = jobOutfit.satchel;
             * if (!String.IsNullOrEmpty(jobOutfit.duffelbag))
             *  gear["duffelbag"] = jobOutfit.duffelbag;
             * if (!String.IsNullOrEmpty(jobOutfit.box))
             *  gear["box"] = jobOutfit.box;
             * if (!String.IsNullOrEmpty(jobOutfit.l_hand))
             *  gear["l_hand"] = jobOutfit.l_hand;
             * if (!String.IsNullOrEmpty(jobOutfit.l_pocket))
             *  gear["l_pocket"] = jobOutfit.l_pocket;
             * if (!String.IsNullOrEmpty(jobOutfit.r_pocket))
             *  gear["r_pocket"] = jobOutfit.r_pocket;
             * if (!String.IsNullOrEmpty(jobOutfit.suit_store))
             *  gear["suit_store"] = jobOutfit.suit_store;*/

            foreach (KeyValuePair <string, string> gearItem in gear)
            {
                if (gearItem.Value.Contains("cloth"))
                {
                    GameObject     obj      = ClothFactory.CreateCloth(gearItem.Value, Vector3.zero);
                    ItemAttributes itemAtts = obj.GetComponent <ItemAttributes>();
                    SetItem(GetLoadOutEventName(gearItem.Key), itemAtts.gameObject);
                }
            }
            SpawnID(jobOutfit);
        }
예제 #9
0
    public void SetPlayerLoadOuts()
    {
        JobOutfit standardOutfit = GameManager.Instance.StandardOutfit.GetComponent <JobOutfit>();
        JobOutfit jobOutfit      = GameManager.Instance.GetOccupationOutfit(playerScript.mind.jobType);

        Dictionary <EquipSlot, string> gear = new Dictionary <EquipSlot, string>();

        gear.Add(EquipSlot.uniform, standardOutfit.uniform);
        gear.Add(EquipSlot.ear, standardOutfit.ears);
        gear.Add(EquipSlot.belt, standardOutfit.belt);
        gear.Add(EquipSlot.back, standardOutfit.backpack);
        gear.Add(EquipSlot.feet, standardOutfit.shoes);
        gear.Add(EquipSlot.eyes, standardOutfit.glasses);
        gear.Add(EquipSlot.hands, standardOutfit.gloves);
        gear.Add(EquipSlot.exosuit, standardOutfit.suit);
        gear.Add(EquipSlot.head, standardOutfit.head);
        //gear.Add(EquipSlot.accessory, standardOutfit.accessory);
        gear.Add(EquipSlot.mask, standardOutfit.mask);
        //gear.Add(EquipSlot.backpack, standardOutfit.backpack);
        //gear.Add(EquipSlot.satchel, standardOutfit.satchel);
        //gear.Add(EquipSlot.duffelbag, standardOutfit.duffelbag);
        //gear.Add(EquipSlot.box, standardOutfit.box);
        //gear.Add(EquipSlot.l_hand, standardOutfit.l_hand);
        //gear.Add(EquipSlot.l_pocket, standardOutfit.l_pocket);
        //gear.Add(EquipSlot.r_pocket, standardOutfit.r_pocket);
        //gear.Add(EquipSlot.suit_store, standardOutfit.suit_store);

        if (!string.IsNullOrEmpty(jobOutfit.uniform))
        {
            gear[EquipSlot.uniform] = jobOutfit.uniform;
        }

        /*if (!String.IsNullOrEmpty(jobOutfit.id))
         *      gear[EquipSlot.id] = jobOutfit.id;*/
        if (!string.IsNullOrEmpty(jobOutfit.ears))
        {
            gear[EquipSlot.ear] = jobOutfit.ears;
        }
        if (!string.IsNullOrEmpty(jobOutfit.belt))
        {
            gear[EquipSlot.belt] = jobOutfit.belt;
        }
        if (!string.IsNullOrEmpty(jobOutfit.backpack))
        {
            gear[EquipSlot.back] = jobOutfit.backpack;
        }
        if (!string.IsNullOrEmpty(jobOutfit.shoes))
        {
            gear[EquipSlot.feet] = jobOutfit.shoes;
        }
        if (!string.IsNullOrEmpty(jobOutfit.glasses))
        {
            gear[EquipSlot.eyes] = jobOutfit.glasses;
        }
        if (!string.IsNullOrEmpty(jobOutfit.gloves))
        {
            gear[EquipSlot.hands] = jobOutfit.gloves;
        }
        if (!string.IsNullOrEmpty(jobOutfit.suit))
        {
            gear[EquipSlot.exosuit] = jobOutfit.suit;
        }
        if (!string.IsNullOrEmpty(jobOutfit.head))
        {
            gear[EquipSlot.head] = jobOutfit.head;
        }

        /*if (!String.IsNullOrEmpty(jobOutfit.accessory))
         *      gear[EquipSlot.accessory] = jobOutfit.accessory;*/
        if (!string.IsNullOrEmpty(jobOutfit.mask))
        {
            gear[EquipSlot.mask] = jobOutfit.mask;
        }

        /*if (!String.IsNullOrEmpty(jobOutfit.backpack))
         *      gear[EquipSlot.backpack] = jobOutfit.backpack;
         * if (!String.IsNullOrEmpty(jobOutfit.satchel))
         *      gear[EquipSlot.satchel] = jobOutfit.satchel;
         * if (!String.IsNullOrEmpty(jobOutfit.duffelbag))
         *      gear[EquipSlot.duffelbag] = jobOutfit.duffelbag;
         * if (!String.IsNullOrEmpty(jobOutfit.box))
         *      gear[EquipSlot.box] = jobOutfit.box;
         * if (!String.IsNullOrEmpty(jobOutfit.l_hand))
         *      gear[EquipSlot.l_hand] = jobOutfit.l_hand;
         * if (!String.IsNullOrEmpty(jobOutfit.l_pocket))
         *      gear[EquipSlot.l_pocket] = jobOutfit.l_pocket;
         * if (!String.IsNullOrEmpty(jobOutfit.r_pocket))
         *      gear[EquipSlot.r_pocket] = jobOutfit.r_pocket;
         * if (!String.IsNullOrEmpty(jobOutfit.suit_store))
         *      gear[EquipSlot.suit_store] = jobOutfit.suit_store;*/

        foreach (KeyValuePair <EquipSlot, string> gearItem in gear)
        {
            if (gearItem.Value.Contains(UniItemUtils.ClothingHierIdentifier) || gearItem.Value.Contains(UniItemUtils.HeadsetHierIdentifier) ||
                gearItem.Value.Contains(UniItemUtils.BackPackHierIdentifier) || gearItem.Value.Contains(UniItemUtils.BagHierIdentifier))
            {
                GameObject obj = ClothFactory.CreateCloth(gearItem.Value, TransformState.HiddenPos, transform.parent);
                //if ClothFactory does not return an object then move on to the next clothing item
                if (!obj)
                {
                    Logger.LogWarning("Trying to instantiate clothing item " + gearItem.Value + " failed!", Category.Equipment);
                    continue;
                }
                ItemAttributes itemAtts = obj.GetComponent <ItemAttributes>();
                SetItem(gearItem.Key, itemAtts.gameObject);
            }
            else if (!string.IsNullOrEmpty(gearItem.Value))
            {
                //					Logger.Log(gearItem.Value + " creation not implemented yet.");
            }
        }
        SpawnID(jobOutfit);

        if (playerScript.mind.jobType == JobType.SYNDICATE)
        {
            //Check to see if there is a nuke and communicate the nuke code:
            Nuke nuke = FindObjectOfType <Nuke>();
            if (nuke != null)
            {
                UpdateChatMessage.Send(gameObject, ChatChannel.Syndicate,
                                       "We have intercepted the code for the nuclear weapon: " + nuke.NukeCode);
            }
        }
    }