public override void Start()
        {
            base.Start();

            radioSpeakerName = TextManager.Get("Tutorial.Radio.Speaker");
            officer          = Character.Controlled;

            var handcuffs = officer.Inventory.FindItemByIdentifier("handcuffs");

            handcuffs.Unequip(officer);
            officer.Inventory.RemoveItem(handcuffs);

            var stunbaton = officer.Inventory.FindItemByIdentifier("stunbaton");

            stunbaton.Unequip(officer);
            officer.Inventory.RemoveItem(stunbaton);

            var ballistichelmet = officer.Inventory.FindItemByIdentifier("ballistichelmet");

            ballistichelmet.Unequip(officer);
            officer.Inventory.RemoveItem(ballistichelmet);

            var bodyarmor = officer.Inventory.FindItemByIdentifier("bodyarmor");

            bodyarmor.Unequip(officer);
            officer.Inventory.RemoveItem(bodyarmor);

            var gunOrder = Order.PrefabList.Find(order => order.AITag == "operateweapons");

            officer_gunIcon      = gunOrder.SymbolSprite;
            officer_gunIconColor = gunOrder.Color;

            // Other tutorial items
            tutorial_mechanicFinalDoorLight = Item.ItemList.Find(i => i.HasTag("tutorial_mechanicfinaldoorlight")).GetComponent <LightComponent>();
            tutorial_submarineSteering      = Item.ItemList.Find(i => i.HasTag("command")).GetComponent <Steering>();

            tutorial_submarineSteering.CanBeSelected = false;
            foreach (ItemComponent ic in tutorial_submarineSteering.Item.Components)
            {
                ic.CanBeSelected = false;
            }

            SetDoorAccess(null, tutorial_mechanicFinalDoorLight, false);

            // Room 2
            officer_equipmentObjectiveSensor = Item.ItemList.Find(i => i.HasTag("officer_equipmentobjectivesensor")).GetComponent <MotionSensor>();
            officer_equipmentCabinet         = Item.ItemList.Find(i => i.HasTag("officer_equipmentcabinet")).GetComponent <ItemContainer>();
            officer_firstDoor      = Item.ItemList.Find(i => i.HasTag("officer_firstdoor")).GetComponent <Door>();
            officer_firstDoorLight = Item.ItemList.Find(i => i.HasTag("officer_firstdoorlight")).GetComponent <LightComponent>();

            SetDoorAccess(officer_firstDoor, officer_firstDoorLight, false);

            // Room 3
            officer_crawlerSensor   = Item.ItemList.Find(i => i.HasTag("officer_crawlerobjectivesensor")).GetComponent <MotionSensor>();
            officer_crawlerSpawnPos = Item.ItemList.Find(i => i.HasTag("officer_crawlerspawn")).WorldPosition;
            officer_secondDoor      = Item.ItemList.Find(i => i.HasTag("officer_seconddoor")).GetComponent <Door>();
            officer_secondDoorLight = Item.ItemList.Find(i => i.HasTag("officer_seconddoorlight")).GetComponent <LightComponent>();

            SetDoorAccess(officer_secondDoor, officer_secondDoorLight, false);

            // Room 4
            officer_somethingBigSensor = Item.ItemList.Find(i => i.HasTag("officer_somethingbigobjectivesensor")).GetComponent <MotionSensor>();
            officer_coilgunLoader      = Item.ItemList.Find(i => i.HasTag("officer_coilgunloader")).GetComponent <ItemContainer>();
            officer_superCapacitor     = Item.ItemList.Find(i => i.HasTag("officer_supercapacitor")).GetComponent <PowerContainer>();
            officer_coilgunPeriscope   = Item.ItemList.Find(i => i.HasTag("officer_coilgunperiscope"));
            officer_hammerheadSpawnPos = Item.ItemList.Find(i => i.HasTag("officer_hammerheadspawn")).WorldPosition;
            officer_thirdDoor          = Item.ItemList.Find(i => i.HasTag("officer_thirddoor")).GetComponent <Door>();
            officer_thirdDoorLight     = Item.ItemList.Find(i => i.HasTag("officer_thirddoorlight")).GetComponent <LightComponent>();
            officer_ammoShelf_1        = Item.ItemList.Find(i => i.HasTag("officer_ammoshelf_1")).GetComponent <ItemContainer>();
            officer_ammoShelf_2        = Item.ItemList.Find(i => i.HasTag("officer_ammoshelf_2")).GetComponent <ItemContainer>();

            SetDoorAccess(officer_thirdDoor, officer_thirdDoorLight, false);

            // Room 5
            officer_rangedWeaponSensor  = Item.ItemList.Find(i => i.HasTag("officer_rangedweaponobjectivesensor")).GetComponent <MotionSensor>();
            officer_rangedWeaponCabinet = Item.ItemList.Find(i => i.HasTag("officer_rangedweaponcabinet")).GetComponent <ItemContainer>();
            officer_rangedWeaponHolder  = Item.ItemList.Find(i => i.HasTag("officer_rangedweaponholder")).GetComponent <ItemContainer>();
            officer_fourthDoor          = Item.ItemList.Find(i => i.HasTag("officer_fourthdoor")).GetComponent <Door>();
            officer_fourthDoorLight     = Item.ItemList.Find(i => i.HasTag("officer_fourthdoorlight")).GetComponent <LightComponent>();

            SetDoorAccess(officer_fourthDoor, officer_fourthDoorLight, false);

            // Room 6
            officer_mudraptorObjectiveSensor = Item.ItemList.Find(i => i.HasTag("officer_mudraptorobjectivesensor")).GetComponent <MotionSensor>();
            officer_mudraptorSpawnPos        = Item.ItemList.Find(i => i.HasTag("officer_mudraptorspawn")).WorldPosition;
            tutorial_securityFinalDoor       = Item.ItemList.Find(i => i.HasTag("tutorial_securityfinaldoor")).GetComponent <Door>();
            tutorial_securityFinalDoorLight  = Item.ItemList.Find(i => i.HasTag("tutorial_securityfinaldoorlight")).GetComponent <LightComponent>();

            SetDoorAccess(tutorial_securityFinalDoor, tutorial_securityFinalDoorLight, false);

            // Submarine
            tutorial_submarineDoor          = Item.ItemList.Find(i => i.HasTag("tutorial_submarinedoor")).GetComponent <Door>();
            tutorial_submarineDoorLight     = Item.ItemList.Find(i => i.HasTag("tutorial_submarinedoorlight")).GetComponent <LightComponent>();
            tutorial_enteredSubmarineSensor = Item.ItemList.Find(i => i.HasTag("tutorial_enteredsubmarinesensor")).GetComponent <MotionSensor>();
            officer_subAmmoBox_1            = Item.ItemList.Find(i => i.HasTag("officer_subammobox_1"));
            officer_subAmmoBox_2            = Item.ItemList.Find(i => i.HasTag("officer_subammobox_2"));
            officer_subLoader_1             = Item.ItemList.Find(i => i.HasTag("officer_subloader_1")).GetComponent <ItemContainer>();
            officer_subLoader_2             = Item.ItemList.Find(i => i.HasTag("officer_subloader_2")).GetComponent <ItemContainer>();
            officer_subSuperCapacitor_1     = Item.ItemList.Find(i => i.HasTag("officer_subsupercapacitor_1")).GetComponent <PowerContainer>();
            officer_subSuperCapacitor_2     = Item.ItemList.Find(i => i.HasTag("officer_subsupercapacitor_2")).GetComponent <PowerContainer>();
            officer_subAmmoShelf            = Item.ItemList.Find(i => i.HasTag("officer_subammoshelf")).GetComponent <ItemContainer>();
            SetDoorAccess(tutorial_submarineDoor, tutorial_submarineDoorLight, true);
        }
示例#2
0
    //Setup powers bar, called ONLY by power manager with a list of the powers in a level
    public void setUpPowersBar(Power[] powers)
    {
        if (_powersBar != null && powers.Length > 0)        // the powers bar is already set up or there are no powers avaliable
        {
            return;
        }

        _powersBar        = new List <PowerContainer>();
        _powerBarMappings = new Dictionary <int, int>();

        var xPos       = (-Screen.width / 2 + powerButton.GetComponent <UISprite>().width / 2) * root.pixelSizeAdjustment;
        int halfSpacer = powers.Length / 2;
        var startYPos  = 0;
        int posCounter = 1;



        foreach (var power in powers)
        {
            GameObject newButton = NGUITools.AddChild(this.gameObject, powerButton);

            UIToggle nbScript = newButton.GetComponent <UIToggle>();
            UILabel  nbLabel  = newButton.GetComponentInChildren <UILabel>();
            nbLabel.text = ((Power)power).price.ToString();

            newButton.transform.localPosition = new Vector3(xPos, startYPos * root.pixelSizeAdjustment, 0);
            newButton.GetComponent <UISprite>().spriteName = power.name;
            newButton.transform.FindChild("Selected").GetComponent <UISprite>().spriteName = power.name + "_Over";

            PowerContainer container = new PowerContainer();
            container.powerSprite = newButton.GetComponent <UISprite>();
            container.powerButton = nbScript;
            container.cost        = nbLabel;
            container.power       = power;
            nbScript.UserData     = container;
            _powersBar.Add(container);

            if (posCounter <= halfSpacer)
            {
                _powerBarMappings.Add(posCounter - 1, halfSpacer - posCounter);
            }

            posCounter++;

            if (posCounter == halfSpacer + 1)
            {
                startYPos = 0;
            }

            if (posCounter > halfSpacer)
            {
                startYPos -= powerButton.GetComponent <UISprite> ().height;
                _powerBarMappings.Add(posCounter - 1, posCounter - 1);
            }
            else
            {
                startYPos += powerButton.GetComponent <UISprite> ().height;
            }

            if (power.powerState == PowerState.Disabled || power.powerState == PowerState.ForceDisabled)
            {
                container.powerButton.value   = false;
                container.powerButton.enabled = false;
                container.powerSprite.color   = new Color(container.powerSprite.color.r, container.powerSprite.color.g, container.powerSprite.color.b, 0.5f);
                container.cost.color          = new Color(sBlue.r, sBlue.g, sBlue.b, 0.5f);
            }
        }
    }