private void Reset() { List <Type> partsType = new List <Type>(); var componentDictionary = new Dictionary <Type, Object>(); WeaponSystemUtility.GetPartTypes(this, gameObject.transform, componentDictionary, weaponLogicObjectList); }
public override void OnInspectorGUI() { base.OnInspectorGUI(); if (GUILayout.Button("Get required components")) { WeaponSystemUtility.FillRequirements <WeaponRequireComponentAttribute>(weapon); } }
protected virtual void Awake() { logicListField = WeaponSystemUtility.GetAllFieldsWithAttribute(this.GetType(), typeof(LogicListAttribute)); for (int i = 0; i < weaponLogicObjectList.Count; i++) { objectFieldList.Add(new ObjectFields <InitializeWeaponComponentAttribute>(weaponLogicObjectList[i])); } objectFieldList.Add(new ObjectFields <InitializeWeaponComponentAttribute>(this)); WeaponSystemUtility.FillWeaponLogicList(this, logicListField, weaponLogicObjectList.ToArray()); }
public virtual void Initialize(params object[] data) { for (int i = 0; i < objectFieldList.Count; i++) { WeaponSystemUtility.FillListOfFields(objectFieldList[i].FieldsOwner, objectFieldList[i].FieldsToInitialize, data); } for (int i = 0; i < _weaponInitialization.Count; i++) { _weaponInitialization[i].Initialize(data); } WeaponSystemUtility.FillWeaponLogicList(this, logicListField, data); }