- Home /
Inherited class, trying to overwrite variable.
So I have two classes. In one, any Motor variable can be used, but in the latter one, I only want CharacterMotors on that variable. Yes, while in the Setter, I could simply limit it only to allowing CharacterMotors, but I have to rely on references to the CharacterMotor class.
I keep getting "The type CharacterMotor' conflicts with the imported type
CharacterMotor'. Ignoring the imported type definition.", and whenever I try to reference the CharacterMotor, I get an errors about the object not being set to an instance of the object.
How can I override the main class's _motor with my new _motor?
public class MotorState : MonoBehaviour {
[SerializeField]
protected Motor _motor;
public Motor motor {
get { return _motor; }
set { _motor = value; }
}
}
public class BasicCharacterMotion : MotorState {
protected new CharacterMotor _motor;
public new CharacterMotor motor {
get { return _motor; }
set { _motor = value; }
}
}
Have you tried using 'override' to declare your property rather than 'new'? This question is probably out of my league, but this article seems like it could be helpful:
http://msdn.microsoft.com/en-us/library/ms173153%28v=vs.80%29.aspx
Your answer
Follow this Question
Related Questions
Can I call a class's method which inherit monobehaviour by a normal class? 0 Answers
C# Conception - Hide inherited members and functions 1 Answer
C# Question - Do I Have to inherit from MonoBehaviour? What happens if I don't? 2 Answers
Overriding an inherited Enum? 1 Answer
C# Inheritance, base class attributes, override and null object 1 Answer