/// <summary> /// Geturns a Facility by its type /// </summary> /// <param name="facilityType"></param> /// <returns></returns> internal KKFacility GetFacility(KKFacilityType facilityType) { foreach (KKFacility facility in myFacilities) { if (facility.facType == facilityType) { return(facility); } } return(null); }
internal void Initialize() { staticInstance = facility.staticInstance; if (this.gameObject == null) { Destroy(this); } if (staticInstance == null) { staticInstance = InstanceUtil.GetStaticInstanceForGameObject(this.gameObject); } if (staticInstance == null) { Log.UserInfo("Cound not determin instance for mouse selector"); Destroy(this); } facType = facility.facType; initialized = true; }
internal virtual KKFacility ParseConfig(ConfigNode cfgNode) { if (!initialized) { InitTypes(); } myFields = allFields[this.GetType().Name]; foreach (var field in myFields.Values) { if (Attribute.IsDefined(field, typeof(CFGSetting))) { ConfigUtil.ReadCFGNode(this, field, cfgNode); } } myProperties = allProperties[this.GetType().Name]; foreach (var field in myProperties.Values) { if (Attribute.IsDefined(field, typeof(CFGSetting))) { ConfigUtil.ReadCFGNode(this, field, cfgNode); } if (field.Name == "OpenCloseState") { defaultState = openString; } } FacilityType = this.GetType().Name; facType = (KKFacilityType)Enum.Parse(typeof(KKFacilityType), FacilityType, true); AttachSelector(); OnPostSetup(); return(this); }