internal void AddAdditionalTargets(GeometryVision geoVision, List <GeometryType> geoTypes) { var targetingSystems = MakeTargetingSystems(); AssignTargetingInstructions(); //Make all currently supported targeting systems and return them in a tuple like object void AssignTargetingInstructions() { foreach (var geoType in geoTypes) { if (geoType == GeometryType.Objects) { var targetingInstruction = new TargetingInstruction(GeometryType.Objects, settings.defaultTag, (targetingSystems.Item4, targetingSystems.Item1), true, null); geoVision.TargetingInstructions.Add(targetingInstruction); } if (geoType == GeometryType.Lines) { var targetingInstruction = new TargetingInstruction(GeometryType.Lines, settings.defaultTag, (targetingSystems.Item5, targetingSystems.Item2), true, null); geoVision.TargetingInstructions.Add(targetingInstruction); } if (geoType == GeometryType.Vertices) { var targetingInstruction = new TargetingInstruction(GeometryType.Vertices, settings.defaultTag, (targetingSystems.Item6, targetingSystems.Item3), true, null); geoVision.TargetingInstructions.Add(targetingInstruction); } } } }
void ProcessorCheckSceneChanges(GeometryVision geoVision) { foreach (var processor in Processors) { processor.CheckSceneChanges(geoVision); } }
void UpdateEntityOrGameObjectVisibilities(GeometryVision geoVision) { foreach (var geoEye in geoVision.Eyes) { geoEye.UpdateVisibility(geoVision.UseBounds); if (geoVision.DebugMode) { EyeDebugger.Debug(geoEye); } } }
public void CreateGeometryVisionRunner(GeometryVision geoVisionComponent) { var geoVisionRunnerGo = CreateGeometryVisionRunnerGameObject(); CreateGeometryVisionRunner(geoVisionRunnerGo, geoVisionComponent); }