public override void Init(MyObjectBuilder_EntityBase objectBuilder) { this._objectBuilder = objectBuilder; // Log.Info("A missile Control turret was created"); try { GuidedMissileSingleton.GetInstance().AddTurretToSet(Entity); } catch { Log.Info("apparently entity or something else was null...tracking"); Log.Info("GuidedMissileSingleton.GetInstance: " + GuidedMissileSingleton.GetInstance()); Log.Info("Entity: " + Entity); } Entity.NeedsUpdate |= MyEntityUpdateEnum.EACH_10TH_FRAME; Entity.NeedsUpdate |= MyEntityUpdateEnum.EACH_100TH_FRAME; }
protected virtual void GuideMissiles(HashSet <IMyEntity> missileSet) { if (missileSet == null) { return; } if (missileSet.Count == 0) { return; } Action <IMyEntity> onExplode = OnExplodeMissile; //Hook for implementation of abstract method foreach (IMyEntity ent in missileSet) { var target = GetTarget(ent); if (target != null) { GuidedMissileSingleton.GetInstance().AddMissileToDict(ent, target, SafetyTimer, DeathTimer, TurningSpeed, onExplode, HasPhysicsSteering); } } }