Exemple #1
0
 /// <summary>
 /// Constructor method to initialize flags
 /// </summary>
 public IslandingAnalyzer()
 {
     m_islandingFlag = IslandingFlag.NoIslandingConditionExists;
     m_locationFlag  = LocationFlag.NoIslandingCondition;
     m_severityFlag  = SeverityFlag.LowSeverity;
     m_stabilityFlag = StabilityFlag.Stable;
 }
            internal void SetLocation(Vector2 position, IPanel panel)
            {
                Position = position;
                Panel    = panel;
                Flags    = LocationFlag.None;

                if (panel == null || !panel.visualTree.layout.Contains(position))
                {
                    Flags |= LocationFlag.OutsidePanel;
                }
            }
        public static bool HasLocationFlag(int pointerId, ContextType contextType, LocationFlag flag)
        {
            switch (contextType)
            {
            case ContextType.Editor:
            default:
                return(HasFlagFast(s_EditorPointerLocations[pointerId].Flags, flag));

            case ContextType.Player:
                return(HasFlagFast(s_PlayerPointerLocations[pointerId].Flags, flag));
            }
        }
Exemple #4
0
        /// <summary>
        /// Islanding Detection and Location Judgement
        ///
        /// Decision Tree Splitting Points Data
        ///
        /// DT_1 Islanding Judgement: Full loop DVP
        ///
        /// DT_1 Location: Yorktown
        ///
        /// DT_1 Location: Chesterfield
        ///
        /// DT_1 Location: Chesapeake
        /// </summary>
        /// <param name="data">
        /// A column matrix of processed data
        /// prepared for the decision tree
        /// </param>
        public void islandingJudgment(double[] data)
        {
            if ((data[50] <= 1.052513 && data[8] > 1.027590 && data[84] > -0.503139 &&
                 (data[52] <= 1.052598 || (data[52] > 1.052598 && data[4] > 1.057792))) ||
                (data[50] > 1.052513 && ((data[4] <= 1.058394 && data[63] <= 0.062944) ||
                                         (data[4] > 1.058394 && data[0] <= 1.047624))))
            {
                m_islandingFlag = IslandingFlag.IslandingConditionExists;

                if (m_islandingFlag == IslandingFlag.IslandingConditionExists)
                {
                    /// Location determination
                    if (data[55] > -0.169610 && data[84] <= 0.547558 &&
                        ((data[70] <= -4.106833 && data[0] > 1.045549 &&
                          (data[69] > -0.801558 || (data[69] <= -0.801558 &&
                                                    data[0] <= 1.045994))) || (data[70] > -4.106833 &&
                                                                               data[61] > 0.03 && data[63] <= 0.462647 && data[70] <= -3.876851)))
                    {
                        /// Yorktown
                        m_locationFlag = LocationFlag.Yorktown;
                    }
                    else if (data[55] <= -0.17 && data[8] <= 1.04)
                    {
                        /// Chesterfield
                        m_locationFlag = LocationFlag.Chesterfield;
                    }
                    else if (data[55] > -0.169010 && (data[84] > 0.547558 ||
                                                      (data[84] <= 0.547558 && data[70] > -4.106833 &&
                                                       data[61] > 0.032730 && data[63] > 0.462647 && data[0] <= 1.044399)))
                    {
                        /// Chesapeake
                        m_locationFlag = LocationFlag.Chesapeake;
                    }
                    else
                    {
                        /// Undetermined
                        m_locationFlag = LocationFlag.Undetermined;
                    }
                }
            }
            else
            {
                m_islandingFlag = IslandingFlag.NoIslandingConditionExists;
                m_locationFlag  = LocationFlag.NoIslandingCondition;
            }
        }
Exemple #5
0
        /// <summary>
        /// 将蓝图转换成一个要显示的 ListViewItem
        /// </summary>
        /// <returns></returns>
        public ListViewItem ListViewItem()
        {
            ListViewItem lvi = new ListViewItem();

            // 蓝图名称
            if (BluePrints == null)
            {
                lvi.Text = invTypes.GetInvTypes(BluePrintID).Name;
            }
            else
            {
                lvi.Text = BluePrints.invTypes.Name;
            }

            lvi.SubItems.Add(ID.ToString());
            lvi.SubItems.Add(ItemID.ToString());
            lvi.SubItems.Add(BluePrintID.ToString());
            lvi.SubItems.Add(MaterialEfficiency.ToString());
            lvi.SubItems.Add(TimeEfficiency.ToString());
            lvi.SubItems.Add(Quantity.ToString());
            lvi.SubItems.Add(Runs.ToString());

            // 如果是角色拥有则显示角色名称, 否则直接显示"军团"
            if (CharacterOwned)
            {
                if (Characters == null)
                {
                    lvi.SubItems.Add(Characters.GetCharacters(Owner).CharacterName);
                }
                else
                {
                    lvi.SubItems.Add(Characters.CharacterName);
                }
            }
            else
            {
                lvi.SubItems.Add("军团");
            }

            lvi.SubItems.Add(LocationID.ToString());
            lvi.SubItems.Add(LocationFlag.ToString());
            lvi.SubItems.Add(UpdateTime.ToString());
            lvi.SubItems.Add(Cost.ToString());

            return(lvi);
        }
 static bool HasFlagFast(LocationFlag flagSet, LocationFlag flag)
 {
     return((flagSet & flag) == flag);
 }