Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
-1
Question by shortyzsly · Oct 25, 2012 at 12:48 PM · mmoskills

The type 'ModifyingAttribute' does not contain a constructor that takes '2' arguments.

Heres a copy of my code in which i am receiving the errors.

 using UnityEngine;
 using System.Collections;
 using System;                    //added to acces enum class.
 
 public class BaseCharacter : MonoBehaviour {
     private string _name;
     private int _level;
     private uint _freeExp;
     
     private Attribute[] _primaryAttribute;
     private Vital[] _vital;
     private Skill[] _skill;
     
     public void Awake() {
         _name = string.Empty;
         _level = 0;
         _freeExp = 0;
         
         _primaryAttribute = new Attribute[Enum.GetValues(typeof(AttributeName)).Length];
         _vital = new Vital[Enum.GetValues(typeof(VitalName)).Length];
         _skill = new Skill[Enum.GetValues(typeof(SkillName)).Length];
         
         SetupPrimaryAttributes();
         SetupVitals();
         SetupSkills();
     }
         
     
     public string Name {
         get { return _name; }
         set{ _name = value; }    
     }    
         public int Level {
         get { return _level; }
         set{ _level = value; }
     }        
         public uint FreeExp {
         get { return _freeExp; }
         set{ _freeExp = value; }
     }
     
     public void AddExp(uint exp) {
         _freeExp += exp;
         
         CalculateLevel();
     }
     //take average of all of players skills and assign as player level
     
     public void CalculateLevel() {
     
     }
     
     private void SetupPrimaryAttributes() {
         for(int cnt = 0; cnt < _primaryAttribute.Length; cnt++) {
             _primaryAttribute[cnt] = new Attribute();
         }
     }
     
     private void SetupVitals() {
         for(int cnt = 0; cnt < _vital.Length; cnt++) {
             _vital[cnt] = new Vital();
         }
     }
     
     private void SetupSkills() {
         for(int cnt = 0; cnt < _skill.Length; cnt++) {
             _skill[cnt] = new Skill();
         }
     }
     
         public Attribute GetPrimaryAttribute(int index) {
         return _primaryAttribute[index];
     }
     
     public Vital GetVital(int index) {
         return _vital[index];
     }
     
     public Skill GetSkill(int index) {
         return _skill[index];
     }
     private void SetupVitalModifiers() {
         //health
         GetVital((int)VitalName.Health).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Strength), .5f));
         //energy
         GetVital((int)VitalName.Energy).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Constitution), 1));
         //mana
         GetVital((int)VitalName.Mana).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Willpower), 1));
 }
 
     private void SetupSkillModifiers() {
         //Melee offence
         GetSkill((int)SkillName.Melee_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Strength), .33f));
         GetSkill((int)SkillName.Melee_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Dexterity), .33f));        
         //Melee defence
         GetSkill((int)SkillName.Melee_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Speed), .33f));
         GetSkill((int)SkillName.Melee_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Constitution), .33f));
         //Magic offence
         GetSkill((int)SkillName.Magic_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Focus), .33f));
         GetSkill((int)SkillName.Magic_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Willpower), .33f));
         //Magic defence
         GetSkill((int)SkillName.Magic_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Focus), .33f));
         GetSkill((int)SkillName.Magic_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Willpower), .33f));
         //Ranged offence
         GetSkill((int)SkillName.Ranged_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Focus), .33f));
         GetSkill((int)SkillName.Ranged_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Speed), .33f));
         //Ranged defence
         GetSkill((int)SkillName.Ranged_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Speed), .33f));
         GetSkill((int)SkillName.Ranged_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Dexterity), .33f));
     }
     
     public void StatUpdate() {
         for(int cnt = 0; cnt < _vital.Length; cnt++)
             _vital[cnt].Update();
         
         for(int cnt = 0; cnt < _skill.Length; cnt++)
             _skill[cnt].Update();
     }    
         
 }


 ***private void SetupVitalModifiers() {
        //health
        GetVital((int)VitalName.Health).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Strength), .5f));***

Apparently its that line. Line 84 :)

Here's a copy of my other cSharp file that contains the modifiying attribute.

 using System.Collections.Generic;
     
 public class ModifiedStat : BaseStat {
     private List<ModifyingAttribute> _mods;        //A list of Attributes that modify this stat
     private int _modValue;                        //The amount added to the baseValue from the modifers.
     
     public ModifiedStat() {
         _mods = new List<ModifyingAttribute>();
         _modValue = 0;
 }
     
     public void AddModifier( ModifyingAttribute mod) {
     _mods.Add(mod);        
 }
     
     private void CalculateModValue() {
         _modValue = 0;
         
         if(_mods.Count > 0)
             foreach(ModifyingAttribute att in _mods)
             _modValue += (int)(att.attribute.AdjustedBaseValue * att.ratio);
     }
             
             public new int AdjustedBaseValue {
             get{ return BaseValue + BuffValue  + _modValue; }
     }
         
         public void Update() {
             CalculateModValue();
     }
 }
         
         
     
 public struct ModifyingAttribute {
     public Attribute attribute;
     public float ratio;
 }
Comment
Add comment · Show 3
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Graham-Dunnett ♦♦ · Oct 25, 2012 at 01:28 PM 0
Share

What's $$anonymous$$odifyingAttribute? Where's that defined? What makes you think it takes two arguments?

avatar image Dave-Carlile · Oct 25, 2012 at 01:32 PM 0
Share

Please identify the specific line where the error occurs. Also, where is the $$anonymous$$odifyingAttribute class defined? Look at the contructors in that class - apparently none of them take 2 parameters.

avatar image shortyzsly · Oct 25, 2012 at 05:25 PM 0
Share

I've edited my question to include any extra data that is important. Anything else you need please ask and it'll be added.

$$anonymous$$y scripts consist of BaseCharacter.cs $$anonymous$$odifiedStat.cs *BaseStat.cs *Vital.cs *Skill.cs

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by Dave-Carlile · Oct 25, 2012 at 06:07 PM

Your ModifyingAttribute struct doesn't have a constructor, yet you're calling one. Either add a constructor that takes the two parameters you're passing, or initialize the values like this...

 new ModifyingAttribute { attribute = ..., ratio = .5f }


Obviously you'll need to replace the "..." with the actual value, which in your case appears to be the result of a function call.

Comment
Add comment · Show 3 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image shortyzsly · Dec 02, 2013 at 07:03 PM 0
Share

Thanks for your answer. I've had to wipe the hard drive this project was contained on however I wasn't far into it so i'm not too annoyed at the loss. I've a horror game in the works that's more impressive so far that i shall continue work on. Thanks again for the answer.

avatar image Sisso · Dec 02, 2013 at 07:05 PM 0
Share

@shortyzsly, I have convert your answer into a comment. Please, use comments for comments, answers for answers.

avatar image shortyzsly · Dec 04, 2013 at 04:53 PM 0
Share

@Sisso apologies i always forget

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

12 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

level up script please help 1 Answer

How do skills affect damage you can do 2 Answers

It says "Null reference exception : Object reference not set to an instance of an object" 2 Answers

animation help with falling when not grounded? 0 Answers

How make an Interaction with object like the last of us? 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges