void InitializeWeapon(WeaponEquipment item) { PlayerCombatController.Instance.CurrentWeapon = item.ItemPrefab.GetComponent <Weapon>(); GameObject newWeapon = Instantiate(item.ItemPrefab, transform.position, Quaternion.identity); HandleWeaponSpawnPos(ref newWeapon); }
// 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); } }
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); } }
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); } } }
///<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); }
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); }
// 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; }
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; }
public void SetWeapon(WeaponEquipment tmp) { tmp.SetUser(this); weapon = tmp; }
void InitializeWeapon(WeaponEquipment item) { weaponSprite.sprite = item.icon; }
private void GetEquipment() { currentWeapon = EquipmentManager.Instance.GetWeapon(); currentArmor = EquipmentManager.Instance.GetArmor(); }
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()); }