Exemplo n.º 1
0
    //public GameObject loadingImage;

    public void LoadScene(string level)
    {
        Data.noMissions = false;
        System.Collections.Generic.List<Mission> tempList = new System.Collections.Generic.List<Mission>();

        for (int i = 0; i < Data.diplomacyList.Count; i++)
        {
            if (Data.diplomacyList[i].difficulty == Data.currentDifficulty && !Data.diplomacyList[i].isDone)
            {
                tempList.Add(Data.diplomacyList[i]);
            }
        }

        System.Random r = new System.Random();
        int randomIndex = r.Next(0, tempList.Count);
        if (tempList.Count == 0)
        {
            //hotdogs
        }
        else if (!Data.preserveDipMission || !Data.lastDipMission.isListed)
        {
            Debug.Log("Random mission: " + randomIndex + " out of: " + tempList.Count);
            Data.pickedMission = tempList[randomIndex];
            Data.lastDipMission = Data.pickedMission;
            Data.lastDipMission.isListed = true;
        }
        else
        {
            Data.pickedMission = Data.lastDipMission;
        }
        tempList.Clear();
        Data.hitBack = false;
        //loadingImage.SetActive(true);
        Application.LoadLevel(level);
    }
        //TODO simple JSON writer
        //struct Info
        //{
        //    public string Provider { get; set; }
        //}
        public override void ProcessRequest(WebRequest request)
        {
            //We don't need a list here, but I rather get away from the lock quicker.
            var dependencies = new System.Collections.Generic.List<ResourceDependancy>();
            WebServer.ForEachPage((page) =>
            {
                var dpd = page.GetDependencies();
                if (dpd != null)
                {
                    dependencies.AddRange(dpd);
                }
            });

            //Since we are using a list we can make it a bit easier
            request.Writer.Buffer(dependencies.Count);

            foreach (var item in dependencies)
            {
                request.Writer.Buffer((byte)item.Type);
                request.Writer.Buffer(item.Url);
            }

            dependencies.Clear();
            dependencies = null;

            request.WriteOut("application/octet-stream");
        }
        // Pre: No value is NULL
        // Post: output report bytes
        public static byte[] GetUmzugsmitteilung(COR_Reports.ReportFormatInfo formatInfo, string in_ump_uid, string in_sprache)
        {
            string report = "UM_Umzugsmitteilung2.rdl";
            byte[] baReport = null;

            // if (string.IsNullOrEmpty(in_ump_uid)) in_ump_uid = "C38CB749-1EEC-4686-9BBA-F627B9C4E8EC";
            if (string.IsNullOrEmpty(in_sprache)) in_sprache = "DE";

            // formatInfo = new Portal_Reports.ReportFormatInfo(ExportFormat.Word);

            try
            {
                COR_Reports.ReportTools.ReportDataCallback_t myFunc = delegate(COR_Reports.ReportViewer viewer, System.Xml.XmlDocument doc)
                {
                    // viewer["format"] = formatInfo.FormatName;
                    // viewer["extension"] = formatInfo.Extension;
                    // viewer["report"] = report;

                    //string extension = viewer["extension"];
                    ////////////////////////////

                    System.Collections.Generic.List<COR_Reports.ReportParameter> lsParameters =
                        new System.Collections.Generic.List<COR_Reports.ReportParameter>();

                    viewer.SetParameters(lsParameters);
                    lsParameters.Clear();
                    lsParameters = null;

                    {
                        // Add data sources
                        COR_Reports.ReportDataSource rds = new COR_Reports.ReportDataSource();
                        rds.Name = "DataSet1"; //This refers to the dataset name in the RDLC file
                        string strSQL = COR_Reports.ReportTools.GetDataSetDefinition(doc, rds.Name);
                        rds.Value = SQL.GetDataTable(strSQL);

                        strSQL = null;
                        viewer.DataSources.Add(rds);
                    }

                };

                baReport = COR_Reports.ReportTools.RenderReport(report, formatInfo, myFunc);
            }
            catch
            {
                // Basic_SQL.SQL.Log(ex);
                throw;
            }

            // If testing
            if (System.StringComparer.InvariantCultureIgnoreCase.Equals(System.Environment.UserDomainName, "COR"))
            {
                using (System.IO.FileStream fs = System.IO.File.Create(@"D:\" + System.IO.Path.GetFileNameWithoutExtension(report) + formatInfo.Extension))
                {
                    fs.Write(baReport, 0, baReport.Length);
                } // End Using fs
            }

            return baReport;
        }
Exemplo n.º 4
0
        // D:\reportviewerz\2005
        // Depends on TFS://COR-Library\COR_Reports\COR_Reports.csproj
        // Pre: No value is NULL
        // Post: output report bytes
        public static byte[] GetFooter(string report, COR_Reports.ReportFormatInfo formatInfo, string in_aperturedwg, string in_stylizer)
        {
            byte[] baReport = null;

            try
            {
                COR_Reports.ReportTools.ReportDataCallback_t myFunc = delegate(COR_Reports.ReportViewer viewer, System.Xml.XmlDocument doc)
                {
                    // viewer["format"] = formatInfo.FormatName;
                    // viewer["extension"] = formatInfo.Extension;
                    // viewer["report"] = report;

                    //string extension = viewer["extension"];
                    ////////////////////////////

                    System.Collections.Generic.List<COR_Reports.ReportParameter> lsParameters =
                        new System.Collections.Generic.List<COR_Reports.ReportParameter>();

                    lsParameters.Add(new COR_Reports.ReportParameter("in_aperturedwg", in_aperturedwg));
                    lsParameters.Add(new COR_Reports.ReportParameter("in_stylizer", in_stylizer));
                    // lsParameters.Add(new COR_Reports.ReportParameter("datastart", "dateTimePickerStartRaport.Text"));
                    // lsParameters.Add(new COR_Reports.ReportParameter("dataStop", "dateTimePickerStopRaport.Text"));

                    viewer.SetParameters(lsParameters);
                    lsParameters.Clear();
                    lsParameters = null;

                    // Add data sources
                    COR_Reports.ReportDataSource rds = new COR_Reports.ReportDataSource();
                    rds.Name = "DATA_Planinfo"; //This refers to the dataset name in the RDLC file
                    string strSQL = COR_Reports.ReportTools.GetDataSetDefinition(doc, rds.Name);
                    strSQL = strSQL.Replace("@in_aperturedwg", "'" + in_aperturedwg.Replace("'", "''") + "'");
                    strSQL = strSQL.Replace("@in_stylizer", "'" + in_stylizer.Replace("'", "''") + "'");

                    rds.Value = Basic_SQL.SQL.GetDataTable(strSQL);
                    strSQL = null;
                    viewer.DataSources.Add(rds);
                }; // End Sub ReportDataCallback_t

                baReport = COR_Reports.ReportTools.RenderReport(report, formatInfo, myFunc);

            }
            catch (System.Exception ex)
            {
                Basic_SQL.SQL.Log(ex);
                throw;
            }

            // If testing
            if (System.StringComparer.InvariantCultureIgnoreCase.Equals(System.Environment.UserDomainName, "COR"))
            {
                using (System.IO.FileStream fs = System.IO.File.Create(@"D:\" + System.IO.Path.GetFileNameWithoutExtension(report) + formatInfo.Extension))
                {
                    fs.Write(baReport, 0, baReport.Length);
                } // End Using fs
            }

            return baReport;
        }
Exemplo n.º 5
0
        static StackObject *Clear_3(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject *ptr_of_this_method;
            StackObject *__ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.Collections.Generic.List <System.Collections.Generic.KeyValuePair <global::UIEventTrigger, System.Int32> > instance_of_this_method = (System.Collections.Generic.List <System.Collections.Generic.KeyValuePair <global::UIEventTrigger, System.Int32> >) typeof(System.Collections.Generic.List <System.Collections.Generic.KeyValuePair <global::UIEventTrigger, System.Int32> >).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.Clear();

            return(__ret);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Serializes the group furni page.
        /// </summary>
        internal void SerializeGroupFurniPage()
        {
            try
            {
                var userGroups = Plus.GetGame().GetGroupManager().GetUserGroups(Session.GetHabbo().Id);
                Response.Init(LibraryParser.OutgoingRequest("GroupFurniturePageMessageComposer"));

                var responseList = new System.Collections.Generic.List <ServerMessage>();
                foreach (
                    var @group in
                    userGroups.Where(current => current != null).Select(
                        current => Plus.GetGame().GetGroupManager().GetGroup(current.GroupId)))
                {
                    if (@group == null)
                    {
                        continue;
                    }
                    var subResponse = new ServerMessage();
                    subResponse.AppendInteger(@group.Id);
                    subResponse.AppendString(@group.Name);
                    subResponse.AppendString(@group.Badge);
                    subResponse.AppendString(
                        Plus.GetGame().GetGroupManager().SymbolColours.Contains(@group.Colour1)
                            ? ((GroupSymbolColours)
                               Plus.GetGame().GetGroupManager().SymbolColours[@group.Colour1]).Colour
                            : "4f8a00");
                    subResponse.AppendString(
                        Plus.GetGame().GetGroupManager().BackGroundColours.Contains(@group.Colour2)
                            ? ((GroupBackGroundColours)
                               Plus.GetGame().GetGroupManager().BackGroundColours[@group.Colour2]).Colour
                            : "4f8a00");
                    subResponse.AppendBool(@group.CreatorId == Session.GetHabbo().Id);
                    subResponse.AppendInteger(@group.CreatorId);
                    subResponse.AppendBool(@group.HasForum);

                    responseList.Add(subResponse);
                }
                Response.AppendInteger(responseList.Count());
                Response.AppendServerMessages(responseList);

                responseList.Clear();
                responseList = null;

                SendResponse();
            }
            catch (System.Exception e)
            {
                System.Console.WriteLine(e);
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// キーボード操作時のイベントを全て削除します。
        /// </summary>
        public static void ClearEvent()
        {
            if (Events == null)
            {
                return;
            }

            foreach (HookHandler e in Events)
            {
                HookEvent -= e;
            }

            Events.Clear();
        }
        static StackObject *Clear_0(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject *ptr_of_this_method;
            StackObject *__ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.Collections.Generic.List <UnityEngine.Vector3> instance_of_this_method = (System.Collections.Generic.List <UnityEngine.Vector3>) typeof(System.Collections.Generic.List <UnityEngine.Vector3>).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.Clear();

            return(__ret);
        }
        public static TOutput[] Convert <TInput, TOutput>(this System.Collections.Generic.IEnumerable <TInput> e, System.Converter <TInput, TOutput> c)
        {
            if (e.IsNull())
            {
                throw new System.NullReferenceException();
            }
            var list      = new System.Collections.Generic.List <TInput>(e);
            var converted = list.ConvertAll(c);
            var result    = converted.ToArray();

            list.Clear();
            converted.Clear();
            return(result);
        }
Exemplo n.º 10
0
        public override void OnNPCAtJob(ref NPCBase.NPCState state)
        {
            if (worldTypeChecked)
            {
                Vector3 rotate = usedNPC.Position.Vector;
                if (worldType == BuiltinBlocks.MinerJobXN)
                {
                    rotate += Vector3.left;
                }
                else if (worldType == BuiltinBlocks.MinerJobXP)
                {
                    rotate += Vector3.right;
                }
                else if (worldType == BuiltinBlocks.MinerJobZP)
                {
                    rotate += Vector3.forward;
                }
                else if (worldType == BuiltinBlocks.MinerJobZN)
                {
                    rotate += Vector3.back;
                }
                usedNPC.LookAt(rotate);
            }

            ServerManager.SendAudio(position.Vector, "stoneDelete");

            GatherResults.Clear();
            var itemList = ItemTypes.GetType(typeBelow).OnRemoveItems;

            for (int i = 0; i < itemList.Count; i++)
            {
                GatherResults.Add(itemList[i]);
            }

            ModLoader.TriggerCallbacks(ModLoader.EModCallbackType.OnNPCGathered, this as IJob, position.Add(0, -1, 0), GatherResults);

            InventoryItem toShow = ItemTypes.ItemTypeDrops.GetWeightedRandom(GatherResults);

            if (toShow.Amount > 0)
            {
                state.SetIndicator(new Shared.IndicatorState(MiningCooldown, toShow.Type));
            }
            else
            {
                state.SetCooldown(MiningCooldown);
            }

            state.Inventory.Add(GatherResults);
            state.JobIsDone = true;
        }
    private void Update()
    {
        for (var i = 0; i < EmittersToStartListeningTo.Count; ++i)
        {
            EmittersToStartListeningTo[i].AddListener(this);
        }
        EmittersToStartListeningTo.Clear();

        for (var i = 0; i < EmittersToStopListeningTo.Count; ++i)
        {
            EmittersToStopListeningTo[i].RemoveListener(this);
        }
        EmittersToStopListeningTo.Clear();
    }
Exemplo n.º 12
0
        private void button2_Click(object sender, System.EventArgs e)
        {
            int i, n;

            n = Campos.Count;
            for (i = 0; i < n; i++)
            {
                Objetos.CParametro Parametro = this.Campos[i];
                Parametros.Add(Parametro);
                ComboParametros.Items.Add(Parametro.nombre);
            }
            Campos.Clear();
            ComboCampos.Items.Clear();
        }
Exemplo n.º 13
0
        static StackObject *Clear_3(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject *ptr_of_this_method;
            StackObject *__ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.Collections.Generic.List <ILRuntime.Runtime.Intepreter.ILTypeInstance> instance_of_this_method = (System.Collections.Generic.List <ILRuntime.Runtime.Intepreter.ILTypeInstance>) typeof(System.Collections.Generic.List <ILRuntime.Runtime.Intepreter.ILTypeInstance>).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags) 0);
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.Clear();

            return(__ret);
        }
Exemplo n.º 14
0
        static void OnUpdateCallback(ref FloatingObjectPositionUpdateMsg msg, MyNetworkClient sender)
        {
            Debug.Assert(!Sync.IsServer);

            MyEntity entity;

            if (MyEntities.TryGetEntityById(msg.EntityId, out entity))
            {
                MyFloatingObject floatingObject = entity as MyFloatingObject;
                if (floatingObject != null)
                {
                    MatrixD  matrix      = MatrixD.CreateWorld(msg.Position, msg.Forward, msg.Up);
                    Vector3D translation = floatingObject.PositionComp.GetPosition();
                    //Quaternion rotation = Quaternion.CreateFromRotationMatrix(floatingObject.WorldMatrix.GetOrientation());
                    Quaternion rotation = Quaternion.Identity;
                    m_rigidBodyList.Clear();

                    Sandbox.Engine.Physics.MyPhysics.GetPenetrationsShape(floatingObject.Physics.RigidBody.GetShape(), ref translation, ref rotation, m_rigidBodyList, Sandbox.Engine.Physics.MyPhysics.NotCollideWithStaticLayer);

                    //if (m_rigidBodyList.Count == 0 || MyPerGameSettings.EnableFloatingObjectsActiveSync)
                    //{
                    //    floatingObject.PositionComp.SetWorldMatrix(matrix, sender);
                    //}

                    if (floatingObject.Physics != null)
                    {
                        if (m_rigidBodyList.Count == 1 && m_rigidBodyList[0].Body == floatingObject.Physics.RigidBody)
                        {
                            floatingObject.PositionComp.SetWorldMatrix(matrix, sender);
                        }

                        floatingObject.Physics.LinearVelocity  = msg.LinearVelocity;
                        floatingObject.Physics.AngularVelocity = msg.AngularVelocity;
                    }
                }
            }
        }
Exemplo n.º 15
0
        internal FunctionalGroup(EdiTools.EdiFile parent, EdiTools.Index gs, EdiTools.Index ge)
        {
            _parent = parent;

            // gs
            string[] elements = gs.Split();
            _gs.GS01  = elements[1];
            _gs.GS02  = elements[2];
            _gs.GS03  = elements[3];
            _gs.GS04  = elements[4];
            _gs.GS05  = elements[5];
            _gs.GS06  = elements[6];
            _gs.GS07  = elements[7];
            _gs.GS08  = elements[8];
            _gs.Index = gs;

            // ge
            elements  = ge.Split();
            _ge.GE01  = elements[1];
            _ge.GE02  = elements[2];
            _ge.Index = ge;

            // st/se indexes are for getting the start and end of each transaction set in the group
            System.Collections.Generic.List <EdiTools.Index> _stIndexes = new System.Collections.Generic.List <Index>();
            System.Collections.Generic.List <EdiTools.Index> _seIndexes = new System.Collections.Generic.List <Index>();

            System.Collections.Generic.List <EdiTools.Index> segments = new System.Collections.Generic.List <Index>();
            foreach (EdiTools.Index idx in _parent.GetIndexes())
            {
                if (idx.Start <= _gs.Index.Start || idx.Start >= _ge.Index.Start)
                {
                    continue;
                }

                segments.Add(idx);

                if (idx.Name == "ST")
                {
                    _stIndexes.Add(idx);
                }

                if (idx.Name == "SE")
                {
                    _seIndexes.Add(idx);
                    _transactionSetIndexes.Add(segments.ToArray());
                    segments.Clear();
                }
            }
        }
Exemplo n.º 16
0
        public static void TestUseCase()
        {
            var a = new string[] { "a", "b", "c" };
            var list = new System.Collections.Generic.List<string>(a);

            list.AddRange(a);

            Assert.AreEqual(a.Length, 3, "Bridge503: array.Length is correct");
            Assert.AreEqual(list.Count, 6, "Bridge503: list.Count is correct");

            list.Clear();

            Assert.AreEqual(a.Length, 3, "Bridge503: array.Length is correct");
            Assert.AreEqual(list.Count, 0, "Bridge503: list.Count is correct");
        }
Exemplo n.º 17
0
 protected override void Execute(System.Collections.Generic.List <GameEntity> entities)
 {
     foreach (var e in entities)
     {
         foreach (var listenerEntity in _listeners.GetEntities(_entityBuffer))
         {
             _listenerBuffer.Clear();
             _listenerBuffer.AddRange(listenerEntity.fSMProcessingListener.value);
             foreach (var listener in _listenerBuffer)
             {
                 listener.OnFSMProcessing(e);
             }
         }
     }
 }
Exemplo n.º 18
0
 protected override void Execute(System.Collections.Generic.List <TestEntity> entities)
 {
     foreach (var e in entities)
     {
         foreach (var listenerEntity in _listeners.GetEntities(_entityBuffer))
         {
             _listenerBuffer.Clear();
             _listenerBuffer.AddRange(listenerEntity.AnyFlagEventRemovedListener.value);
             foreach (var listener in _listenerBuffer)
             {
                 listener.OnAnyFlagEventRemoved(e);
             }
         }
     }
 }
Exemplo n.º 19
0
        public void makeTurns()
        {
            Turns.Clear();

            int x = CurrentInitiative;

            if (Enabled)
            {
                while (x > 0)
                {
                    Turns.Add(x);
                    x -= 10;
                }
            }
        }
Exemplo n.º 20
0
        public virtual void Merge()
        {
            System.Collections.Generic.IList <object> ok           = new System.Collections.Generic.List <object>();
            Net.Vpc.Upa.Config.DecorationValue[]      alternatives = GetAlternatives();
            foreach (Net.Vpc.Upa.Config.DecorationValue alternative in alternatives)
            {
                Net.Vpc.Upa.Impl.Config.Decorations.DecorationPrimitiveValue d = (Net.Vpc.Upa.Impl.Config.Decorations.DecorationPrimitiveValue)alternative;
                switch (d.GetConfig().GetConfigAction())
                {
                case Net.Vpc.Upa.Config.ConfigAction.DELETE:
                {
                    ok.Clear();
                    break;
                }

                case Net.Vpc.Upa.Config.ConfigAction.MERGE:
                case Net.Vpc.Upa.Config.ConfigAction.REPLACE:
                {
                    ok.Clear();
                    ok.Add(d.GetValue());
                    break;
                }
                }
            }
            Net.Vpc.Upa.Config.DecorationValue last = alternatives[alternatives.Length - 1];
            if ((ok.Count == 0))
            {
                @value     = null;
                configInfo = new Net.Vpc.Upa.Config.ConfigInfo(last.GetConfig().GetOrder(), Net.Vpc.Upa.Config.ConfigAction.DELETE, last.GetConfig().GetPersistenceGroup(), last.GetConfig().GetPersistenceUnit());
            }
            else
            {
                @value     = ok[(ok).Count - 1];
                configInfo = new Net.Vpc.Upa.Config.ConfigInfo(last.GetConfig().GetOrder(), Net.Vpc.Upa.Config.ConfigAction.MERGE, last.GetConfig().GetPersistenceGroup(), last.GetConfig().GetPersistenceUnit());
            }
        }
        protected override void _Shutdown()
        {
            lock (_Disposables)
            {
                foreach (var disposable in _Disposables)
                {
                    disposable.Dispose();
                }
            }

            lock (_Disposables)
                _Disposables.Clear();

            _Service.Dispose();
        }
 protected override void Execute(System.Collections.Generic.List <GameEntity> entities)
 {
     foreach (var e in entities)
     {
         foreach (var listenerEntity in _listeners.GetEntities(_entityBuffer))
         {
             _listenerBuffer.Clear();
             _listenerBuffer.AddRange(listenerEntity.anyBalloonLineInstanceEventListener.value);
             foreach (var listener in _listenerBuffer)
             {
                 listener.OnAnyBalloonLineInstanceEvent(e);
             }
         }
     }
 }
Exemplo n.º 23
0
        static public void AddSkipDirectiveToBaseOptions(Utilities.CommandLineBuilder commandLineBuilder, Framework.ITaskItem[] skipRuleItems, string valueQuoteChar)
        {
            if (commandLineBuilder != null &&
                skipRuleItems != null)   // Dev10 bug 496639 foreach will throw the exception if the replaceRuleItem is null
            {
                System.Collections.Generic.List <string> arguments = new System.Collections.Generic.List <string>(6);

                foreach (Framework.ITaskItem item in skipRuleItems)
                {
                    arguments.Clear();
                    MsDeploy.Utility.BuildArgumentsBaseOnEnumTypeName(item, arguments, typeof(MsDeploy.SkipRuleMetadata), valueQuoteChar);
                    commandLineBuilder.AppendSwitchUnquotedIfNotNull("-skip:", arguments.Count == 0? null : string.Join(",", arguments.ToArray()));
                }
            }
        }
Exemplo n.º 24
0
 protected override void Execute(System.Collections.Generic.List <InputEntity> entities)
 {
     foreach (var e in entities)
     {
         foreach (var listenerEntity in _listeners.GetEntities(_entityBuffer))
         {
             _listenerBuffer.Clear();
             _listenerBuffer.AddRange(listenerEntity.brustModeListener.value);
             foreach (var listener in _listenerBuffer)
             {
                 listener.OnBrustMode(e);
             }
         }
     }
 }
Exemplo n.º 25
0
        public static void TestUseCase()
        {
            var a    = new string[] { "a", "b", "c" };
            var list = new System.Collections.Generic.List <string>(a);

            list.AddRange(a);

            Assert.AreEqual(3, a.Length, "Bridge503: array.Length is correct");
            Assert.AreEqual(6, list.Count, "Bridge503: list.Count is correct");

            list.Clear();

            Assert.AreEqual(3, a.Length, "Bridge503: array.Length is correct");
            Assert.AreEqual(0, list.Count, "Bridge503: list.Count is correct");
        }
 protected override void Execute(System.Collections.Generic.List <GameEntity> entities)
 {
     foreach (var e in entities)
     {
         foreach (var listenerEntity in _listeners.GetEntities(_entityBuffer))
         {
             _listenerBuffer.Clear();
             _listenerBuffer.AddRange(listenerEntity.anyTechnologyLeaderListener.value);
             foreach (var listener in _listenerBuffer)
             {
                 listener.OnAnyTechnologyLeader(e);
             }
         }
     }
 }
 protected override void Execute(System.Collections.Generic.List <GameStateEntity> entities)
 {
     foreach (var e in entities)
     {
         foreach (var listenerEntity in _listeners.GetEntities(_entityBuffer))
         {
             _listenerBuffer.Clear();
             _listenerBuffer.AddRange(listenerEntity.applyJumpListener.value);
             foreach (var listener in _listenerBuffer)
             {
                 listener.OnApplyJump(e);
             }
         }
     }
 }
 protected override void Execute(System.Collections.Generic.List <GameEntity> entities)
 {
     foreach (var e in entities)
     {
         foreach (var listenerEntity in _listeners.GetEntities(_entityBuffer))
         {
             _listenerBuffer.Clear();
             _listenerBuffer.AddRange(listenerEntity.anyShootingTrajectoryRemovedListener.value);
             foreach (var listener in _listenerBuffer)
             {
                 listener.OnAnyShootingTrajectoryRemoved(e);
             }
         }
     }
 }
Exemplo n.º 29
0
    public override void OnEnable()
    {
        roomCollider = GetComponent <UnityEngine.Collider>();

        SetRoom();

        // if objects entered the room while disabled, enter them now
        for (var i = 0; i < roomAwareObjectsDetectedWhileDisabled.Count; ++i)
        {
            AkRoomAwareManager.ObjectEnteredRoom(roomAwareObjectsDetectedWhileDisabled[i], this);
        }

        roomAwareObjectsDetectedWhileDisabled.Clear();
        base.OnEnable();
    }
Exemplo n.º 30
0
        /// <summary>
        /// Clears the selection list and repaints the graph if neccessary
        /// </summary>
        public void ClearSelections()
        {
            bool bRepaint = (m_SelectedObjects.Count > 0); // is a repaint neccessary

            m_SelectedObjects.Clear();

            EndMovingObjects();

            // this.m_MouseState = new ObjectPointerMouseHandler();

            if (bRepaint)
            {
                _grac.RepaintGraphArea();
            }
        }
Exemplo n.º 31
0
        private IEnumerator getVoices()
        {
            voices.Clear();

            string args = "--voices" + (string.IsNullOrEmpty(Util.Config.TTS_LINUX_DATA) ? string.Empty : " --path=\"" + Util.Config.TTS_LINUX_DATA + '"');

#if ENABLE_IL2CPP && (UNITY_STANDALONE_WIN || UNITY_EDITOR_WIN)
            Common.Util.CTProcess process = new Common.Util.CTProcess();
#else
            System.Diagnostics.Process process = new System.Diagnostics.Process();
#endif
            process.StartInfo.FileName  = Util.Config.TTS_LINUX;
            process.StartInfo.Arguments = args;
            process.OutputDataReceived += process_OutputDataReceived;

            System.Threading.Thread worker = new System.Threading.Thread(() => startProcess(ref process, Util.Constants.DEFAULT_TTS_KILL_TIME, true));
            worker.Start();

            do
            {
                yield return(null);
            } while (worker.IsAlive || !process.HasExited);

            if (process.ExitCode == 0)
            {
                //do nothing
            }
            else
            {
                using (System.IO.StreamReader sr = process.StandardError)
                {
                    string errorMessage = "Could not get any voices: " + process.ExitCode + System.Environment.NewLine + sr.ReadToEnd();
                    Debug.LogError(errorMessage);
                    onErrorInfo(null, errorMessage);
                }
            }

            process.Dispose();

            cachedVoices = voices.OrderBy(s => s.Name).ToList();

            if (Util.Constants.DEV_DEBUG)
            {
                Debug.Log("Voices read: " + cachedVoices.CTDump());
            }

            onVoicesReady();
        }
Exemplo n.º 32
0
        public static System.Collections.Generic.List<Runway> GetRunwayListFromConfig(string sSettingURL)
        {
            System.Collections.Generic.List<Runway> runwayList = new System.Collections.Generic.List<Runway>();
            runwayList.Clear();

            ConfigNode runways = ConfigNode.Load(KSPUtil.ApplicationRootPath + sSettingURL);
            foreach (ConfigNode node in runways.GetNodes("Runway"))
            {
                if (GlobalVariables.Settings.enableDebugging) Debug.Log("NavUtil: Found Runway Node");

                try
                {
                    Runway rwy = new Runway();

                    rwy.ident = node.GetValue("ident");

                    if (GlobalVariables.Settings.enableDebugging) Debug.Log("NavUtil: Loading " + rwy.ident);

                    rwy.shortID = node.GetValue("shortID");
                    if (rwy.shortID.Length > 4)
                        rwy.shortID.Remove(4);

                    rwy.hdg = float.Parse(node.GetValue("hdg"));
                    rwy.body = node.GetValue("body");
                    rwy.altMSL = float.Parse(node.GetValue("altMSL"));
                    rwy.gsLatitude = float.Parse(node.GetValue("gsLatitude"));
                    rwy.gsLongitude = float.Parse(node.GetValue("gsLongitude"));
                    rwy.locLatitude = float.Parse(node.GetValue("locLatitude"));
                    rwy.locLongitude = float.Parse(node.GetValue("locLongitude"));

                    rwy.outerMarkerDist = float.Parse(node.GetValue("outerMarkerDist"));
                    rwy.middleMarkerDist = float.Parse(node.GetValue("middleMarkerDist"));
                    rwy.innerMarkerDist = float.Parse(node.GetValue("innerMarkerDist"));

                    runwayList.Add(rwy);

                    if (GlobalVariables.Settings.enableDebugging) Debug.Log("NavUtil: Found " + rwy.ident);
                }
                catch (Exception)
                {
                    if (GlobalVariables.Settings.enableDebugging) Debug.Log("NavUtil: Error loading runway");
                    throw;
                }

            }

            return runwayList;
        }
Exemplo n.º 33
0
 protected override void Execute(System.Collections.Generic.List <GameEntity> entities)
 {
     foreach (var e in entities)
     {
         var component = e.gameLoadPrefab;
         foreach (var listenerEntity in _listeners.GetEntities(_entityBuffer))
         {
             _listenerBuffer.Clear();
             _listenerBuffer.AddRange(listenerEntity.gameLoadPrefabListener.value);
             foreach (var listener in _listenerBuffer)
             {
                 listener.OnGameLoadPrefab(e, component.path);
             }
         }
     }
 }
Exemplo n.º 34
0
        public static System.Collections.Generic.List<float> GetGlideslopeListFromConfig(string sSettingURL)
        {
            System.Collections.Generic.List<float> gsList = new System.Collections.Generic.List<float>();
            gsList.Clear();

            ConfigNode gs = ConfigNode.Load(KSPUtil.ApplicationRootPath + sSettingURL);
            foreach (ConfigNode node in gs.GetNodes("Glideslope"))
            {
                float f = new float();

                f = float.Parse(node.GetValue("glideslope"));

                gsList.Add(f);
            }
            return gsList;
        }
Exemplo n.º 35
0
 protected override void Execute(System.Collections.Generic.List <GameEntity> entities)
 {
     foreach (var e in entities)
     {
         var component = e.boardOffset;
         foreach (var listenerEntity in _listeners.GetEntities(_entityBuffer))
         {
             _listenerBuffer.Clear();
             _listenerBuffer.AddRange(listenerEntity.anyBoardOffsetListener.value);
             foreach (var listener in _listenerBuffer)
             {
                 listener.OnAnyBoardOffset(e, component.Indented);
             }
         }
     }
 }
 protected override void Execute(System.Collections.Generic.List <GameEntity> entities)
 {
     foreach (var e in entities)
     {
         var component = e.gameEventContainer;
         foreach (var listenerEntity in _listeners.GetEntities(_entityBuffer))
         {
             _listenerBuffer.Clear();
             _listenerBuffer.AddRange(listenerEntity.anyGameEventContainerListener.value);
             foreach (var listener in _listenerBuffer)
             {
                 listener.OnAnyGameEventContainer(e, component.Events);
             }
         }
     }
 }
Exemplo n.º 37
0
 protected override void Execute(System.Collections.Generic.List <TestEntity> entities)
 {
     foreach (var e in entities)
     {
         var component = e.uniqueEvent;
         foreach (var listenerEntity in _listeners.GetEntities(_entityBuffer))
         {
             _listenerBuffer.Clear();
             _listenerBuffer.AddRange(listenerEntity.uniqueEventListener.value);
             foreach (var listener in _listenerBuffer)
             {
                 listener.OnUniqueEvent(e, component.value);
             }
         }
     }
 }
Exemplo n.º 38
0
    //public GameObject loadingImage;
    public void LoadScene(string level)
    {
        System.Collections.Generic.List<Mission> tempList = new System.Collections.Generic.List<Mission>();

        for(int i=0; i<Data.militaryList.Count; i++)
        {
            if (Data.militaryList[i].difficulty == Data.currentDifficulty)
            {
                tempList.Add(Data.militaryList[i]);
            }
        }

        System.Random r = new System.Random();
        int randomIndex = r.Next(0, tempList.Count);
        Debug.Log("Random mission: " + randomIndex + " out of: " +tempList.Count);
        Data.pickedMission = tempList[randomIndex];
        tempList.Clear();

        //loadingImage.SetActive(true);
        Application.LoadLevel(level);
    }
Exemplo n.º 39
0
        public void ListRNDTest()
        {
            var controlList = new System.Collections.Generic.List<int>();
            var testList = new MyList<int>();

            var r = new System.Random();
            for (int i = 0; i < 1000; i++)
            {
                var next = r.Next();
                controlList.Add(next);
                testList.Add(next);
                Assert.AreEqual(controlList.Count, testList.Count);
            }
            for (int i = 0; i < 1000; i++)
            {
                Assert.IsTrue(testList.IndexOf(controlList[i]) == i);
            }
            for (int i = 0; i < controlList.Count; i++)
            {
                if (r.Next() < int.MaxValue / 2)
                {
                    testList.RemoveAt(i);
                    controlList.RemoveAt(i);
                }
                else
                {
                    var newItem = r.Next();
                    testList.Insert(i, newItem);
                    controlList.Insert(i, newItem);
                }
            }
            Assert.AreEqual(controlList.Count, testList.Count);

            foreach (var itm in controlList){
                Assert.IsTrue(testList.Contains(itm));
            }
            for (int i = 0; i < controlList.Count / 2; i++ )
            {
                var e = controlList[i];
                controlList.Remove(e);
                testList.Remove(e);
            }
            int[] controllarray = new int[controlList.Count+1];
            int[] testArray = new int[testList.Count+1];
            controllarray[0] = r.Next();
            testArray[0] = controllarray[0];
            controlList.CopyTo(controllarray, 1);
            testList.CopyTo(testArray, 1);

            var q = from a in testArray
                    join b in controllarray on a equals b
                    select a;

            Assert.IsTrue(testArray.Length == controllarray.Length && q.Count() == controllarray.Length);
            controlList.Clear();
            testList.Clear();
            Assert.AreEqual(controlList.Count,testList.Count);
        }
Exemplo n.º 40
0
        /// <summary>
        /// Loads the thumbnail of the loaded image file, if any.
        /// </summary>
        /// <param name="binReader">A BinaryReader that points the loaded file byte stream.</param>
        /// <param name="pfPixelFormat">A PixelFormat value indicating what pixel format to use when loading the thumbnail.</param>
        private void LoadThumbnail(BinaryReader binReader, PixelFormat pfPixelFormat)
        {
            // read the Thumbnail image data into a byte array
            // take into account stride has to be a multiple of 4
            // use padding to make sure multiple of 4

            byte[] data = null;
            if (binReader != null && binReader.BaseStream != null && binReader.BaseStream.Length > 0 && binReader.BaseStream.CanSeek == true)
            {
                if (this.ExtensionArea.PostageStampOffset > 0)
                {

                    // seek to the beginning of the image data using the ImageDataOffset value
                    binReader.BaseStream.Seek(this.ExtensionArea.PostageStampOffset, SeekOrigin.Begin);

                    int iWidth = (int)binReader.ReadByte();
                    int iHeight = (int)binReader.ReadByte();

                    int iStride = ((iWidth * (int)this.objTargaHeader.PixelDepth + 31) & ~31) >> 3; // width in bytes
                    int iPadding = iStride - (((iWidth * (int)this.objTargaHeader.PixelDepth) + 7) / 8);

                    System.Collections.Generic.List<System.Collections.Generic.List<byte>> rows = new System.Collections.Generic.List<System.Collections.Generic.List<byte>>();
                    System.Collections.Generic.List<byte> row = new System.Collections.Generic.List<byte>();

                    byte[] padding = new byte[iPadding];
                    MemoryStream msData = null;
                    bool blnEachRowReverse = false;
                    bool blnRowsReverse = false;

                    using (msData = new MemoryStream())
                    {
                        // get the size in bytes of each row in the image
                        int intImageRowByteSize = iWidth * ((int)this.objTargaHeader.PixelDepth / 8);

                        // get the size in bytes of the whole image
                        int intImageByteSize = intImageRowByteSize * iHeight;

                        // thumbnails are never compressed
                        for (int i = 0; i < iHeight; i++)
                        {
                            for (int j = 0; j < intImageRowByteSize; j++)
                            {
                                row.Add(binReader.ReadByte());
                            }
                            rows.Add(row);
                            row = null;
                            row = new System.Collections.Generic.List<byte>();
                        }

                        switch (this.objTargaHeader.FirstPixelDestination)
                        {
                            case FirstPixelDestination.TOP_LEFT:
                                break;

                            case FirstPixelDestination.TOP_RIGHT:
                                blnRowsReverse = false;
                                blnEachRowReverse = false;
                                break;

                            case FirstPixelDestination.BOTTOM_LEFT:
                                break;

                            case FirstPixelDestination.BOTTOM_RIGHT:
                            case FirstPixelDestination.UNKNOWN:
                                blnRowsReverse = true;
                                blnEachRowReverse = false;

                                break;
                        }

                        if (blnRowsReverse == true)
                            rows.Reverse();

                        for (int i = 0; i < rows.Count; i++)
                        {
                            if (blnEachRowReverse == true)
                                rows[i].Reverse();

                            byte[] brow = rows[i].ToArray();
                            msData.Write(brow, 0, brow.Length);
                            msData.Write(padding, 0, padding.Length);
                        }
                        data = msData.ToArray();
                    }

                    if (data != null && data.Length > 0)
                    {
                        this.ThumbnailByteHandle = GCHandle.Alloc(data, GCHandleType.Pinned);
                        this.bmpImageThumbnail = new Bitmap(iWidth, iHeight, iStride, pfPixelFormat,
                                                        this.ThumbnailByteHandle.AddrOfPinnedObject());

                        if (this.ThumbnailByteHandle != null && this.ThumbnailByteHandle.IsAllocated)
                            this.ThumbnailByteHandle.Free();
                    }

                    // clear our row arrays
                    if (rows != null)
                    {
                        for (int i = 0; i < rows.Count; i++)
                        {
                            rows[i].Clear();
                            rows[i] = null;
                        }
                        rows.Clear();
                        rows = null;
                    }
                    if (rows != null)
                    {
                        row.Clear();
                        row = null;
                    }

                }
                else
                {
                    if (this.bmpImageThumbnail != null)
                    {
                        this.bmpImageThumbnail.Dispose();
                        this.bmpImageThumbnail = null;
                    }
                }
            }
            else
            {
                if (this.bmpImageThumbnail != null)
                {
                    this.bmpImageThumbnail.Dispose();
                    this.bmpImageThumbnail = null;
                }
            }
        }
Exemplo n.º 41
0
        /// <summary>
        /// Reads the image data bytes from the file. Handles Uncompressed and RLE Compressed image data. 
        /// Uses FirstPixelDestination to properly align the image.
        /// </summary>
        /// <param name="binReader">A BinaryReader that points the loaded file byte stream.</param>
        /// <returns>An array of bytes representing the image data in the proper alignment.</returns>
        private byte[] LoadImageBytes(BinaryReader binReader)
        {
            // read the image data into a byte array
            // take into account stride has to be a multiple of 4
            // use padding to make sure multiple of 4

            byte[] data = null;
            if (binReader != null && binReader.BaseStream != null && binReader.BaseStream.Length > 0 && binReader.BaseStream.CanSeek == true)
            {
                if (this.objTargaHeader.ImageDataOffset > 0)
                {
                    // padding bytes
                    byte[] padding = new byte[this.intPadding];
                    MemoryStream msData = null;
                    System.Collections.Generic.List<System.Collections.Generic.List<byte>> rows = null;
                    System.Collections.Generic.List<byte> row = null;
                    rows = new System.Collections.Generic.List<System.Collections.Generic.List<byte>>();
                    row = new System.Collections.Generic.List<byte>();

                    // seek to the beginning of the image data using the ImageDataOffset value
                    binReader.BaseStream.Seek(this.objTargaHeader.ImageDataOffset, SeekOrigin.Begin);

                    // get the size in bytes of each row in the image
                    int intImageRowByteSize = (int)this.objTargaHeader.Width * ((int)this.objTargaHeader.BytesPerPixel);

                    // get the size in bytes of the whole image
                    int intImageByteSize = intImageRowByteSize * (int)this.objTargaHeader.Height;

                    // is this a RLE compressed image type
                    if (this.objTargaHeader.ImageType == ImageType.RUN_LENGTH_ENCODED_BLACK_AND_WHITE ||
                       this.objTargaHeader.ImageType == ImageType.RUN_LENGTH_ENCODED_COLOR_MAPPED ||
                       this.objTargaHeader.ImageType == ImageType.RUN_LENGTH_ENCODED_TRUE_COLOR)
                    {

                        #region COMPRESSED

                        // RLE Packet info
                        byte bRLEPacket = 0;
                        int intRLEPacketType = -1;
                        int intRLEPixelCount = 0;
                        byte[] bRunLengthPixel = null;

                        // used to keep track of bytes read
                        int intImageBytesRead = 0;
                        int intImageRowBytesRead = 0;

                        // keep reading until we have the all image bytes
                        while (intImageBytesRead < intImageByteSize)
                        {
                            // get the RLE packet
                            bRLEPacket = binReader.ReadByte();
                            intRLEPacketType = Utilities.GetBits(bRLEPacket, 7, 1);
                            intRLEPixelCount = Utilities.GetBits(bRLEPacket, 0, 7) + 1;

                            // check the RLE packet type
                            if ((RLEPacketType)intRLEPacketType == RLEPacketType.RUN_LENGTH)
                            {
                                // get the pixel color data
                                bRunLengthPixel = binReader.ReadBytes((int)this.objTargaHeader.BytesPerPixel);

                                // add the number of pixels specified using the read pixel color
                                for (int i = 0; i < intRLEPixelCount; i++)
                                {
                                    foreach (byte b in bRunLengthPixel)
                                        row.Add(b);

                                    // increment the byte counts
                                    intImageRowBytesRead += bRunLengthPixel.Length;
                                    intImageBytesRead += bRunLengthPixel.Length;

                                    // if we have read a full image row
                                    // add the row to the row list and clear it
                                    // restart row byte count
                                    if (intImageRowBytesRead == intImageRowByteSize)
                                    {
                                        rows.Add(row);
                                        row = null;
                                        row = new System.Collections.Generic.List<byte>();
                                        intImageRowBytesRead = 0;

                                    }
                                }

                            }

                            else if ((RLEPacketType)intRLEPacketType == RLEPacketType.RAW)
                            {
                                // get the number of bytes to read based on the read pixel count
                                int intBytesToRead = intRLEPixelCount * (int)this.objTargaHeader.BytesPerPixel;

                                // read each byte
                                for (int i = 0; i < intBytesToRead; i++)
                                {
                                    row.Add(binReader.ReadByte());

                                    // increment the byte counts
                                    intImageBytesRead++;
                                    intImageRowBytesRead++;

                                    // if we have read a full image row
                                    // add the row to the row list and clear it
                                    // restart row byte count
                                    if (intImageRowBytesRead == intImageRowByteSize)
                                    {
                                        rows.Add(row);
                                        row = null;
                                        row = new System.Collections.Generic.List<byte>();
                                        intImageRowBytesRead = 0;
                                    }

                                }

                            }
                        }

                        #endregion

                    }

                    else
                    {
                        #region NON-COMPRESSED

                        // loop through each row in the image
                        for (int i = 0; i < (int)this.objTargaHeader.Height; i++)
                        {
                            // loop through each byte in the row
                            for (int j = 0; j < intImageRowByteSize; j++)
                            {
                                // add the byte to the row
                                row.Add(binReader.ReadByte());
                            }

                            // add row to the list of rows
                            rows.Add(row);
                            // create a new row
                            row = null;
                            row = new System.Collections.Generic.List<byte>();
                        }

                        #endregion
                    }

                    // flag that states whether or not to reverse the location of all rows.
                    bool blnRowsReverse = false;

                    // flag that states whether or not to reverse the bytes in each row.
                    bool blnEachRowReverse = false;

                    // use FirstPixelDestination to determine the alignment of the
                    // image data byte
                    switch (this.objTargaHeader.FirstPixelDestination)
                    {
                        case FirstPixelDestination.TOP_LEFT:
                            blnRowsReverse = false;
                            blnEachRowReverse = true;
                            break;

                        case FirstPixelDestination.TOP_RIGHT:
                            blnRowsReverse = false;
                            blnEachRowReverse = false;
                            break;

                        case FirstPixelDestination.BOTTOM_LEFT:
                            blnRowsReverse = true;
                            blnEachRowReverse = true;
                            break;

                        case FirstPixelDestination.BOTTOM_RIGHT:
                        case FirstPixelDestination.UNKNOWN:
                            blnRowsReverse = true;
                            blnEachRowReverse = false;

                            break;
                    }

                    // write the bytes from each row into a memory stream and get the
                    // resulting byte array
                    using (msData = new MemoryStream())
                    {

                        // do we reverse the rows in the row list.
                        if (blnRowsReverse == true)
                            rows.Reverse();

                        // go through each row
                        for (int i = 0; i < rows.Count; i++)
                        {
                            // do we reverse the bytes in the row
                            if (blnEachRowReverse == true)
                                rows[i].Reverse();

                            // get the byte array for the row
                            byte[] brow = rows[i].ToArray();

                            // write the row bytes and padding bytes to the memory streem
                            msData.Write(brow, 0, brow.Length);
                            msData.Write(padding, 0, padding.Length);
                        }
                        // get the image byte array
                        data = msData.ToArray();

                    }

                    // clear our row arrays
                    if (rows != null)
                    {
                        for (int i = 0; i < rows.Count; i++)
                        {
                            rows[i].Clear();
                            rows[i] = null;
                        }
                        rows.Clear();
                        rows = null;
                    }
                    if (rows != null)
                    {
                        row.Clear();
                        row = null;
                    }

                }
                else
                {
                    this.ClearAll();
                    throw new Exception(@"Error loading file, No image data in file.");
                }
            }
            else
            {
                this.ClearAll();
                throw new Exception(@"Error loading file, could not read file from disk.");
            }

            // return the image byte array
            return data;
        }
Exemplo n.º 42
0
        private void ux_buttonEditData_Click(object sender, EventArgs e)
        {
            // Remember the first visible column to restore later...
            int firstVisibleColumn = ux_datagridviewMain.FirstDisplayedScrollingColumnIndex;
            int currentRow = 0;
            if (ux_datagridviewMain.CurrentRow != null) currentRow = ux_datagridviewMain.CurrentRow.Index;

            //string currentColName = ux_datagridviewMain.Columns[ux_datagridviewMain.FirstDisplayedScrollingColumnIndex].Name;

            // Remember all user settings...
            SetAllUserSettings();

            // Update the controls on the interface...
            ux_groupboxEditMode.Visible = true;
            ux_checkboxHighlightChanges.Enabled = true;
            ux_checkboxHideNonErrorRows.Enabled = true;
            ux_checkboxHideUnchangedRows.Enabled = true;
            ux_buttonSaveData.Enabled = true;
            ux_buttonEditData.Enabled = false;
            ux_buttonCancelEditData.Enabled = true;
            ux_splitcontainerMain.Panel1.Enabled = false;
            ux_tabcontrolCTDataviews.Enabled = false;

            // Bail if there is no data to process...
            if (ux_tabcontrolCTDataviews.SelectedTab == null ||
                ux_tabcontrolCTDataviews.SelectedTab.Tag == null ||
                ux_tabcontrolCTDataviews.SelectedTab.Tag.GetType() != typeof(DataviewProperties) ||
                string.IsNullOrEmpty(((DataviewProperties)ux_tabcontrolCTDataviews.SelectedTab.Tag).DataviewName))
            {
                return;
            }

            // Create a filtered and sorted copy of the data to be edited...
            // First get the filtered and sorted rows in the readonly datatable copied to a new temp table...
            DataTable filteredSortedTable = ((DataTable)((BindingSource)ux_datagridviewMain.DataSource).DataSource).DefaultView.ToTable();
            // Create a new empty table that will have just the rows in the filtered and sorted rows in the temp table...
            DataTable editTable = grinData.Tables[((DataviewProperties)ux_tabcontrolCTDataviews.SelectedTab.Tag).DataviewName].Clone();
            // Add each row in the readonly view to the edit table...
            System.Collections.Generic.List<object> pKeyVals = new System.Collections.Generic.List<object>();
            foreach (DataRow dr in filteredSortedTable.Rows)
            {
                pKeyVals.Clear();
                foreach (DataColumn pKeyCol in editTable.PrimaryKey)
                {
                    pKeyVals.Add(dr[pKeyCol.ColumnName]);
                }
                DataRow newRow = editTable.NewRow();

                if (pKeyVals.Count > 0 && grinData.Tables[((DataviewProperties)ux_tabcontrolCTDataviews.SelectedTab.Tag).DataviewName].Rows.Contains(pKeyVals.ToArray()))
                {
                    newRow.ItemArray = grinData.Tables[((DataviewProperties)ux_tabcontrolCTDataviews.SelectedTab.Tag).DataviewName].Rows.Find(pKeyVals.ToArray()).ItemArray;
                    editTable.Rows.Add(newRow);
                }
            }

            editTable.AcceptChanges();

            // Drop the original datatable and add the new one...
            grinData.Tables.Remove(((DataviewProperties)ux_tabcontrolCTDataviews.SelectedTab.Tag).DataviewName);
            grinData.Tables.Add(editTable);
            //ux_datagridviewMain.ResumeLayout();

            // Create the editable DGV...
            //            buildEditDataGridView(ux_datagridviewMain, grinData.Tables[((DataviewProperties)ux_tabcontrolDataview.SelectedTab.Tag).DataviewName]);
            _sharedUtils.BuildEditDataGridView(ux_datagridviewMain, grinData.Tables[((DataviewProperties)ux_tabcontrolCTDataviews.SelectedTab.Tag).DataviewName]);
            //ux_datagridviewMain.DataSource = grinData.Tables[((DataviewProperties)ux_tabcontrolDataview.SelectedTab.Tag).DataviewName];

            // Refresh formatting on the new DGV...
            RefreshMainDGVFormatting();

            // Restore the column widths to match the Read-Only settings (this is done only once during the building
            // of the Edit DGV - it is not performed in the normal 'RefreshMainDGVFormatting' method...
            string[] columnWidths = _sharedUtils.GetUserSetting("", ((DataviewProperties)ux_tabcontrolCTDataviews.SelectedTab.Tag).DataviewName, "Columns.Width", "").Split(' ');
            string[] columnOrder = _sharedUtils.GetUserSetting("", ((DataviewProperties)ux_tabcontrolCTDataviews.SelectedTab.Tag).DataviewName, "Columns.DisplayOrder", "").Split(' ');
            int columnNum = -1;
            if (columnWidths.Length == columnOrder.Length && columnWidths.Length == ux_datagridviewMain.Columns.Count)
            {
                for (int i = 0; i < ux_datagridviewMain.Columns.Count; i++)
                {
                    if (int.TryParse(columnWidths[i], out columnNum)) ux_datagridviewMain.Columns[i].Width = columnNum;// Convert.ToInt32(columnWidths[i]);
                    if (int.TryParse(columnOrder[i], out columnNum)) ux_datagridviewMain.Columns[i].DisplayIndex = columnNum;// Convert.ToInt32(columnOrder[i]);
                }
            }

            // Restore the DGV to show the leftmost visible column (this was the leftmost visible column in Read-Only mode)...
            if (ux_datagridviewMain.Rows.Count > 0)
            {
                ux_datagridviewMain.FirstDisplayedScrollingColumnIndex = firstVisibleColumn;
                ux_datagridviewMain.CurrentCell = ux_datagridviewMain[firstVisibleColumn, currentRow];
                ux_datagridviewMain.CurrentCell.Selected = true;
            }

            // Prepare the grid view for handling cell edits...
            ux_datagridviewMain.Enabled = true;
            ux_datagridviewMain.Focus();
            ux_datagridviewMain.SelectionMode = DataGridViewSelectionMode.RowHeaderSelect;
            ux_datagridviewMain.EditMode = DataGridViewEditMode.EditOnKeystrokeOrF2;
            //ux_datagridviewMain.AllowUserToAddRows = true;
            ux_datagridviewMain.AllowUserToDeleteRows = true;
            ux_datagridviewMain.AllowDrop = true;

            // Set the context menu for the columns...
            foreach (DataGridViewColumn dgvc in ux_datagridviewMain.Columns)
            {
                dgvc.ContextMenuStrip = ux_contextmenustripEditDGVCell;
            }

            // Un-wire the event handler for formatting cells in readonly mode...
            ux_datagridviewMain.CellFormatting -= new DataGridViewCellFormattingEventHandler(ux_datagridviewMain_ReadOnlyDGVCellFormatting);

            // Wire up the event handler for formatting cells in edit mode (populating the FK lookup values)...
            ux_datagridviewMain.CellFormatting += new DataGridViewCellFormattingEventHandler(ux_datagridviewMain_EditDGVCellFormatting);
            ux_datagridviewMain.CellParsing += new DataGridViewCellParsingEventHandler(ux_datagridviewMain_EditDGVCellParsing);
            ux_datagridviewMain.DataError += new DataGridViewDataErrorEventHandler(dataGridView_DataError);

            // If a Form is being shown, enable its controls...
            if (dataviewForm != null)
            {
                System.Reflection.PropertyInfo pi = dataviewForm.GetType().GetProperty("EditMode");
                if(pi != null) pi.SetValue(dataviewForm, true, null);
            }
        }
Exemplo n.º 43
0
        private static Texture2D convertCharArrayToTex(System.Collections.Generic.List<KSF_CharArray> chArray, int length, Color color)
        {
            Texture2D tex = new Texture2D(length - 4, 7);
            int offSet = 0;
            System.Collections.Generic.List<Vector2> pxMap = new System.Collections.Generic.List<Vector2>();
            pxMap.Clear();

            foreach (KSF_CharArray ka in chArray)
            {
                foreach (Vector2 px in ka.pixelList)
                {
                    pxMap.Add(new Vector2(px.x + offSet, px.y));
                }
                offSet += ka.charWidth;
            }

            for (int y = 0; y < tex.height; y++)
            {
                for (int x = 0; x < tex.width; x++)
                {
                    if (pxMap.Contains(new Vector2(x, y)))
                    {
                        tex.SetPixel(x, y, Color.black);
                    }
                    else
                    {
                        tex.SetPixel(x, y, color);
                    }
                }
            }
            return tex;
        }
Exemplo n.º 44
0
		bool ButtonCommitClicked ()
		{
			// In case we have local unsaved files with changes, throw a dialog for the user.
			System.Collections.Generic.List<Document> docList = new System.Collections.Generic.List<Document> ();
			foreach (var item in IdeApp.Workbench.Documents) {
				if (!item.IsDirty || !selected.Contains (item.FileName))
					continue;
				docList.Add (item);
			}

			if (docList.Count != 0) {
				AlertButton response = MessageService.GenericAlert (
					MonoDevelop.Ide.Gui.Stock.Question,
					GettextCatalog.GetString ("You are trying to commit files which have unsaved changes."),
					GettextCatalog.GetString ("Do you want to save the changes before committing?"),
					new AlertButton[] {
						AlertButton.Cancel,
						new AlertButton ("Don't Save"),
						AlertButton.Save
					}
				);

				if (response == AlertButton.Cancel)
					return false;

				if (response == AlertButton.Save) {
					// Go through all the items and save them.
					foreach (var item in docList)
						item.Save ();

					// Check if save failed on any item and abort.
					foreach (var item in docList)
						if (item.IsDirty) {
							MessageService.ShowMessage (GettextCatalog.GetString (
								"Some files could not be saved. Commit operation aborted"));
							return false;
						}
				}

				docList.Clear ();
			}

			// Update the change set
			ArrayList todel = new ArrayList ();
			foreach (ChangeSetItem it in changeSet.Items) {
				if (!selected.Contains (it.LocalPath))
					todel.Add (it.LocalPath);
			}
			foreach (string file in todel)
				changeSet.RemoveFile (file);
			changeSet.GlobalComment = Message;
			
			// Perform the commit
			
			int n;
			for (n=0; n<extensions.Count; n++) {
				CommitDialogExtension ext = (CommitDialogExtension) extensions [n];
				bool res;
				try {
					res = ext.OnBeginCommit (changeSet);
				} catch (Exception ex) {
					LoggingService.LogInternalError (ex);
					res = false;
				}
				if (!res) {
					// Commit failed. Rollback the previous extensions
					for (int m=0; m<n; m++) {
						ext = (CommitDialogExtension) extensions [m];
						try {
							ext.OnEndCommit (changeSet, false);
						} catch {}
					}
					return false;
				}
			}
			return true;
		}
Exemplo n.º 45
0
        void Update()
        {
            if (!string.IsNullOrEmpty(UpdateMessage))
            {
                Debug.Log(UpdateMessage);
                UpdateMessage = string.Empty;
            }

            if (DoRefreshWorkbooks)
            {
                _EditorWorking = Localize("ID_AUTHENTICATING");
                if (_AuthenticateTick == -1)
                    _AuthenticateTick = 4;

                if (_AuthenticateTick == 0)
                {
                    DoRefreshWorkbooks = false;
                    RefreshWorkbooks();
                    _EditorWorking = System.String.Empty;
                }
                _AuthenticateTick--;
                Repaint();
            }

            if (EditorApplication.isCompiling)
            {
                return;
            }
            if (_AdvancedDatabaseObjectInfo.Count <= 0)
            {
                return;
            }

            foreach (var info in _AdvancedDatabaseObjectInfo)
            {
                if (info == null)
                    continue;

                if (string.IsNullOrEmpty(info.ComponentName))
                    continue;

                var toDestroy = info.DatabaseAttachObject.GetComponent(info.ComponentName);
                if (toDestroy != null)
                    DestroyImmediate(toDestroy);

#if UNITY_5
                var myType = GetAssemblyType("GoogleFu." + info.ComponentName);
                var comp = (GoogleFuComponentBase)info.DatabaseAttachObject.AddComponent(myType);
#else
                var comp = (GoogleFuComponentBase)info.DatabaseAttachObject.AddComponent(info.ComponentName);
#endif
                

                if (comp == null)
                {
                    AssetDatabase.ImportAsset(info.ComponentName + ".cs", ImportAssetOptions.ForceSynchronousImport | ImportAssetOptions.ForceUpdate);

                    if (_Count < 50)
                    {
                        _Count++;
                        return;
                    }
                    Debug.LogError("Could not add GoogleFu component base " + info.ComponentName + ".cs");
                    continue;
                }

                var rowInputs = new System.Collections.Generic.List<string>();

                _Count = 0;

                foreach (var entryVal in info.EntryStrings)
                {

                    rowInputs.Add(entryVal);
                    _Count++;

                    if (_Count % info.EntryStride != 0) continue;
                    comp.AddRowGeneric(rowInputs);
                    rowInputs.Clear();
                }

            }

            _AdvancedDatabaseObjectInfo.Clear();
        }
Exemplo n.º 46
0
        /************************************************************************/
        /* return null : 命令不存在; Count==0,用户没有选择
           /************************************************************************/
        public System.Collections.Generic.List<ConfigData> FindCommand(string shortcut)
        {
            GlobalVar.Helper.AddSelect("programs", "id,shortcut,path,title,is_auto_run,hints","shortcut");
            GlobalVar.Helper.AddCustomParam("shortcut", shortcut);
            DataTable table = new DataTable("programs");
            System.Collections.Generic.List<ConfigData> list = new System.Collections.Generic.List<ConfigData>();
            GlobalVar.Helper.Fill(ref table);
            if (table.Rows.Count == 0)
                return null;

            foreach (DataRow row in table.Rows)
            {
                ConfigData cd = new ConfigData();
                cd.Row = row;
                GlobalVar.Helper.Row2DbObj(row, cd);
                list.Add(cd);
            }
            if(list.Count > 1)
            {
                SelectFrm frm = new SelectFrm(list);
                if (frm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    frm.UpdateSelectedHint();
                }
                else
                {
                    list.Clear();
                    return list;
                }

                //进行选择
            }
            else
            {
                DataRow row = list[0].Row;
                int hint = row.Field<int>("hints");
                row.SetField<int>("hints", ++hint);
            }
            Helper.AddUpdate("programs", "hints", "id");
            Helper.Update(table);
            return list;
        }
        // Pre: No value is NULL
        // Post: output report bytes
        public static byte[] GetUmzugsmitteilung(COR_Reports.ReportFormatInfo formatInfo, string in_ump_uid, string in_sprache)
        {
            string report = "UM_Umzugsmitteilung.rdl";
            byte[] baReport = null;

            // if (string.IsNullOrEmpty(in_ump_uid)) in_ump_uid = "C38CB749-1EEC-4686-9BBA-F627B9C4E8EC";
            if (string.IsNullOrEmpty(in_sprache)) in_sprache = "DE";

            // formatInfo = new Portal_Reports.ReportFormatInfo(ExportFormat.Word);

            try
            {
                COR_Reports.ReportTools.ReportDataCallback_t myFunc = delegate(COR_Reports.ReportViewer viewer, System.Xml.XmlDocument doc)
                {
                    // viewer["format"] = formatInfo.FormatName;
                    // viewer["extension"] = formatInfo.Extension;
                    // viewer["report"] = report;

                    //string extension = viewer["extension"];
                    ////////////////////////////

                    System.Collections.Generic.List<COR_Reports.ReportParameter> lsParameters =
                        new System.Collections.Generic.List<COR_Reports.ReportParameter>();

                    lsParameters.Add(new COR_Reports.ReportParameter("in_mandant", "0"));
                    lsParameters.Add(new COR_Reports.ReportParameter("proc", "administrator"));
                    lsParameters.Add(new COR_Reports.ReportParameter("in_sprache", in_sprache));
                    // lsParameters.Add(new Portal_Reports.ReportParameter("in_report_name", "UM_Umzugsmitteilung"));

                    // lsParameters.Add(new Portal_Reports.ReportParameter("in_stichtag", System.DateTime.Now.ToString("dd.MM.yyyy")));

                    // lsParameters.Add(new Portal_Reports.ReportParameter("def_pageformat", "Seite {0} von {1}"));
                    // lsParameters.Add(new Portal_Reports.ReportParameter("def_dateformat", "d.MM.yyyy"));

                    lsParameters.Add(new COR_Reports.ReportParameter("in_umzugsuid", in_ump_uid));
                    // lsParameters.Add(new COR_Reports.ReportParameter("datastart", "dateTimePickerStartRaport.Text"));
                    // lsParameters.Add(new COR_Reports.ReportParameter("dataStop", "dateTimePickerStopRaport.Text"));

                    viewer.SetParameters(lsParameters);
                    lsParameters.Clear();
                    lsParameters = null;

                    {
                        // Add data sources
                        COR_Reports.ReportDataSource rds = new COR_Reports.ReportDataSource();
                        rds.Name = "DATA_Umzugsmitteilung"; //This refers to the dataset name in the RDLC file
                        string strSQL = COR_Reports.ReportTools.GetDataSetDefinition(doc, rds.Name);
                        strSQL = strSQL.Replace("@_in_umzugsuid", "'" + in_ump_uid.Replace("'", "''") + "'");
                        strSQL = strSQL.Replace("@_in_sprache", "'" + in_sprache.Replace("'", "''") + "'");
                        rds.Value = SQL.GetDataTable(strSQL);

                        strSQL = null;
                        viewer.DataSources.Add(rds);
                    }

                    {
                        COR_Reports.ReportDataSource rdsHeader = new COR_Reports.ReportDataSource();
                        rdsHeader.Name = "DATA_Umzugsheader"; //This refers to the dataset name in the RDLC file
                        string strSQL = COR_Reports.ReportTools.GetDataSetDefinition(doc, rdsHeader.Name);
                        strSQL = strSQL.Replace("@_in_umzugsuid", "'" + in_ump_uid.Replace("'", "''") + "'");
                        rdsHeader.Value = SQL.GetDataTable(strSQL);
                        strSQL = null;
                        viewer.DataSources.Add(rdsHeader);
                    }

                    {
                        COR_Reports.ReportDataSource rdsTranslation = new COR_Reports.ReportDataSource();
                        rdsTranslation.Name = "DATA_Report_Translation"; //This refers to the dataset name in the RDLC file
                        string strSQL = COR_Reports.ReportTools.GetDataSetDefinition(doc, rdsTranslation.Name);
                        strSQL = strSQL.Replace("@in_sprache", "'" + in_sprache.Replace("'", "''") + "'");
                        rdsTranslation.Value = SQL.GetDataTable(strSQL);
                        strSQL = null;
                        viewer.DataSources.Add(rdsTranslation);
                    }

                };

                baReport = COR_Reports.ReportTools.RenderReport(report, formatInfo, myFunc);
            }
            catch
            {
                // Basic_SQL.SQL.Log(ex);
                throw;
            }

            // If testing
            if (System.StringComparer.InvariantCultureIgnoreCase.Equals(System.Environment.UserDomainName, "COR"))
            {
                using (System.IO.FileStream fs = System.IO.File.Create(@"D:\" + System.IO.Path.GetFileNameWithoutExtension(report) + formatInfo.Extension))
                {
                    fs.Write(baReport, 0, baReport.Length);
                } // End Using fs
            }

            return baReport;
        }
Exemplo n.º 48
0
 public static PointF[] GetPoints(params UPointD[] upoints)
 {
     System.Collections.Generic.List<PointF> list = new System.Collections.Generic.List<PointF>();
     foreach (UPointD d in upoints)
     {
         list.Add(d.FPoint);
     }
     PointF[] array = list.ToArray();
     list.Clear();
     return array;
 }
Exemplo n.º 49
0
        private void Update_PlotTrack_Data()
        {
            if (this.checkEnableDisplay.Checked == true)
            {

                // First clear all the data from the previous cycle.
                if (DinamicOverlay.Markers.Count > 0)
                    DinamicOverlay.Markers.Clear();

                if (PredictionOverlay.Markers.Count > 0)
                    PredictionOverlay.Markers.Clear();

                // Now get the data since the last cycle and display it on the map
                DynamicDisplayBuilder DP = new DynamicDisplayBuilder();
                System.Collections.Generic.List<DynamicDisplayBuilder.TargetType> TargetList = new System.Collections.Generic.List<DynamicDisplayBuilder.TargetType>();

                // Here handle display od live data
                if (SharedData.bool_Listen_for_Data == true)
                {
                    DynamicDisplayBuilder.GetDisplayData(false, out TargetList);

                    if (FirstCycleDisplayEnabled)
                    {
                        FirstCycleDisplayEnabled = false;
                        TargetList.Clear();
                    }

                    this.lblNumberofTargets.Text = TargetList.Count.ToString();

                    bool Build_Local_Display = comboBoxLiveDisplayMode.Text != "Google Earth";
                    bool Provide_To_Google_Earth = comboBoxLiveDisplayMode.Text != "Local";
                    bool ProvideWebData = comboBoxLiveDisplayMode.Text == "Local & Web" || comboBoxLiveDisplayMode.Text == "Web";
                    Asterix_To_KML_Provider ASTX_TO_KML = new Asterix_To_KML_Provider();
                    WBTD WebBasedDisplayProvider = new WBTD();
                    PredictionBuilder Prediction_B = new PredictionBuilder();

                    try
                    {
                        foreach (DynamicDisplayBuilder.TargetType Target in TargetList)
                        {
                            if (Passes_Check_For_Flight_Level_Filter(Target.ModeC))
                            {
                                // If SSR code filtering is to be applied
                                if (this.checkBoxFilterBySSR.Checked == true && (this.textBoxSSRCode.Text.Length == 4))
                                {
                                    if (Target.ModeA == this.textBoxSSRCode.Text)
                                    {
                                        Target.MyMarker.ToolTipMode = MarkerTooltipMode.Never;
                                        Target.MyMarker.Position = new PointLatLng(Target.Lat, Target.Lon);
                                        BuildDynamicLabelText(Target, ref Target.MyMarker);
                                        SetLabelAttributes(ref Target.MyMarker);

                                        if (Build_Local_Display)
                                        {
                                            DinamicOverlay.Markers.Add(Target.MyMarker);

                                            if (SharedData.Prediction1_Enabled)
                                                Prediction_B.Build_Prediction_Marker(Target.MyMarker.Position, Target.MyMarker.CALLSIGN_STRING, MySqlProvider.PredictionTableNumberType.One, ref PredictionOverlay);

                                            if (SharedData.Prediction2_Enabled)
                                                Prediction_B.Build_Prediction_Marker(Target.MyMarker.Position, Target.MyMarker.CALLSIGN_STRING, MySqlProvider.PredictionTableNumberType.Two, ref PredictionOverlay);

                                            if (SharedData.Prediction3_Enabled)
                                                Prediction_B.Build_Prediction_Marker(Target.MyMarker.Position, Target.MyMarker.CALLSIGN_STRING, MySqlProvider.PredictionTableNumberType.Three, ref PredictionOverlay);

                                        }

                                        if (Provide_To_Google_Earth)
                                            ASTX_TO_KML.AddNewTarget(Target);

                                        if (ProvideWebData)
                                            WebBasedDisplayProvider.SetTargetData(Target.Lat.ToString(), Target.Lon.ToString(), Target.ACID_Mode_S,
                                                Target.ModeA, Target.ModeC);
                                    }
                                }
                                else // No SSR filter so just display all of them
                                {
                                    Target.MyMarker.ToolTipMode = MarkerTooltipMode.Never;
                                    Target.MyMarker.Position = new PointLatLng(Target.Lat, Target.Lon);
                                    BuildDynamicLabelText(Target, ref Target.MyMarker);
                                    SetLabelAttributes(ref Target.MyMarker);

                                    if (Build_Local_Display)
                                    {
                                        DinamicOverlay.Markers.Add(Target.MyMarker);

                                        if (SharedData.Prediction1_Enabled)
                                            Prediction_B.Build_Prediction_Marker(Target.MyMarker.Position, Target.MyMarker.CALLSIGN_STRING, MySqlProvider.PredictionTableNumberType.One, ref PredictionOverlay);

                                        if (SharedData.Prediction2_Enabled)
                                            Prediction_B.Build_Prediction_Marker(Target.MyMarker.Position, Target.MyMarker.CALLSIGN_STRING, MySqlProvider.PredictionTableNumberType.Two, ref PredictionOverlay);

                                        if (SharedData.Prediction3_Enabled)
                                            Prediction_B.Build_Prediction_Marker(Target.MyMarker.Position, Target.MyMarker.CALLSIGN_STRING, MySqlProvider.PredictionTableNumberType.Three, ref PredictionOverlay);
                                    }

                                    if (Provide_To_Google_Earth)
                                        ASTX_TO_KML.AddNewTarget(Target);

                                    if (ProvideWebData)
                                        WebBasedDisplayProvider.SetTargetData(Target.Lat.ToString(), Target.Lon.ToString(), Target.ACID_Mode_S,
                                           Target.ModeA, Target.ModeC);
                                }
                            }
                        }
                    }
                    catch
                    {

                    }

                    Cursor.Position = new Point(Cursor.Position.X + 1, Cursor.Position.Y);
                    Cursor.Position = new Point(Cursor.Position.X - 1, Cursor.Position.Y);

                    // Check if there were any items, if so then tell KML to build the file
                    if (Provide_To_Google_Earth)
                        ASTX_TO_KML.BuildKML();

                    if (ProvideWebData)
                        WebBasedDisplayProvider.WriteTrackData();

                }
                else // Here handle display of passive display (buffered data)
                {
                    DynamicDisplayBuilder.GetDisplayData(true, out TargetList);

                    this.lblNumberofTargets.Text = TargetList.Count.ToString();

                    foreach (DynamicDisplayBuilder.TargetType Target in TargetList)
                    {
                        if (Passes_Check_For_Flight_Level_Filter(Target.ModeC))
                        {
                            // If SSR code filtering is to be applied
                            if (this.checkBoxFilterBySSR.Checked == true && (this.comboBoxSSRFilterBox.Items.Count > 0))
                            {
                                if (Target.ModeA == this.comboBoxSSRFilterBox.Items[SSR_Filter_Last_Index].ToString())
                                {
                                    GMap.NET.WindowsForms.Markers.GMapMarkerCross MyMarker = new GMap.NET.WindowsForms.Markers.GMapMarkerCross(new PointLatLng(Target.Lat, Target.Lon));
                                    MyMarker.ToolTipMode = MarkerTooltipMode.Always;
                                    MyMarker.ToolTipText = BuildPassiveLabelText(Target);
                                    SetLabelAttributes(ref MyMarker);
                                    DinamicOverlay.Markers.Add(MyMarker);
                                }
                            }
                            else // No filter so just display all of them
                            {
                                GMap.NET.WindowsForms.Markers.GMapMarkerCross MyMarker = new GMap.NET.WindowsForms.Markers.GMapMarkerCross(new PointLatLng(Target.Lat, Target.Lon));
                                MyMarker.ToolTipMode = MarkerTooltipMode.Always;
                                MyMarker.ToolTipText = BuildPassiveLabelText(Target);
                                SetLabelAttributes(ref MyMarker);
                                DinamicOverlay.Markers.Add(MyMarker);
                            }
                        }
                    }
                }
            }
        }
		public static void TestIntervalTreeRandomConstruction()
		{
			int pointcount = 0;
			int passcount = 1000;
			int figureSize = 50;
			com.esri.core.geometry.Envelope env = new com.esri.core.geometry.Envelope();
			env.SetCoords(-10000, -10000, 10000, 10000);
			com.esri.core.geometry.RandomCoordinateGenerator generator = new com.esri.core.geometry.RandomCoordinateGenerator(System.Math.Max(figureSize, 10000), env, 0.001);
			System.Random random = new System.Random(2013);
			int rand_max = 98765;
			System.Collections.Generic.List<com.esri.core.geometry.Envelope1D> intervals = new System.Collections.Generic.List<com.esri.core.geometry.Envelope1D>();
			com.esri.core.geometry.AttributeStreamOfInt8 intervalsFound = new com.esri.core.geometry.AttributeStreamOfInt8(0);
			for (int i = 0; i < passcount; i++)
			{
				int r = figureSize;
				if (r < 3)
				{
					continue;
				}
				com.esri.core.geometry.Polygon poly = new com.esri.core.geometry.Polygon();
				com.esri.core.geometry.Point pt;
				for (int j = 0; j < r; j++)
				{
					int rand = random.Next(rand_max);
					bool bRandomNew = (r > 10) && ((1.0 * rand) / rand_max > 0.95);
					pt = generator.GetRandomCoord();
					if (j == 0 || bRandomNew)
					{
						poly.StartPath(pt);
					}
					else
					{
						poly.LineTo(pt);
					}
				}
				{
					intervals.Clear();
					com.esri.core.geometry.SegmentIterator seg_iter = poly.QuerySegmentIterator();
					com.esri.core.geometry.Envelope1D interval;
					com.esri.core.geometry.Envelope1D range = poly.QueryInterval(com.esri.core.geometry.VertexDescription.Semantics.POSITION, 0);
					range.vmin -= 0.01;
					range.vmax += 0.01;
					while (seg_iter.NextPath())
					{
						while (seg_iter.HasNextSegment())
						{
							com.esri.core.geometry.Segment segment = seg_iter.NextSegment();
							interval = segment.QueryInterval(com.esri.core.geometry.VertexDescription.Semantics.POSITION, 0);
							intervals.Add(interval);
						}
					}
					intervalsFound.Resize(intervals.Count, 0);
					// Just test construction for assertions
					com.esri.core.geometry.IntervalTreeImpl intervalTree = new com.esri.core.geometry.IntervalTreeImpl(true);
					Construct(intervalTree, intervals);
					for (int j_1 = 0; j_1 < intervals.Count; j_1++)
					{
						intervalTree.Insert(j_1);
					}
					com.esri.core.geometry.IntervalTreeImpl.IntervalTreeIteratorImpl iterator = intervalTree.GetIterator(range, 0.0);
					int count = 0;
					int handle;
					while ((handle = iterator.Next()) != -1)
					{
						count++;
						intervalsFound.Write(handle, unchecked((byte)1));
					}
					NUnit.Framework.Assert.IsTrue(count == intervals.Count);
					for (int j_2 = 0; j_2 < intervalsFound.Size(); j_2++)
					{
						interval = intervals[j_2];
						NUnit.Framework.Assert.IsTrue(intervalsFound.Read(j_2) == 1);
					}
					for (int j_3 = 0; j_3 < intervals.Count >> 1; j_3++)
					{
						intervalTree.Remove(j_3);
					}
					iterator.ResetIterator(range, 0.0);
					count = 0;
					while ((handle = iterator.Next()) != -1)
					{
						count++;
						intervalsFound.Write(handle, unchecked((byte)1));
					}
					NUnit.Framework.Assert.IsTrue(count == intervals.Count - (intervals.Count >> 1));
					for (int j_4 = (intervals.Count >> 1); j_4 < intervals.Count; j_4++)
					{
						intervalTree.Remove(j_4);
					}
				}
			}
		}
		public static void TestIntervalTree_1()
		{
			System.Collections.Generic.List<com.esri.core.geometry.Envelope1D> intervals = new System.Collections.Generic.List<com.esri.core.geometry.Envelope1D>(0);
			com.esri.core.geometry.Envelope1D env0 = new com.esri.core.geometry.Envelope1D(2, 3);
			com.esri.core.geometry.Envelope1D env1 = new com.esri.core.geometry.Envelope1D(5, 13);
			com.esri.core.geometry.Envelope1D env2 = new com.esri.core.geometry.Envelope1D(6, 9);
			com.esri.core.geometry.Envelope1D env3 = new com.esri.core.geometry.Envelope1D(8, 10);
			com.esri.core.geometry.Envelope1D env4 = new com.esri.core.geometry.Envelope1D(11, 12);
			com.esri.core.geometry.Envelope1D env5 = new com.esri.core.geometry.Envelope1D(1, 3);
			com.esri.core.geometry.Envelope1D env6 = new com.esri.core.geometry.Envelope1D(0, 2);
			com.esri.core.geometry.Envelope1D env7 = new com.esri.core.geometry.Envelope1D(4, 7);
			com.esri.core.geometry.Envelope1D env8;
			intervals.Add(env0);
			intervals.Add(env1);
			intervals.Add(env2);
			intervals.Add(env3);
			intervals.Add(env4);
			intervals.Add(env5);
			intervals.Add(env6);
			intervals.Add(env7);
			int counter;
			com.esri.core.geometry.IntervalTreeImpl intervalTree = new com.esri.core.geometry.IntervalTreeImpl(false);
			Construct(intervalTree, intervals);
			com.esri.core.geometry.IntervalTreeImpl.IntervalTreeIteratorImpl iterator = intervalTree.GetIterator(new com.esri.core.geometry.Envelope1D(-1, 14), 0.0);
			counter = 0;
			while (iterator.Next() != -1)
			{
				counter++;
			}
			NUnit.Framework.Assert.IsTrue(counter == 8);
			iterator.ResetIterator(new com.esri.core.geometry.Envelope1D(2.5, 10.5), 0.0);
			counter = 0;
			while (iterator.Next() != -1)
			{
				counter++;
			}
			NUnit.Framework.Assert.IsTrue(counter == 6);
			iterator.ResetIterator(5.0, 0.0);
			counter = 0;
			while (iterator.Next() != -1)
			{
				counter++;
			}
			NUnit.Framework.Assert.IsTrue(counter == 2);
			iterator.ResetIterator(7, 0.0);
			counter = 0;
			while (iterator.Next() != -1)
			{
				counter++;
			}
			NUnit.Framework.Assert.IsTrue(counter == 3);
			iterator.ResetIterator(new com.esri.core.geometry.Envelope1D(2.0, 10.5), 0.0);
			counter = 0;
			while (iterator.Next() != -1)
			{
				counter++;
			}
			NUnit.Framework.Assert.IsTrue(counter == 7);
			iterator.ResetIterator(new com.esri.core.geometry.Envelope1D(2.5, 11), 0.0);
			counter = 0;
			while (iterator.Next() != -1)
			{
				counter++;
			}
			NUnit.Framework.Assert.IsTrue(counter == 7);
			iterator.ResetIterator(new com.esri.core.geometry.Envelope1D(2.1, 2.5), 0.0);
			counter = 0;
			while (iterator.Next() != -1)
			{
				counter++;
			}
			NUnit.Framework.Assert.IsTrue(counter == 2);
			iterator.ResetIterator(new com.esri.core.geometry.Envelope1D(2.1, 5), 0.0);
			counter = 0;
			while (iterator.Next() != -1)
			{
				counter++;
			}
			NUnit.Framework.Assert.IsTrue(counter == 4);
			iterator.ResetIterator(new com.esri.core.geometry.Envelope1D(2.0, 5), 0.0);
			counter = 0;
			while (iterator.Next() != -1)
			{
				counter++;
			}
			NUnit.Framework.Assert.IsTrue(counter == 5);
			iterator.ResetIterator(new com.esri.core.geometry.Envelope1D(5.0, 11), 0.0);
			counter = 0;
			while (iterator.Next() != -1)
			{
				counter++;
			}
			NUnit.Framework.Assert.IsTrue(counter == 5);
			iterator.ResetIterator(new com.esri.core.geometry.Envelope1D(8, 10.5), 0.0);
			counter = 0;
			while (iterator.Next() != -1)
			{
				counter++;
			}
			NUnit.Framework.Assert.IsTrue(counter == 3);
			iterator.ResetIterator(new com.esri.core.geometry.Envelope1D(10, 11), 0.0);
			counter = 0;
			while (iterator.Next() != -1)
			{
				counter++;
			}
			NUnit.Framework.Assert.IsTrue(counter == 3);
			iterator.ResetIterator(new com.esri.core.geometry.Envelope1D(10, 10.9), 0.0);
			counter = 0;
			while (iterator.Next() != -1)
			{
				counter++;
			}
			NUnit.Framework.Assert.IsTrue(counter == 2);
			iterator.ResetIterator(new com.esri.core.geometry.Envelope1D(11.5, 12), 0.0);
			counter = 0;
			while (iterator.Next() != -1)
			{
				counter++;
			}
			NUnit.Framework.Assert.IsTrue(counter == 2);
			env0 = new com.esri.core.geometry.Envelope1D(0, 4);
			env1 = new com.esri.core.geometry.Envelope1D(6, 7);
			env2 = new com.esri.core.geometry.Envelope1D(9, 10);
			env3 = new com.esri.core.geometry.Envelope1D(9, 11);
			env4 = new com.esri.core.geometry.Envelope1D(7, 12);
			env5 = new com.esri.core.geometry.Envelope1D(13, 15);
			env6 = new com.esri.core.geometry.Envelope1D(1, 6);
			env7 = new com.esri.core.geometry.Envelope1D(3, 3);
			env8 = new com.esri.core.geometry.Envelope1D(8, 8);
			intervals.Clear();
			intervals.Add(env0);
			intervals.Add(env1);
			intervals.Add(env2);
			intervals.Add(env3);
			intervals.Add(env4);
			intervals.Add(env5);
			intervals.Add(env6);
			intervals.Add(env7);
			intervals.Add(env8);
			com.esri.core.geometry.IntervalTreeImpl intervalTree2 = new com.esri.core.geometry.IntervalTreeImpl(true);
			Construct(intervalTree2, intervals);
			intervalTree2.Insert(0);
			intervalTree2.Insert(1);
			intervalTree2.Insert(2);
			intervalTree2.Insert(3);
			intervalTree2.Insert(4);
			intervalTree2.Insert(5);
			intervalTree2.Insert(6);
			intervalTree2.Insert(7);
			intervalTree2.Insert(8);
			iterator = intervalTree2.GetIterator(new com.esri.core.geometry.Envelope1D(8, 8), 0.0);
			counter = 0;
			while (iterator.Next() != -1)
			{
				counter++;
			}
			NUnit.Framework.Assert.IsTrue(counter == 2);
			iterator.ResetIterator(new com.esri.core.geometry.Envelope1D(3, 7), 0.0);
			counter = 0;
			while (iterator.Next() != -1)
			{
				counter++;
			}
			NUnit.Framework.Assert.IsTrue(counter == 5);
			iterator.ResetIterator(new com.esri.core.geometry.Envelope1D(1, 3), 0.0);
			counter = 0;
			while (iterator.Next() != -1)
			{
				counter++;
			}
			NUnit.Framework.Assert.IsTrue(counter == 3);
			iterator.ResetIterator(new com.esri.core.geometry.Envelope1D(6, 9), 0.0);
			counter = 0;
			while (iterator.Next() != -1)
			{
				counter++;
			}
			NUnit.Framework.Assert.IsTrue(counter == 6);
			iterator.ResetIterator(new com.esri.core.geometry.Envelope1D(10, 14), 0.0);
			counter = 0;
			while (iterator.Next() != -1)
			{
				counter++;
			}
			NUnit.Framework.Assert.IsTrue(counter == 4);
			env0 = new com.esri.core.geometry.Envelope1D(11, 14);
			env1 = new com.esri.core.geometry.Envelope1D(21, 36);
			env2 = new com.esri.core.geometry.Envelope1D(15, 19);
			env3 = new com.esri.core.geometry.Envelope1D(3, 8);
			env4 = new com.esri.core.geometry.Envelope1D(34, 38);
			env5 = new com.esri.core.geometry.Envelope1D(23, 27);
			env6 = new com.esri.core.geometry.Envelope1D(6, 36);
			intervals.Clear();
			intervals.Add(env0);
			intervals.Add(env1);
			intervals.Add(env2);
			intervals.Add(env3);
			intervals.Add(env4);
			intervals.Add(env5);
			intervals.Add(env6);
			com.esri.core.geometry.IntervalTreeImpl intervalTree3 = new com.esri.core.geometry.IntervalTreeImpl(false);
			Construct(intervalTree3, intervals);
			iterator = intervalTree3.GetIterator(new com.esri.core.geometry.Envelope1D(50, 50), 0.0);
			System.Diagnostics.Debug.Assert((iterator.Next() == -1));
		}
        /// <summary>
        /// FTPS procedure to upload or download files
        /// </summary>
        /// <param name="blShuttingDown"></param>
        public void FTPs(ref bool blShuttingDown)
        {
            FTPSClient FTPS = null;
            bool blFileFound = false;
            bool blOverwriteFile = false;
            try
            {
                FTPS = new FTPSClient();
                AES256 aes = new AES256(ep);
                string upassword = aes.Decrypt(_password);

                if (Protocol == ProtocolOptions.FTP)
                {
                    FTPS.Connect(Host, Port, new NetworkCredential(Username, upassword), ESSLSupportMode.ClearText, null, null, 0, 0, 0, Timeout);
                }
                else
                {
                    if (AllowAnyCertificate)
                    {
                        if (Protocol == ProtocolOptions.FTPsExplicit)
                        {
                            FTPS.Connect(Host, Port, new NetworkCredential(Username, upassword), ESSLSupportMode.CredentialsRequired | ESSLSupportMode.DataChannelRequested, new RemoteCertificateValidationCallback(ValidateTestServerCertificate), null, 0, 0, 0, Timeout);

                        }
                        else
                        {
                            FTPS.Connect(Host, Port, new NetworkCredential(Username, upassword), ESSLSupportMode.Implicit, new RemoteCertificateValidationCallback(ValidateTestServerCertificate), null, 0, 0, 0, Timeout);

                        }

                    }
                    else
                    {
                        if (Protocol == ProtocolOptions.FTPsExplicit)
                        {
                            FTPS.Connect(Host, Port, new NetworkCredential(Username, upassword), ESSLSupportMode.CredentialsRequired | ESSLSupportMode.DataChannelRequested, new RemoteCertificateValidationCallback(ValidateServerCertificate), null, 0, 0, 0, Timeout);
                        }
                        else
                        {
                            FTPS.Connect(Host, Port, new NetworkCredential(Username, upassword), ESSLSupportMode.Implicit, new RemoteCertificateValidationCallback(ValidateServerCertificate), null, 0, 0, 0, Timeout);
                        }
                    }
                }

                _evt.WriteEntry("Remote Sync: FTPS Connected Successfully to: " + Host, System.Diagnostics.EventLogEntryType.Information, 2005, 20);

                upassword = "";
                switch (TransferDirection)
                {
                    case TransferDirectionOptions.Upload:
                        BackupFolder = BackupFolder.Replace("\\\\", "\\");
                        IList<DirectoryListItem> RemoteFilesU=null;

                        try
                        {
                            FTPS.SetCurrentDirectory(RemoteDirectory);
                            RemoteFilesU = FTPS.GetDirectoryList();
                            UploadFiles = Common.WalkDirectory(BackupFolder, ref blShuttingDown, FileNameFilter);

                            //CreateRemote Directories
                            foreach (DirectoryInfo dir in Common.GetAllDirectories(BackupFolder))
                            {
                                string strRemotePath = "";
                                strRemotePath=Common.RemotePathCombine(RemoteDirectory, dir.FullName, BackupFolder);
                                if (blShuttingDown)
                                {
                                    throw new Exception("Shutting Down");
                                }

                                if (blShuttingDown)
                                {

                                    _evt.WriteEntry("Remote Sync: Shutting down about to possibly create a folder on Host: " + Host + " Folder: " + strRemotePath, System.Diagnostics.EventLogEntryType.Information, 2040, 20);
                                    return;
                                }

                                try
                                {
                                    FTPS.MakeDir(strRemotePath);
                                    _evt.WriteEntry("Remote Sync: Folder Created on " + Host + " : " + strRemotePath, System.Diagnostics.EventLogEntryType.Information, 2040, 20);
                                }
                                catch (Exception)
                                {
                                }

                                //FTPS.SetCurrentDirectory(strRemotePath);
                            }

                            //Upload Each File
                            foreach (FileInfo fileU in UploadFiles)
                            {
                                if (blShuttingDown)
                                {
                                    throw new Exception("Shutting Down");
                                }
                                try
                                {
                                    string strRemotePath = "";

                                    strRemotePath = Common.RemotePathCombine(RemoteDirectory, fileU.DirectoryName, BackupFolder);
                                    strRemotePath = Common.RemotePathCombine(strRemotePath, fileU.Name);

                                    blFileFound = false;
                                    blOverwriteFile = false;
                                    try
                                    {

                                        if (FTPS.GetFileTransferSize(strRemotePath) > 0)
                                        {
                                            blFileFound = true;
                                            if (!(/*(fileU.LastAccessTimeUtc == FTPS.GetFileModificationTime(strRemotePath)) &&*/ ((ulong)fileU.Length == FTPS.GetFileTransferSize(strRemotePath))))
                                            {
                                                blOverwriteFile = true;
                                            }

                                        }
                                    }
                                    catch (Exception)
                                    {
                                        //File Not found No Action Necessary on Error
                                    }

                                    try
                                    {
                                        if (FTPS.GetFileTransferSize(strRemotePath + ".7z") > 0)
                                        {
                                            blFileFound = true;
                                            //7z file exists but there is no current way to compare the 7zipped file vs the non compressed file so the user overwrite option will force the appropriate action
                                            blOverwriteFile = true;
                                            /*
                                            if (!((fileU.LastAccessTimeUtc == FTPS.GetFileModificationTime(strRemotePath + ".7z")) && ((ulong)fileU.Length == FTPS.GetFileTransferSize(strRemotePath + ".7z"))))
                                            {
                                                blOverwriteFile = true;
                                            }
                                            */

                                        }
                                    }
                                    catch (Exception)
                                    {
                                        //File Not Found No Action Necessary on Error
                                    }
                                    if (blShuttingDown)
                                    {

                                        _evt.WriteEntry("Remote Sync FTPS: Shutting Down about to possible upload a file: " + fileU.FullName + " Host: " + Host + " To: " + strRemotePath, System.Diagnostics.EventLogEntryType.Information, 2010, 20);
                                        return;
                                    }

                                    if ((!blFileFound || blOverwriteFile || (Overwrite == OverwriteOptions.ForceOverwrite && blFileFound)) && !(Overwrite == OverwriteOptions.NoOverwrite && blFileFound))
                                    {
                                        //This Uploads the file
                                        FTPS.PutFile(fileU.FullName, strRemotePath);
                                        _evt.WriteEntry("Remote Sync FTPS: File Uploaded: " + fileU.FullName + " Host: " + Host + " To: " + strRemotePath, System.Diagnostics.EventLogEntryType.Information, 2010, 20);

                                    }

                                }
                                catch (Exception exp)
                                {
                                    _evt.WriteEntry("Remote Sync FTPS: Host:" + Host + " Upload FileName: " + fileU.FullName + " Error: " + exp.Message, System.Diagnostics.EventLogEntryType.Error, 2010, 20);
                                }

                            }
                        }
                        catch (Exception exu)
                        {
                            _evt.WriteEntry("Remote Sync FTPS: Upload Error on Host:" + Host + " Error: " + exu.Message, System.Diagnostics.EventLogEntryType.Error, 2010, 20);
                        }
                        finally
                        {
                            if (RemoteFilesU != null)
                            {
                                RemoteFilesU.Clear();
                            }
                            if (UploadFiles != null)
                            {
                                UploadFiles.Clear();
                            }
                            RemoteFilesU = null;
                            UploadFiles = null;

                        }
                        break;
                    case TransferDirectionOptions.Download:

                        List<RemoteFile> RemoteFilesD=null;

                        try
                        {
                            FTPS.SetCurrentDirectory(RemoteDirectory);
                            RemoteFilesD = Common.GetRemoteDirectories(RemoteDirectory, FTPS, "");
                            Common.CreateLocalFolderStructure(RemoteFilesD, BackupFolder);
                            foreach (RemoteFile FileD in RemoteFilesD)
                            {
                                string strLocalFile = "";
                                string strRemoteFile = "";

                                if (blShuttingDown)
                                {
                                    throw new Exception("Shutting Down");
                                }
                                try
                                {
                                    if (!FileD.IsDirectory)
                                    {

                                        strLocalFile = Common.WindowsPathCombine(BackupFolder, FileD.ParentDirectory);
                                        strLocalFile = Common.WindowsPathCombine(strLocalFile, FileD.Name);
                                        strRemoteFile = FileD.FullName;

                                        if (Common.DownloadFile(strLocalFile, strRemoteFile, FileD, Overwrite))
                                        {
                                            if ((!blFileFound || blOverwriteFile || (Overwrite == OverwriteOptions.ForceOverwrite && blFileFound)) && !(Overwrite == OverwriteOptions.NoOverwrite && blFileFound))
                                            {
                                                if (Common.FixNullstring(FileNameFilter) != "" && Common.VerifyPattern(FileNameFilter))
                                                {
                                                    if (Common.FileNameMatchesPattern(FileNameFilter, FileD.Name))
                                                    {
                                                        FTPS.GetFile(strRemoteFile, strLocalFile);
                                                        _evt.WriteEntry("Remote Sync FTPS: File Downloaded: " + strRemoteFile + " Host: " + Host + " To: " + strLocalFile, System.Diagnostics.EventLogEntryType.Information, 2020, 20);
                                                    }
                                                }
                                                else
                                                {
                                                    FTPS.GetFile(strRemoteFile, strLocalFile);
                                                    _evt.WriteEntry("Remote Sync FTPS: File Downloaded: " + strRemoteFile + " Host: " + Host + " To: " + strLocalFile, System.Diagnostics.EventLogEntryType.Information, 2020, 20);
                                                }
                                            }

                                        }

                                    }
                                }
                                catch (Exception exdi)
                                {
                                    _evt.WriteEntry("Remote Sync FTPS: File Download Error: " + strRemoteFile + " Host: " + Host + " To: " + strLocalFile + " Error: " + exdi.Message, System.Diagnostics.EventLogEntryType.Error, 2020, 20);
                                }

                            }
                        }
                        catch (Exception exd)
                        {
                            _evt.WriteEntry("Remote Sync FTPS: Download Error: Host: " + Host + " Error: " + exd.Message, System.Diagnostics.EventLogEntryType.Error, 2020, 20);
                        }
                        finally
                        {
                            if (RemoteFilesD !=null)
                            {
                                RemoteFilesD.Clear();
                            }
                            RemoteFilesD = null;
                        }
                        break;

                }
            }
            catch (Exception ex)
            {
                _evt.WriteEntry("Remote Sync FTPS: Error: Host: " + Host + " Error: " + ex.Message, System.Diagnostics.EventLogEntryType.Error, 2000, 20);
            }
            finally
            {
                if (FTPS != null)
                {
                    try
                    {
                        FTPS.Close();
                    }
                    catch (Exception)
                    {

                    }

                    FTPS.Dispose();

                }
                FTPS = null;
            }
        }
Exemplo n.º 53
0
        public static System.Collections.Generic.List<KSF_CharArray> convertStringToCharArray(string s)
        {
            System.Collections.Generic.List<KSF_CharArray> chArray = new System.Collections.Generic.List<KSF_CharArray>();
            chArray.Clear();

            foreach (char c in s)
            {
                switch (c)
                {
                    case '1':
                        chArray.Add(ch1);
                        break;

                    case '2':
                        chArray.Add(ch2);
                        break;

                    case '3':
                        chArray.Add(ch3);
                        break;

                    case '4':
                        chArray.Add(ch4);
                        break;

                    case '5':
                        chArray.Add(ch5);
                        break;

                    case '6':
                        chArray.Add(ch6);
                        break;

                    case '7':
                        chArray.Add(ch7);
                        break;

                    case '8':
                        chArray.Add(ch8);
                        break;

                    case '9':
                        chArray.Add(ch9);
                        break;

                    case '0':
                        chArray.Add(ch0);
                        break;

                    case 's':
                        chArray.Add(chs);
                        break;

                    case 'A':
                        chArray.Add(Ach);
                        break;

                    case ' ':
                        chArray.Add(Spacech);
                        break;

                    case 'k':
                        chArray.Add(chk);
                        break;

                    case 't':
                        chArray.Add(cht);
                        break;

                    default:
                        break;
                }
            }

            return chArray;
        }
Exemplo n.º 54
0
        private void GetThrustTransforms()
        {
            //Debug.Log("Looking for transforms: " + thrustTransform);

            thrustTransforms = new System.Collections.Generic.List<Transform>();
            thrustTransforms.Clear();
            foreach (Transform t in this.part.FindModelTransforms(thrustTransform))
            {
                thrustTransforms.Add(t);
            }
        }
		public static void TestEnvelope2Dintersector()
		{
			System.Collections.Generic.List<com.esri.core.geometry.Envelope2D> envelopes = new System.Collections.Generic.List<com.esri.core.geometry.Envelope2D>(0);
			com.esri.core.geometry.Envelope2D env0 = new com.esri.core.geometry.Envelope2D(2, 3, 4, 4);
			com.esri.core.geometry.Envelope2D env1 = new com.esri.core.geometry.Envelope2D(5, 13, 9, 15);
			com.esri.core.geometry.Envelope2D env2 = new com.esri.core.geometry.Envelope2D(6, 9, 11, 12);
			com.esri.core.geometry.Envelope2D env3 = new com.esri.core.geometry.Envelope2D(8, 10, 9, 17);
			com.esri.core.geometry.Envelope2D env4 = new com.esri.core.geometry.Envelope2D(11.001, 12, 14, 14);
			com.esri.core.geometry.Envelope2D env5 = new com.esri.core.geometry.Envelope2D(1, 3, 3, 4);
			com.esri.core.geometry.Envelope2D env6 = new com.esri.core.geometry.Envelope2D(0, 2, 5, 10);
			com.esri.core.geometry.Envelope2D env7 = new com.esri.core.geometry.Envelope2D(4, 7, 5, 10);
			com.esri.core.geometry.Envelope2D env8 = new com.esri.core.geometry.Envelope2D(3, 15, 15, 15);
			com.esri.core.geometry.Envelope2D env9 = new com.esri.core.geometry.Envelope2D(0, 9, 14, 9);
			com.esri.core.geometry.Envelope2D env10 = new com.esri.core.geometry.Envelope2D(0, 8.999, 14, 8.999);
			envelopes.Add(env0);
			envelopes.Add(env1);
			envelopes.Add(env2);
			envelopes.Add(env3);
			envelopes.Add(env4);
			envelopes.Add(env5);
			envelopes.Add(env6);
			envelopes.Add(env7);
			envelopes.Add(env8);
			envelopes.Add(env9);
			envelopes.Add(env10);
			com.esri.core.geometry.Envelope2DIntersectorImpl intersector = new com.esri.core.geometry.Envelope2DIntersectorImpl();
			intersector.SetTolerance(0.001);
			intersector.StartConstruction();
			for (int i = 0; i < envelopes.Count; i++)
			{
				intersector.AddEnvelope(i, envelopes[i]);
			}
			intersector.EndConstruction();
			int count = 0;
			while (intersector.Next())
			{
				int env_a = intersector.GetHandleA();
				int env_b = intersector.GetHandleB();
				count++;
				com.esri.core.geometry.Envelope2D env = new com.esri.core.geometry.Envelope2D();
				env.SetCoords(envelopes[env_a]);
				env.Inflate(0.001, 0.001);
				NUnit.Framework.Assert.IsTrue(env.IsIntersecting(envelopes[env_b]));
			}
			System.Diagnostics.Debug.Assert((count == 16));
			com.esri.core.geometry.Envelope2DIntersectorImpl intersector2 = new com.esri.core.geometry.Envelope2DIntersectorImpl();
			intersector2.SetTolerance(0.0);
			intersector2.StartConstruction();
			for (int i_1 = 0; i_1 < envelopes.Count; i_1++)
			{
				intersector2.AddEnvelope(i_1, envelopes[i_1]);
			}
			intersector2.EndConstruction();
			count = 0;
			while (intersector2.Next())
			{
				int env_a = intersector2.GetHandleA();
				int env_b = intersector2.GetHandleB();
				count++;
				com.esri.core.geometry.Envelope2D env = new com.esri.core.geometry.Envelope2D();
				env.SetCoords(envelopes[env_a]);
				NUnit.Framework.Assert.IsTrue(env.IsIntersecting(envelopes[env_b]));
			}
			System.Diagnostics.Debug.Assert((count == 13));
			env0 = new com.esri.core.geometry.Envelope2D(0, 0, 0, 10);
			env1 = new com.esri.core.geometry.Envelope2D(0, 10, 10, 10);
			env2 = new com.esri.core.geometry.Envelope2D(10, 0, 10, 10);
			env3 = new com.esri.core.geometry.Envelope2D(0, 0, 10, 0);
			envelopes.Clear();
			envelopes.Add(env0);
			envelopes.Add(env1);
			envelopes.Add(env2);
			envelopes.Add(env3);
			com.esri.core.geometry.Envelope2DIntersectorImpl intersector3 = new com.esri.core.geometry.Envelope2DIntersectorImpl();
			intersector3.SetTolerance(0.001);
			intersector3.StartConstruction();
			for (int i_2 = 0; i_2 < envelopes.Count; i_2++)
			{
				intersector3.AddEnvelope(i_2, envelopes[i_2]);
			}
			intersector3.EndConstruction();
			count = 0;
			while (intersector3.Next())
			{
				int env_a = intersector3.GetHandleA();
				int env_b = intersector3.GetHandleB();
				count++;
				com.esri.core.geometry.Envelope2D env = new com.esri.core.geometry.Envelope2D();
				env.SetCoords(envelopes[env_a]);
				NUnit.Framework.Assert.IsTrue(env.IsIntersecting(envelopes[env_b]));
			}
			NUnit.Framework.Assert.IsTrue(count == 4);
			env0 = new com.esri.core.geometry.Envelope2D(0, 0, 0, 10);
			envelopes.Clear();
			envelopes.Add(env0);
			envelopes.Add(env0);
			envelopes.Add(env0);
			envelopes.Add(env0);
			com.esri.core.geometry.Envelope2DIntersectorImpl intersector4 = new com.esri.core.geometry.Envelope2DIntersectorImpl();
			intersector4.SetTolerance(0.001);
			intersector4.StartConstruction();
			for (int i_3 = 0; i_3 < envelopes.Count; i_3++)
			{
				intersector4.AddEnvelope(i_3, envelopes[i_3]);
			}
			intersector4.EndConstruction();
			count = 0;
			while (intersector4.Next())
			{
				int env_a = intersector4.GetHandleA();
				int env_b = intersector4.GetHandleB();
				count++;
				com.esri.core.geometry.Envelope2D env = new com.esri.core.geometry.Envelope2D();
				env.SetCoords(envelopes[env_a]);
				NUnit.Framework.Assert.IsTrue(env.IsIntersecting(envelopes[env_b]));
			}
			System.Diagnostics.Debug.Assert((count == 6));
			env0 = new com.esri.core.geometry.Envelope2D(0, 10, 10, 10);
			envelopes.Clear();
			envelopes.Add(env0);
			envelopes.Add(env0);
			envelopes.Add(env0);
			envelopes.Add(env0);
			com.esri.core.geometry.Envelope2DIntersectorImpl intersector5 = new com.esri.core.geometry.Envelope2DIntersectorImpl();
			intersector5.SetTolerance(0.001);
			intersector5.StartConstruction();
			for (int i_4 = 0; i_4 < envelopes.Count; i_4++)
			{
				intersector5.AddEnvelope(i_4, envelopes[i_4]);
			}
			intersector5.EndConstruction();
			count = 0;
			while (intersector5.Next())
			{
				int env_a = intersector5.GetHandleA();
				int env_b = intersector5.GetHandleB();
				count++;
				com.esri.core.geometry.Envelope2D env = new com.esri.core.geometry.Envelope2D();
				env.SetCoords(envelopes[env_a]);
				NUnit.Framework.Assert.IsTrue(env.IsIntersecting(envelopes[env_b]));
			}
			NUnit.Framework.Assert.IsTrue(count == 6);
		}
        /// <summary>
        /// SFTP procedure to upload or download files
        /// </summary>
        /// <param name="blShuttingDown"></param>
        public void SFTP(ref bool blShuttingDown)
        {
            SftpClient sftp = null;
            try
            {
                string upassword = "";
                AES256 aes = new AES256(ep);
                if (_password.Length > 0)
                {
                    upassword = aes.Decrypt(_password);
                }
                if (string.IsNullOrEmpty(KeyFileDirectory))
                {
                    sftp = new SftpClient(Host, Port, Username, upassword);
                }
                else
                {
                    KeyFiles = Common.WalkDirectory(KeyFileDirectory, ref blShuttingDown);
                    List<PrivateKeyFile> PKeyFiles = new List<PrivateKeyFile>();
                    foreach (FileInfo kfile in KeyFiles)
                    {
                        PrivateKeyFile p;
                        if (UsePassPhrase)
                        {
                            p = new PrivateKeyFile(kfile.FullName, upassword);
                        }
                        else
                        {
                            p = new PrivateKeyFile(kfile.FullName);
                        }
                        PKeyFiles.Add(p);
                    }

                    sftp = new SftpClient(Host, Port, Username, PKeyFiles.ToArray());
                }

                BackupFolder = BackupFolder.Replace("\\\\", "\\");
                UploadFiles = Common.WalkDirectory(BackupFolder, ref blShuttingDown, FileNameFilter);
                sftp.Connect();
                upassword = "";
                _evt.WriteEntry("Remote Sync SFTP: Connected successfully to Host: " + Host, System.Diagnostics.EventLogEntryType.Information,1005, 10);

                switch (TransferDirection)
                {
                    case TransferDirectionOptions.Upload:
                        List<DirectoryInfo> Dirs = null;
                        Stream ureader = null;
                        try
                        {
                            string strRemotePath = "";
                            strRemotePath = Common.FixNullstring(RemoteDirectory);
                            if (RemoteDirectory != "")
                            {
                                strRemotePath = RemoteDirectory + "/";
                            }
                            strRemotePath = Common.RemotePathClean(Common.FixNullstring(strRemotePath));
                            BackupFolder = Common.WindowsPathClean(Common.FixNullstring(BackupFolder));

                            if (!string.IsNullOrEmpty(strRemotePath))
                            {
                                if (!sftp.Exists(strRemotePath))
                                {
                                    sftp.CreateDirectory(strRemotePath);
                                }
                                sftp.ChangeDirectory(strRemotePath);
                            }

                            //Create Directories
                            Dirs = Common.GetAllDirectories(BackupFolder);
                            foreach (DirectoryInfo dir in Dirs)
                            {
                                if (blShuttingDown)
                                {
                                    throw new Exception("Shutting Down");
                                }
                                try
                                {
                                    strRemotePath = dir.FullName;
                                    strRemotePath = Common.RemotePathCombine(RemoteDirectory, strRemotePath, BackupFolder);
                                    if (blShuttingDown)
                                    {
                                        _evt.WriteEntry("Remote Sync: Shutting Down, about to Create a Folder: " + strRemotePath, System.Diagnostics.EventLogEntryType.Information, 1040, 10);
                                        return;
                                    }
                                }
                                catch (Exception)
                                {
                                    _evt.WriteEntry("Remote Sync: Folder Path Text Formatting Error: " + strRemotePath, System.Diagnostics.EventLogEntryType.Error, 1040, 10);
                                }
                                try
                                {

                                    sftp.CreateDirectory(strRemotePath);
                                    _evt.WriteEntry("Remote Sync: Folder Created on " + Host + ": " + strRemotePath, System.Diagnostics.EventLogEntryType.Information, 1040, 10);

                                }
                                catch (Exception)
                                {

                                }
                            }

                            //Upload every file found and place in the correct directory
                            UploadFiles = Common.WalkDirectory(BackupFolder, ref blShuttingDown, FileNameFilter);
                            foreach (FileInfo ufile in UploadFiles)
                            {

                                try
                                {
                                    bool blFileFound = false;
                                    bool blOverwriteFile = false;

                                    if (blShuttingDown)
                                    {
                                        throw new Exception("Shutting Down");
                                    }

                                    strRemotePath = ufile.DirectoryName;
                                    strRemotePath = Common.RemotePathCombine(Common.FixNullstring(RemoteDirectory),strRemotePath,Common.FixNullstring(BackupFolder));

                                    if (!string.IsNullOrEmpty(strRemotePath))
                                    {
                                        sftp.ChangeDirectory(strRemotePath);
                                    }

                                    strRemotePath = Common.RemotePathCombine(strRemotePath, ufile.Name);

                                    if (sftp.Exists(strRemotePath))
                                    {
                                        blFileFound = true;
                                        //if (!((ufile.LastWriteTimeUtc == sftp.GetLastWriteTimeUtc(strRemotePath))))
                                        SftpFile mupload = sftp.Get(strRemotePath);
                                        if (ufile.Length != mupload.Length)
                                        {
                                            blOverwriteFile = true;
                                        }
                                    }

                                    if (sftp.Exists(strRemotePath + ".7z"))
                                    {
                                        blFileFound = true;
                                        SftpFile mupload = sftp.Get(strRemotePath + ".7z");

                                        //File Size can't be used to compare and last write time cannot be modified so can't compare
                                        blOverwriteFile = true;  //Overwrite Options can be specified by the user

                                        /*if (!((ufile.LastWriteTimeUtc == mupload.LastWriteTimeUtc)))
                                        {
                                            blOverwriteFile = true;
                                        }*/
                                    }
                                    if (blShuttingDown)
                                    {

                                        _evt.WriteEntry("Remote Sync: Shutting Down, about to possibly upload a file: " + ufile.FullName + " Host: " + Host + " To: " + strRemotePath, System.Diagnostics.EventLogEntryType.Information, 1010, 10);
                                        return;
                                    }

                                    if ((blFileFound == false || blOverwriteFile || (Overwrite == OverwriteOptions.ForceOverwrite && blFileFound)) && !(Overwrite == OverwriteOptions.NoOverwrite && blFileFound == true))
                                    {
                                        /*if (sftp.Exists(ufile.FullName))
                                        {
                                            SftpFileAttributes fa=sftp.GetAttributes(ufile.FullName);
                                            fa.OwnerCanWrite = true;
                                            fa.OthersCanWrite = true;
                                            fa.GroupCanWrite = true;
                                            sftp.SetAttributes(ufile.FullName,fa);
                                            sftp.DeleteFile(ufile.FullName);
                                        }*/

                                        ureader = new FileStream(ufile.FullName, FileMode.Open);
                                        //sftp.UploadFile(File.OpenRead(ufile.FullName), strRemotePath);
                                        sftp.UploadFile(ureader, strRemotePath);

                                        _evt.WriteEntry("Remote Sync SFTP: File Uploaded: " + ufile.FullName + " Host: " + Host + " To: " + strRemotePath, System.Diagnostics.EventLogEntryType.Information, 1010, 10);
                                        ureader.Close();
                                        ureader = null;
                                        //sftp.SetLastWriteTime(ufile.Name, ufile.LastWriteTimeUtc); //not implemented yet
                                    }

                                }
                                catch (Exception ex)
                                {
                                    _evt.WriteEntry("Remote Sync SFTP: Host: " + Host + "Upload of FileName: " + ufile.FullName + " Error: " + ex.Message, System.Diagnostics.EventLogEntryType.Error, 1000, 10);
                                }

                            }
                        }
                        catch (Exception exsftup)
                        {
                            _evt.WriteEntry("Remote Sync SFTP: Host: " + Host + " Error: " + exsftup.Message, System.Diagnostics.EventLogEntryType.Error, 1000, 10);

                        }
                        finally
                        {
                            if (Dirs != null)
                            {
                                Dirs.Clear();
                            }
                            Dirs = null;
                            if (ureader != null)
                            {
                                ureader.Close();
                                ureader = null;
                            }
                            if (UploadFiles != null)
                            {
                                UploadFiles.Clear();
                            }
                            UploadFiles = null;
                        }

                        break;
                    case TransferDirectionOptions.Download:

                        List<RemoteFile> RemoteFiles=null;
                        try
                        {
                            if (!string.IsNullOrEmpty(RemoteDirectory))
                            {
                                sftp.ChangeDirectory(RemoteDirectory);

                            }

                            RemoteFiles = Common.GetRemoteDirectories(RemoteDirectory, sftp, "");
                            //Creates Folder Locally in the BackupFolder
                            Common.CreateLocalFolderStructure(RemoteFiles, BackupFolder);

                            //Downloads Files in each directory
                            foreach (RemoteFile ftpfile in RemoteFiles)
                            {
                                string DownloadPath = "";
                                string strLocalFilePath = "";
                                string strRemoteFilePath = "";
                                if (blShuttingDown)
                                {
                                    throw new Exception("Shutting Down");
                                }
                                try
                                {
                                    DownloadPath = Common.RemotePathCombine(RemoteDirectory,ftpfile.ParentDirectory);
                                    if (!ftpfile.IsDirectory)
                                    {
                                        strLocalFilePath = Common.WindowsPathCombine(BackupFolder, ftpfile.ParentDirectory);
                                        strLocalFilePath = Common.WindowsPathCombine(strLocalFilePath, ftpfile.Name);
                                        strRemoteFilePath = Common.RemotePathCombine(DownloadPath, ftpfile.Name);

                                        if (blShuttingDown)
                                        {
                                            if (sftp != null)
                                            {
                                                if (sftp.IsConnected)
                                                {
                                                    sftp.Disconnect();
                                                }
                                                sftp.Dispose();
                                            }
                                            _evt.WriteEntry("Remote Sync: Shutting Down, about to possibly download a Host: " + Host + " file: " + DownloadPath + "/" + ftpfile.Name + " From: " + strLocalFilePath, System.Diagnostics.EventLogEntryType.Information, 1020, 10);
                                            return;
                                        }

                                        if (Common.DownloadFile(strLocalFilePath, strRemoteFilePath, ftpfile, Overwrite))
                                        {

                                            if (Common.FixNullstring(FileNameFilter) != "" && Common.VerifyPattern(FileNameFilter))
                                            {
                                                if (Common.FileNameMatchesPattern(FileNameFilter, ftpfile.Name))
                                                {
                                                    if (File.Exists(strLocalFilePath))
                                                    {
                                                        File.SetAttributes(strLocalFilePath, FileAttributes.Normal);
                                                        File.Delete(strLocalFilePath);
                                                    }
                                                    using (FileStream fs = new FileStream(strLocalFilePath, FileMode.Create))
                                                    {

                                                        sftp.DownloadFile(strRemoteFilePath, fs);
                                                        _evt.WriteEntry("Remote Sync SFTP: File Downloaded: " + strRemoteFilePath + " Host: " + Host + " To: " + strLocalFilePath, System.Diagnostics.EventLogEntryType.Information, 1020, 10);
                                                        fs.Close();
                                                    }
                                                }
                                            }
                                            else
                                            {
                                                if (File.Exists(strLocalFilePath))
                                                {
                                                    File.SetAttributes(strLocalFilePath, FileAttributes.Normal);
                                                    File.Delete(strLocalFilePath);
                                                }
                                                using (FileStream fs = new FileStream(strLocalFilePath, FileMode.Create))
                                                {

                                                    sftp.DownloadFile(strRemoteFilePath, fs);
                                                    _evt.WriteEntry("Remote Sync SFTP: File Downloaded: " + strRemoteFilePath + " Host: " + Host + " To: " + strLocalFilePath, System.Diagnostics.EventLogEntryType.Information, 1020, 10);
                                                    fs.Close();
                                                }
                                            }

                                        }

                                    }
                                }
                                catch (Exception exintry)
                                {
                                    _evt.WriteEntry("Remote Sync SFTP: File Download Error: " + DownloadPath + "/" + ftpfile.Name + " Host: " + Host + " To: " + strLocalFilePath + " Error: " + exintry.Message, System.Diagnostics.EventLogEntryType.Error, 1000, 10);
                                }

                            }

                            /*

                            //Example Simple Usage
                            RemoteFiles = sftp.ListDirectory(".");

                            foreach (Renci.SshNet.Sftp.SftpFile ftpfile in RemoteFiles)
                            {
                                using (FileStream fs = new FileStream(BackupFolder + "\\" + ftpfile.Name, FileMode.Create))
                                {
                                    sftp.DownloadFile(ftpfile.FullName, fs);
                                }

                            }
                            */
                        }
                        catch (Exception excon)
                        {
                            _evt.WriteEntry("Remote Sync SFTP: Host: " + Host + " Error: " + excon.Message, System.Diagnostics.EventLogEntryType.Error, 1000, 10);
                        }
                        finally
                        {
                            if (RemoteFiles != null)
                            {
                                RemoteFiles.Clear();
                            }
                            RemoteFiles = null;
                        }

                        break;
                }
            }
            catch (Exception ex)
            {
                _evt.WriteEntry("Remote Sync SFTP: Host: " + Host + " Error: " + ex.Message, System.Diagnostics.EventLogEntryType.Error, 1000, 10);
            }
            finally
            {
                if (sftp != null)
                {
                    if (sftp.IsConnected)
                    {
                        sftp.Disconnect();
                    }
                    sftp.Dispose();
                }
                sftp = null;
            }
        }
        public void When_Identified_Error_Are_Encountered_CheckRetry_Should_Return_True()
        {
            var listErrors = new System.Collections.Generic.List<Error>();
            var error4070 = new Error()
            {
                Code = 4070,
                Message = "whatever"
            };
            var error4050 = new Error()
            {
                Code = 4050,
                Message = "whatever"
            };
            var error5000 = new Error()
            {
                Code = 5000,
                Message = "somePrefix" + QueryClient.ERROR_5000_MSG_QUERYPORT_INDEXNOTFOUND + "someSuffix"
            };
            var notAnError5000 = new Error()
            {
                Code = 5000,
                Message = "Syntax Error"
            };

            var request = new QueryRequest().AdHoc(false);
            var response = new QueryResult<string>()
            {
                Errors = listErrors,
                Success = false
            };

            listErrors.Add(error4050);
            Assert.IsTrue(QueryClient.CheckRetry(request, response));

            listErrors.Clear();
            listErrors.Add(error4070);
            Assert.IsTrue(QueryClient.CheckRetry(request, response));

            listErrors.Clear();
            listErrors.Add(error5000);
            Assert.IsTrue(QueryClient.CheckRetry(request, response));

            listErrors.Clear();
            listErrors.Add(notAnError5000);
            Assert.IsFalse(QueryClient.CheckRetry(request, response));
        }