Exemple #1
0
    void InitializeWeapon(WeaponEquipment item)
    {
        PlayerCombatController.Instance.CurrentWeapon = item.ItemPrefab.GetComponent <Weapon>();
        GameObject newWeapon = Instantiate(item.ItemPrefab, transform.position, Quaternion.identity);

        HandleWeaponSpawnPos(ref newWeapon);
    }
Exemple #2
0
    // Equip a new item
    public void EquipWeapon(WeaponEquipment newItem)
    {
        Equipment oldItem = null;

        // Find out what slot the item fits in
        // and put it there.
        int slotIndex = (int)newItem.equipSlot;

        // If there was already an item in the slot
        // make sure to put it back in the inventory
        if (currentWeapon != null)
        {
            oldItem = currentWeapon;

            inventory.Add(oldItem);

            Destroy(handPos.GetChild(0).gameObject);
        }

        // An item has been equipped so we trigger the callback
        if (onEquipmentChanged != null)
        {
            onEquipmentChanged.Invoke(newItem, oldItem);
        }

        currentWeapon = newItem;
        Debug.Log(newItem.name + " equipped!");

        if (newItem.ItemPrefab)
        {
            InitializeWeapon(newItem);
        }
    }
Exemple #3
0
    private void InitializeEquipment()
    {
        int[] numEquipment = customization.numEquipment;

        for (int i = 0; i < numEquipment[0]; i++)
        {
            WeaponEquipment weaponEquipment = gameObject.AddComponent <WeaponEquipment>();
            weaponEquipment.Initialize("Turret", 0, 1, 0, 0.2f, 0.5f, 10f);
            equipment.Add(weaponEquipment);
        }

        for (int i = 0; i < numEquipment[1]; i++)
        {
            ResearchEquipment researchEquipment = gameObject.AddComponent <ResearchEquipment>();
            researchEquipment.Initialize("Geological Research Equipment", 0, 1, ResearchTypes.Geology, 2, 6f);
            equipment.Add(researchEquipment);
        }

        for (int i = 0; i < numEquipment[2]; i++)
        {
            ResearchEquipment researchEquipment = gameObject.AddComponent <ResearchEquipment>();
            researchEquipment.Initialize("Biological Research Equipment", 0, 1, ResearchTypes.Biology, 2, 6f);
            equipment.Add(researchEquipment);
        }

        for (int i = 0; i < numEquipment[3]; i++)
        {
            ResearchEquipment researchEquipment = gameObject.AddComponent <ResearchEquipment>();
            researchEquipment.Initialize("Archeological Research Equipment", 0, 1, ResearchTypes.Archeology, 2, 6f);
            equipment.Add(researchEquipment);
        }
    }
Exemple #4
0
    public void SandMake()
    {
        GameObject btn   = Instantiate(m_BtnObj);
        GameObject btn_2 = Instantiate(m_BtnObj);

        if (m_DicBtnType[m_BtnObj] == 1)
        {
            WeaponEquipment weanponEquipment = btn.GetComponent <WeaponEquipment>();
            //btn_2를 주는 이유는 장착시 스크린에서도 없애기 위한 부분
            weanponEquipment.Init(m_Inventory, btn_2);

            btn_2.AddComponent <ReturnItem>().Init(this, weanponEquipment.m_nMoney, btn);

            btn.transform.SetParent(m_Inventory.m_AttackScreen.transform);
            btn_2.transform.SetParent(m_InventoryShow.m_AttackScreenObj.transform);

            m_InventoryShow.AttackBtn();
        }
        else if (m_DicBtnType[m_BtnObj] == 2)
        {
            ArmorEquipment armorEquipment = btn.GetComponent <ArmorEquipment>();
            armorEquipment.Init(m_Inventory, btn_2);

            btn_2.AddComponent <ReturnItem>().Init(this, armorEquipment.m_nMoney, btn);

            btn.transform.SetParent(m_Inventory.m_DefenseScreen.transform);
            btn_2.transform.SetParent(m_InventoryShow.m_DefenseScreenObj.transform);

            m_InventoryShow.DefenseBtn();
        }

        btn.transform.localScale = new Vector3(0.14f, 0.15f, 0.14f);
        btn.GetComponent <RectTransform>().pivot = new Vector2(0, 0.79f);

        btn_2.transform.localScale                 = new Vector3(0.14f, 0.20f, 0.14f);
        btn_2.transform.GetChild(0).localScale     = new Vector3(1.1f, 0.8f, 0.14f);
        btn_2.GetComponent <RectTransform>().pivot = new Vector2(0, 1.35f);

        m_Inventory.SetMoney(m_Inventory.m_Money - m_nPrice);
        m_InventoryShow.m_MoneyTxt.text = m_Inventory.m_Money.ToString();
        m_Inventory.SetMoney();

        m_PortionMenu.OtherMoney();
        m_AskBuy.SetActive(false);

        AudioManager.Instance.PlayEffect(0);
    }
 private void InitializeStats()
 {
     foreach (Equipment eq in PlayerManager.instance.equipment)
     {
         if (eq is WeaponEquipment)
         {
             WeaponEquipment     w  = eq as WeaponEquipment;
             WeaponUpgradeStruct wu = new WeaponUpgradeStruct(800, 1, w.damage, w.inaccuracy, w.fireRate, w.range);
             wu.Upgrade();
             upgradeStructs.Add(wu);
             structVals.Add(0);
         }
         else if (eq is StorageEquipment)
         {
             StorageEquipment     s  = eq as StorageEquipment;
             StorageUpgradeStruct su = new StorageUpgradeStruct(700, 1, s.capacity);
             su.Upgrade();
             upgradeStructs.Add(su);
             structVals.Add(1);
         }
         else if (eq is EnergyEquipment)
         {
             EnergyEquipment     e  = eq as EnergyEquipment;
             EnergyUpgradeStruct ee = new EnergyUpgradeStruct(850, 1, e.energyCapacity);
             ee.Upgrade();
             upgradeStructs.Add(ee);
             structVals.Add(2);
         }
         else if (eq is TransmitterEquipment)
         {
             TransmitterEquipment t  = eq as TransmitterEquipment;
             TransUpgradeStruct   tu = new TransUpgradeStruct(700, 1, t.uploadFactor);
             tu.Upgrade();
             upgradeStructs.Add(tu);
             structVals.Add(3);
         }
         else
         {
             ResearchEquipment     r  = eq as ResearchEquipment;
             ResearchUpgradeStruct ru = new ResearchUpgradeStruct(750, 1, r.scanTime, r.range);
             ru.Upgrade();
             upgradeStructs.Add(ru);
             structVals.Add(4);
         }
     }
 }
Exemple #6
0
 ///<summary>The Constructor of Player Class</summary>
 ///<param name="_name">name</param>
 ///<param name="_sex">sex</param>
 ///<param name="_race">race</param>
 ///<param name="_level">level</param>
 ///<param name="_force_attack">The force attack</param>
 ///<param name="_force_defense">The force defense</param>
 ///<param name="_force_hit">The force hit</param>
 ///<param name="_force_critical">The max num of Critical force hit</param>
 ///<param name="_force_probability">The propability of Critical force hit</param>
 ///<param name="_magic_attack">The magic attack</param>
 ///<param name="_magic_defense">The magic defense</param>
 ///<param name="_magic_hit">The magic hit</param>
 ///<param name="_magic_critical">The max num of Critical magic hit</param>
 ///<param name="_magic_probability">The probability of Critical magic hit</param>
 ///<param name="_health">The max num of life</param>
 ///<param name="_magic">The max num of magic</param>
 ///<param name="_move_speed">The move speed</param>
 ///<param name="_dodge">The dodge</param>
 ///<param name="_current_health">The current num of health</param>
 ///<param name="_current_magic">The current num og magic</param>
 ///<param name="_stamina">Max stamina, player use force skill and some other thing all need this</param>
 ///<param name="_current_stamina">Current stamina</param>
 ///<param name="_reputation">The reputation can be get through tasks and kill monsters</param>
 ///<param name="_gold">The player's gold</param>
 public Player(string _name, int _gender, string _race, int _level,
               int _force_attack, int _force_defense, int _force_hit, float _force_critical, int _force_probability,
               int _magic_attack, int _magic_defense, int _magic_hit, float _magic_critical, int _magic_probability,
               int _health, int _magic, int _move_speed, int _dodge, int _current_health, int _current_magic,
               int _stamina, int _current_stamina, int _reputation, int _gold)
     : base(_name, _gender, _race, _level, _force_attack, _force_defense, _force_hit, _force_critical, _force_probability, _magic_attack,
            _magic_defense, _magic_hit, _magic_critical, _magic_probability, _health, _magic, _move_speed, _dodge, _current_health, _current_magic)
 {
     stamina         = _stamina;
     current_stamina = _current_stamina;
     reputation      = _reputation;
     gold            = _gold;
     Head            = new HeadEquipment();
     Shoes           = new ShoesEquipment();
     Cloth           = new ClothEquipment();
     Weapon          = new WeaponEquipment();
     HandGuard       = new HandGuardEquipment();
     PlayerPackage   = new Package(10);
 }
Exemple #7
0
        protected Player(SerializationInfo info, StreamingContext context)
        {
            try
            {
                Name              = info.GetString("Name");
                Sex               = (SEX)info.GetValue("Sex", typeof(SEX));
                Life              = info.GetInt16("Life");
                Attack            = info.GetInt16("Attack");
                Defense           = info.GetInt16("Defense");
                Hit               = info.GetInt16("Hit");
                Dodge             = info.GetInt16("Dodge");
                Essence           = info.GetInt16("Essence");
                Experience        = info.GetInt16("Experience");
                MoveSpeed         = info.GetInt16("Speed");
                Physical_Capacity = info.GetInt16("Physical_Capacity");
                Magic_capacity    = info.GetInt16("Magical_Capacity");
                Life_Resume       = info.GetInt16("Life_Resume");
                Essence_Resume    = info.GetInt16("Essence_Resume");
                Physical_Resume   = info.GetInt16("Physical_Resume");
                Magic_Resume      = info.GetInt16("Magical_Resume");

                head      = new HeadEquipment();
                handguard = new HandguardEquipment();
                cloth     = new ClothEquipment();
                shoe      = new ShoeEquipment();
                weapon    = new WeaponEquipment();
                items     = new List <Item>();

                SetItems((List <Item>)info.GetValue("Items", typeof(List <Item>)));
                SetSkills((List <Skill>)info.GetValue("Skills", typeof(List <Skill>)));
                SetMyDragons((List <Dragon>)info.GetValue("Dragons", typeof(List <Dragon>)));
                SetHead((HeadEquipment)info.GetValue("HeadEquipment", typeof(HeadEquipment)));
                SetHandguard((HandguardEquipment)info.GetValue("HandguardEquipment", typeof(HandguardEquipment)));
                SetCloth((ClothEquipment)info.GetValue("ClothEquipment", typeof(ClothEquipment)));
                SetShoe((ShoeEquipment)info.GetValue("ShoeEquipment", typeof(ShoeEquipment)));
                SetWeapon((WeaponEquipment)info.GetValue("WeaponEquipment", typeof(WeaponEquipment)));
            }
            catch (SerializationException)
            {
                Console.WriteLine("Serialization Exception!");
            }
        }
        /// <summary>
        /// returns special attackvalue based on the equiped weapon item (if unarmed, uses livingObject baseAttack)
        /// </summary>
        /// <returns></returns>
        protected int Special_AttackValue(double mod = 1)
        {
            // get the baseattack value of the equiped weapon, if non equiped use baseattack of living
            // min max base attack value for each weapon and random inbetween or random between 0.8 and 1.2 of base (for example)

            int    attack   = baseAttack;
            double modifier = mod;
            int    attackValue;

            if (Weapon.SlotItem != null)
            {
                WeaponEquipment weaponItem = Weapon.SlotItem as WeaponEquipment;
                attackValue = weaponItem.Value(this);
            }
            else
            {
                attackValue = (int)CalculateValue(attack, Strength, mod);
            }

            return(attackValue);
        }
Exemple #9
0
    // Start is called before the first frame update
    void Start()
    {
        Cursor.lockState = CursorLockMode.Locked;
        Cursor.visible   = false;

        rb = GetComponent <Rigidbody>();

        /*
         *  Checks if the rover has WeaponEquipment, if so it references the equipment and
         *  adds the weapon transfrom to the equipment.
         *  Otherwise, hasWeapon remains false and the contorls have not impact
         */
        int weaponIndex = PlayerManager.instance.GetWeaponEquipment();

        if (weaponIndex != -1)
        {
            weapon           = (WeaponEquipment)PlayerManager.instance.equipment[weaponIndex];
            weapon.transform = weaponTransform;
            hasWeapon        = true;
        }
        GetComponent <AudioSource>().volume *= AppManager.instance.fxVolume;
    }
Exemple #10
0
 public Player(string _name, SEX _sex,
               int _level, int _speed, int _attack,
               int _defense, int _life,
               int _physical_capacity,
               int _magic_capacity,
               int _essence,
               int _hit,
               int _dodge,
               int _experience,
               int _life_resume, int _magic_resume, int _physic_resume, int _essence_resume) :
     base(_name, _sex, _level, _speed, _attack, _defense, _life, _physical_capacity, _magic_capacity, _essence, _hit, _dodge)
 {
     head            = new HeadEquipment();
     handguard       = new HandguardEquipment();
     cloth           = new ClothEquipment();
     shoe            = new ShoeEquipment();
     weapon          = new WeaponEquipment();
     items           = new List <Item>();
     Experience      = _experience;
     Life_Resume     = _life_resume;
     Magic_Resume    = _magic_resume;
     physical_resume = _physic_resume;
     Essence_Resume  = _essence_resume;
 }
Exemple #11
0
 public void SetWeapon(WeaponEquipment tmp)
 {
     tmp.SetUser(this);
     weapon = tmp;
 }
Exemple #12
0
 void InitializeWeapon(WeaponEquipment item)
 {
     weaponSprite.sprite = item.icon;
 }
Exemple #13
0
 private void GetEquipment()
 {
     currentWeapon = EquipmentManager.Instance.GetWeapon();
     currentArmor  = EquipmentManager.Instance.GetArmor();
 }
Exemple #14
0
        static void Main(string[] args)
        {
            var binder = new GameSerializationBinder();
            //Storage.SetData(fileName,player,binder);
            //Player TestPlayer = (Player)Storage.GetData(fileName,typeof(Player),binder);
            Player TestPlayer = new Player("Nature", SEX.Man, 1, 5, 10, 10, 100, 100, 100, 100, 10, 10, 0, 5, 5, 5, 5);

            Console.WriteLine("##############################################");
            Console.WriteLine(TestPlayer.ToString());
            Console.WriteLine("##############################################");

            Dragon D  = new Dragon("露西亚", SEX.Feman, 24, 15, 100, 100, 2000, 200, 100, 0, 1, 100, 20, 20, null);
            Dragon D2 = new Dragon("伊蕾雅", SEX.Feman, 40, 15, 400, 400, 2000, 200, 100, 100, 1, 100, 100, 100, null);

            TestPlayer.CaptureDragon(D);
            TestPlayer.CaptureDragon(D2);

            AttackStrongItem  Itmp2 = new AttackStrongItem("藏锋丹", TestPlayer, 15, 30, 6);
            DefenseStrongItem Itmp3 = new DefenseStrongItem("宝象丹", TestPlayer, 25, 30, 1);
            WeaponEquipment   S     = new WeaponEquipment("新手剑", TestPlayer, 25);

            TestPlayer.AddItem(Itmp2);
            TestPlayer.AddItem(Itmp3);
            TestPlayer.Equip(S);

            SkillBook bbb = new SkillBook("剑荡八荒", TestPlayer, 1, 0, 3, 10);

            TestPlayer.AddItem(bbb);
            TestPlayer.UseItem(bbb);

            TestPlayer.UpgradeSkill(TestPlayer.GetSkills()[0]);

            Console.WriteLine("##############################################");
            Console.WriteLine(TestPlayer.ToString());
            Console.WriteLine("##############################################");

            Monster Gooo = new Monster("哥布林", SEX.Man, 1, 10, 8, 2, 50, 0, 100, 0, 40, 10, 100);

            while (!TestPlayer.dead && !Gooo.dead)
            {
                if (!TestPlayer.dead)
                {
                    TestPlayer.ATTACK(Gooo, TestPlayer.GetSkills()[0]);
                    TestPlayer.GetMyDragons()[0].ATTACK(Gooo);
                }
                else
                {
                    break;
                }
                if (!Gooo.dead)
                {
                    Gooo.ATTACK(TestPlayer);
                }
                else
                {
                    break;
                }
            }
            TestPlayer.KillMonster(Gooo);
            //TestPlayer.AddItem(bbb);
            //TestPlayer.UseItem(bbb);
            Console.WriteLine(TestPlayer.ToString());
            Console.WriteLine("===============");
            Storage.SetData(fileName, TestPlayer, binder);
            Player TestPlayer2 = (Player)Storage.GetData(fileName, typeof(Player), binder);

            Console.WriteLine("Reload!!!!!!!!!!!!!!!!!!!!!!!!");
            Console.WriteLine(TestPlayer2.ToString());
        }