コード例 #1
0
 // Use this for initialization
 void Start()
 {
     body                    = transform.parent.Find("Base").gameObject;
     turretBase              = transform.parent.Find("TurretBase").gameObject;
     barrelBase              = transform.parent.Find("BarrelBase").gameObject;
     wheelController         = transform.parent.GetComponent <WheelControl>();
     turretController        = turretBase.transform.GetComponent <TurretSolver>();
     gunTarget               = turretBase.transform.position + turretBase.transform.forward * gunTargetDist;
     turretController.target = Vector3.zero;
     crosshairs              = GetComponentsInChildren <LineRenderer>();
     lastTransform           = turretBase.transform.position;
     barrelEnd               = transform.parent.Find("Barrel").gameObject;
     headerIcon              = transform.Find("TurretHeading").gameObject;
     gunCamera               = turretBase.transform.Find("Camera").gameObject.GetComponent <Camera>();
     fireCalc                = GetComponent <FireControl>();
     if (playerControlled)
     {
         //barrelBase.GetComponent<HingeJoint>().useMotor = true;
         turretBase.GetComponent <HingeJoint>().useMotor = true;
     }
 }
コード例 #2
0
        public Program()
        {
            // Prioritize the given cockpit name
            rc = GetBlock <IMyShipController>(cockpitName, true);
            if (rc == null) // Second priority cockpit
            {
                rc = GetBlock <IMyCockpit>();
            }
            if (rc == null) // Third priority remote control
            {
                rc = GetBlock <IMyRemoteControl>();
            }
            if (rc == null) // No cockpits found.
            {
                throw new Exception("No cockpit/remote control found. Set the cockpitName field in settings.");
            }

            wheels = new WheelControl(rc, tickSpeed, GetBlocks <IMyMotorSuspension>());

            leaderListener = IGC.RegisterBroadcastListener(transmitTag);
            leaderListener.SetMessageCallback("");
            commandListener = IGC.RegisterBroadcastListener(transmitCommandTag);
            commandListener.SetMessageCallback("");


            configurations["default"] = defaultOffset;
            offset = defaultOffset;
            LoadStorage();

            if (tickSpeed == UpdateFrequency.Update10)
            {
                echoFrequency = 10;
            }
            else if (tickSpeed == UpdateFrequency.Update100)
            {
                echoFrequency = 1;
            }
            Echo("Ready.");
        }
コード例 #3
0
        public IEnumerator <bool> Init()
        {
            rc  = GridTerminalSystem.GetBlockWithName(RC_Name) as IMyShipController;
            lcd = new Lcd(this);
            Echo("lcd loaded.");
            Echo("[|..........]");
            yield return(true);

            sensor = new Sensor(rc, this);
            Echo("sensor loaded.");
            Echo("[||.........]");
            yield return(true);

            wheel = new WheelControl(rc, this);
            Echo("wheel loaded.");
            Echo("[|||........]");
            yield return(true);

            downforce = new Downforce(rc, this, DOWNFORCENAME);
            Echo("downforce loaded.");
            Echo("[||||.......]");
            yield return(true);

            stopwatch = new Stopwatch(rc);
            Echo("stopwatch loaded.");
            Echo("[|||||......]");
            yield return(true);

            logo = new Logo(this);
            Echo("logo loaded.");
            Echo("[||||||.....]");
            yield return(true);

            transponder = new Transponder(this, PERSONSENSORNAME, ANTENNATAG);
            Echo("transponder loaded.");
            Echo("[|||||||....]");
            yield return(true);

            lights = new Lights(rc, this, REARLIGHTGROUPNAME);
            Echo("lights loaded.");
            Echo("[||||||||...]");
            yield return(true);

            gyroControl = new GyroControl(this, rc);
            Echo("gyrocontrol loaded.");
            Echo("[|||||||||..]");
            yield return(true);

            IMyCameraBlock cam = GridTerminalSystem.GetBlockWithName(CAMERANAME) as IMyCameraBlock;

            surfaceScanner = new SurfaceScanner(cam, rc);
            Echo("surface scanner loaded");
            Echo("[||||||||||.]");
            yield return(true);

            dynamicCOM = new DynamicCOM(rc, this);
            Echo("DynamicCOM loaded");
            Echo("[|||||||||||]");

            Loaded = true;
        }