public override void OnStart(PartModule.StartState state)
        {
            base.OnStart(state);

            usingEC = resHandler.inputResources.Count > 0;

            flightID = (int)part.flightID;

            if (complexity > 4)
            {
                complexity = 4;
            }
            else if (complexity < 1)
            {
                complexity = 1;
            }

            if (state == StartState.Editor)
            {
                return;
            }

            if (animated && !string.IsNullOrEmpty(animationName))
            {
                anim = part.FindModelAnimators(animationName)[0];
            }

            if (IsDeployed && animated)
            {
                animator(anim, animationName, 1, 1);
            }

            setupEvents();

            requiredPartList   = SEP_Utilities.parsePartStringList(requiredParts);
            requiredModuleList = SEP_Utilities.parseModuleStringList(requiredModules);

            GameEvents.onVesselSituationChange.Add(sitChange);
            SEP_Utilities.onWindowSpawn.Add(onWindowSpawn);
            SEP_Utilities.onWindowDestroy.Add(onWindowDestroy);
        }