Example #1
0
    public void Initialize()
    {
        UIController uic = GeneralVariables.uiController;

        weaponName = uic.weaponName;
        curAmmo    = uic.curAmmoDisplay;
        ammoLeft   = uic.ammoLeftDisplay;
        ammoBar    = uic.ammoBar;

        PlayerReference pr = GeneralVariables.playerRef;

        gm  = transform.parent.GetComponent <GrenadeManager>();
        pm  = pr.GetComponent <PlayerMovement>();
        gam = pr.gam;
        wm  = pr.wm;
        acs = pr.acs;

        if (isDetonatable)
        {
            canDetonate = true;
        }

        OnSelect();
        switchToWeapon = -1;
        canThrow       = true;
    }
    public override void OnInspectorGUI()
    {
        GrenadeManager     gm  = target as GrenadeManager;
        GrenadeAmmoManager gam = gm.transform.parent.parent.GetComponent <GrenadeAmmoManager>();

        if (gm.nadeList == null)
        {
            gm.nadeList = (GrenadeList)EditorGUILayout.ObjectField("Grenade List Prefab:", gm.nadeList, typeof(GrenadeList), true);
            EditorGUILayout.HelpBox("Not assigning this variable will have a heavy performance cost!", MessageType.Warning);
        }

        GUILayout.Space(6);
        EditorGUILayout.LabelField(" To Be Instantiated:", EditorStyles.boldLabel);

        EditorGUI.indentLevel += 1;
        EditorGUILayout.ObjectField(" Grenade Slot #1:", GrenadeDatabase.GetGrenadeByID(gam.grenadeTypeOne), typeof(GrenadeController), false);
        EditorGUILayout.ObjectField(" Grenade Slot #2:", GrenadeDatabase.GetGrenadeByID(gam.grenadeTypeTwo), typeof(GrenadeController), false);
        EditorGUI.indentLevel -= 1;
    }
Example #3
0
    public void Initialize()
    {
        if (nadeList != null)
        {
            GrenadeDatabase.savedGrenadeList = nadeList;
        }

        PlayerReference playerRef = GeneralVariables.playerRef;

        wm  = playerRef.wm;
        dm  = playerRef.dm;
        gam = playerRef.gam;

        grenadeInventory[0] = AddGrenadeToInventory(gam.grenadeTypeOne);
        grenadeInventory[1] = AddGrenadeToInventory(gam.grenadeTypeTwo);

        CheckGrenades();

        curGrenade = availableGrenades[0];
        curGrenade.OnSelect();
        canSwitch = true;
        gameObject.SetActive(false);
    }
Example #4
0
    void Start()
    {
        player = GeneralVariables.player;
        dm     = GetComponent <DynamicMovement>();
        pm     = player.GetComponent <PlayerMovement>();
        pv     = player.GetComponent <PlayerVitals>();
        pl     = player.GetComponent <PlayerLook>();
        pe     = player.GetComponent <PlayerEffects>();
        gam    = GeneralVariables.playerRef.gam;
        ac     = GeneralVariables.playerRef.ac;
        acs    = GeneralVariables.playerRef.acs;

        UIController uiController = GeneralVariables.uiController;

        curAmmoDisplay        = uiController.curAmmoDisplay;
        ammoLeftDisplay       = uiController.ammoLeftDisplay;
        weaponName            = uiController.weaponName;
        weaponIcon            = uiController.weaponIcon;
        weaponSlot            = uiController.weaponSlot;
        ammoBar               = uiController.ammoBar;
        muzGlow               = uiController.muzzleHelmetGlow;
        fireModeDisplay       = uiController.fireModeLabel;
        reloadIndImpulse      = uiController.reloadIndicatorLabel.GetComponent <ImpulseGUI>();
        grenadeSelection      = uiController.grenadeSelectionSprite;
        grenadeSelectionLabel = uiController.grenadeSelectionLabel;
        defaultIconPos        = new Vector3(-172f, 14f, 2f);

        grenadeSelectionLabel.alpha = 0.2f;
        grenadeSelection.transform.localPosition = new Vector3(-35f, 83f, 0f);

        grenadeManager.gameObject.SetActive(true);
        grenadeManager.Initialize();
        queuedAmmo    = -1;
        queuedReserve = -1;
        queuedChamber = false;
        curWeaponNum  = -1;

        if (mpSpawnStartPrimary > -1)
        {
            AddWeapon(mpSpawnStartPrimary, false);
            mpSpawnStartPrimary = -1;
        }
        else if (startingPrimary > -1)
        {
            AddWeapon(startingPrimary, false);
        }

        if (mpSpawnStartSecondary > -1)
        {
            AddWeapon(mpSpawnStartSecondary, false);
            mpSpawnStartSecondary = -1;
        }
        else if (startingSecondary > -1)
        {
            AddWeapon(startingSecondary, false);
        }

        if (Topan.Network.isConnected)
        {
            StartCoroutine(WaitForNetworkInit());
        }
        else
        {
            FindWeaponToUse(true, 0);
        }

        dca             = 0f;
        dal             = 0f;
        displayCurAmmo  = 0;
        displayAmmoLeft = 0;
        friendlyFire    = NetworkingGeneral.friendlyFire;
        initTime        = Time.time;
    }
Example #5
0
    public override void OnInspectorGUI()
    {
        GrenadeAmmoManager gam = target as GrenadeAmmoManager;

        GUILayout.Space(5);

        if (GrenadeDatabase.publicGrenadeControllers.Length <= 0)
        {
            GUILayout.Box("You must have at least 1 grenade in the database to enable this manager!");
            gam.grenadeTypeOne = -1;
            gam.grenadeTypeTwo = -1;
            return;
        }

        int typeOneValue = Mathf.Clamp(gam.grenadeTypeOne, -1, GrenadeDatabase.publicGrenadeControllers.Length - 1);

        EditorGUILayout.LabelField("Grenade Slot #1 (" + ((typeOneValue == -1) ? "None" : GrenadeDatabase.GetGrenadeByID(typeOneValue).name) + ")", EditorStyles.boldLabel);
        EditorGUI.indentLevel += 1;
        gam.grenadeTypeOne     = EditorGUILayout.IntField("Grenade ID:", typeOneValue);

        if (gam.grenadeTypeOne == -1)
        {
            GUI.enabled = false;
        }

        gam.typeOneGrenades    = EditorGUILayout.IntSlider("  Grenade Amount:", gam.typeOneGrenades, 0, gam.typeOneMaxGrenades);
        gam.typeOneMaxGrenades = EditorGUILayout.IntField("  Max Grenades:", gam.typeOneMaxGrenades);
        GUI.enabled            = true;
        EditorGUI.indentLevel -= 1;

        DarkRef.GUISeparator();

        int typeTwoValue = Mathf.Clamp(gam.grenadeTypeTwo, -1, GrenadeDatabase.publicGrenadeControllers.Length - 1);

        if (typeTwoValue == typeOneValue && typeOneValue > -1)
        {
            if (typeTwoValue < GrenadeDatabase.publicGrenadeControllers.Length - 1)
            {
                typeTwoValue++;
            }
            else
            {
                typeTwoValue--;
            }
        }

        if (GrenadeDatabase.publicGrenadeControllers.Length < 2)
        {
            GUILayout.Box("You must have at least 2 grenades in the database in order to enable the second slot!");
            GUI.enabled = false;
        }
        else
        {
            EditorGUILayout.LabelField("Grenade Slot #2 (" + ((typeTwoValue == -1) ? "None" : GrenadeDatabase.GetGrenadeByID(typeTwoValue).name) + ")", EditorStyles.boldLabel);
            EditorGUI.indentLevel += 1;
            gam.grenadeTypeTwo     = EditorGUILayout.IntField("Grenade ID:", typeTwoValue);

            if (gam.grenadeTypeTwo == -1)
            {
                GUI.enabled = false;
            }

            gam.typeTwoGrenades    = EditorGUILayout.IntSlider("  Grenade Amount:", gam.typeTwoGrenades, 0, gam.typeTwoMaxGrenades);
            gam.typeTwoMaxGrenades = EditorGUILayout.IntField("  Max Grenades:", gam.typeTwoMaxGrenades);
            EditorGUI.indentLevel -= 1;
        }

        if (GUI.changed)
        {
            EditorUtility.SetDirty(gam);
        }
    }