Esempio n. 1
0
    // Use this for initialization
    void Start()
    {
        Debug.Log("Icon at start " + iconToShow);
        unit = this.transform.gameObject;
        prof = unit.GetComponent<AttributeComponent>().profession;

        if (prof == Enums.Prof.Riot)
            iconToShow = iconRiot;
        if (prof == Enums.Prof.Soldier)
            iconToShow = iconSoldier;
        if (prof == Enums.Prof.Support)
            iconToShow = iconSupport;

        Debug.Log(iconToShow);
    }
    // Use this for initialization
    void Start()
    {
        //bestimme zugehöriges gameobject
        unit = this.transform.gameObject;

        //bestimme klasse der einheit
        prof = unit.GetComponent<AttributeComponent>().profession;

        // bestimme health icon
        hpTexture = unit.GetComponentInParent<PlayerComponent>().teamColor;

        //bestimme anzuzeigende klasse
        if (prof == Enums.Prof.Riot)
            iconToShow = iconRiot;
        if (prof == Enums.Prof.Soldier)
            iconToShow = iconSoldier;
        if (prof == Enums.Prof.Support)
            iconToShow = iconSupport;

           // Debug.Log(iconToShow);
    }
    //Legt die Klasse fuer die Einheit fest
    public void setProf(int i)
    {
        prof = (Enums.Prof)i;
        armory = GameObject.Find("Armory").GetComponent<ArmoryComponent>();
        ManagerSystem managersys = (ManagerSystem) FindObjectOfType(typeof(ManagerSystem));
        items = this.GetComponent<InventoryComponent>();

        GameObject prefab = managersys.policePrefab;
        model = Instantiate(managersys.policePrefab);
        model.transform.SetParent(this.transform);
        model.transform.localPosition = prefab.transform.position;
        model.transform.localRotation = prefab.transform.rotation;
        model.transform.localScale = prefab.transform.localScale;

        anim = (Animator)model.GetComponent(typeof(Animator));

        Enums.Stance stance = Enums.Stance.Range1H;

        profession = (Enums.Prof)i;
        WeaponHolding weapons = (WeaponHolding)model.GetComponent(typeof(WeaponHolding));
        weapons.owner = this.gameObject;

        if (profession == Enums.Prof.Riot)
        {

            stance = Enums.Stance.MeleeRiot;
            weapons.initializeEquip(armory.p_Stick, armory.p_Riotshield, null, null , stance, Enums.Stance.None);
            GameObject tmp = weapons.leftHandObjectPrimary;
            items.primary = tmp.GetComponent<WeaponComponent>();
            items.primaryWeaponType = Enums.PrimaryWeapons.Pipe;
            items.amountTeargas = 4;
            hp += 20;
            skills.Add(Enums.Actions.Hit);
            skills.Add(Enums.Actions.Teargas);
            items.utility1 = Enums.Equipment.Teargas;

        }
        else if (profession == Enums.Prof.Soldier)
        {
            stance = Enums.Stance.Range2H;
            weapons.initializeEquip(armory.p_AssaultRifle, null, null, null, stance, Enums.Stance.None);
            GameObject tmp = weapons.leftHandObjectPrimary;
            items.primary = tmp.GetComponent<WeaponComponent>();
            items.primaryWeaponType = Enums.PrimaryWeapons.AssaultRifle;
            items.amountGrenades = 2;
            hp += 20;
            skills.Add(Enums.Actions.Shoot);
            skills.Add(Enums.Actions.Reload);
            skills.Add(Enums.Actions.Grenade);

            items.utility1 = Enums.Equipment.Grenade;

        }

        else if (profession == Enums.Prof.Support)
        {
            stance = Enums.Stance.Range2H;
            weapons.initializeEquip(armory.p_AssaultRifle, null, armory.p_Pistol, null, stance, Enums.Stance.Range1H);
            GameObject tmp = weapons.leftHandObjectPrimary;

            items.primary = tmp.GetComponent<WeaponComponent>();
            items.primaryWeaponType = Enums.PrimaryWeapons.AssaultRifle;

            tmp = weapons.leftHandObjectSecondary;
            items.secondary = tmp.GetComponent<WeaponComponent>();
            items.secondaryWeaponType = Enums.SecondaryWeapons.Pistol;
            items.amountMediKits = 2;
            hp += 20;
            skills.Add(Enums.Actions.Shoot);
            skills.Add(Enums.Actions.Reload);
            skills.Add(Enums.Actions.ChangeWeapon);
            skills.Add(Enums.Actions.Heal);

            items.utility1 = Enums.Equipment.MediPack;
        }
            /*
        else if (profession == Enums.Prof.HeavyGunner)
        {
            GameObject tmp = Instantiate(armory.MG);
            tmp.transform.SetParent(transform);
            items.primary = tmp.GetComponent<WeaponComponent>();
            items.primaryWeaponType = Enums.PrimaryWeapons.MG;
            hp += 20;
            skills.Add(Enums.Actions.Shoot);
            skills.Add(Enums.Actions.Reload);

            stance = Enums.Stance.Range2H;
        }
        if (profession == Enums.Prof.Sniper)
        {
            GameObject tmp = Instantiate(armory.Sniper);
            tmp.transform.SetParent(transform);
            items.primary = tmp.GetComponent<WeaponComponent>();
            items.primaryWeaponType = Enums.PrimaryWeapons.Sniper;

            tmp = Instantiate(armory.Pistol);
            tmp.transform.SetParent(transform);
            items.secondary = tmp.GetComponent<WeaponComponent>();
            items.secondaryWeaponType = Enums.SecondaryWeapons.Pistol;
            items.amountGrenades = 1;
            skills.Add(Enums.Actions.Shoot);
            skills.Add(Enums.Actions.Reload);
            skills.Add(Enums.Actions.ChangeWeapon);

            stance = Enums.Stance.Range2H;
        }
             * */
        anim.SetInteger(animId_iStance, (int)stance);
    }