示例#1
0
        static void SetItemList(SETItem obj, object val)
        {
            MissionSETItem item  = (MissionSETItem)obj;
            MsnObjectList  value = (MsnObjectList)val;

            item.PRMBytes[6] = (byte)((item.PRMBytes[6] & 0x7F) | (int)val << 7);
        }
        static void SetWeight(SETItem obj, object val)
        {
            MissionSETItem item  = (MissionSETItem)obj;
            ushort         value = (ushort)val;

            item.PRMBytes[4] = (byte)(value >> 8);
            item.PRMBytes[5] = (byte)value;
        }
示例#3
0
        static object GetItemIndex(SETItem obj)
        {
            MissionSETItem item = (MissionSETItem)obj;
            short          val  = (short)(item.PRMBytes[6] << 8 | item.PRMBytes[7]);

            if (val == -1)
            {
                return(-1);
            }
            else
            {
                return(val & 0x7FFF);
            }
        }
示例#4
0
        static void SetItemIndex(SETItem obj, object val)
        {
            MissionSETItem item  = (MissionSETItem)obj;
            short          value = (short)val;

            if (value == -1)
            {
                item.PRMBytes[6] = item.PRMBytes[7] = 0xFF;
            }
            else
            {
                item.PRMBytes[6] = (byte)((value >> 8) & 0x7F);
                item.PRMBytes[7] = (byte)value;
            }
        }
        static object GetWeight(SETItem obj)
        {
            MissionSETItem item = (MissionSETItem)obj;

            return((ushort)(item.PRMBytes[4] << 8 | item.PRMBytes[5]));
        }
示例#6
0
        private void Selection_SelectionChanged(EditorItemSelection sender)
        {
            if (suppressSelectionEvents)
            {
                return;
            }

            // match our tree to our editor selection
            List <TreeNode> selectedNodes = new List <TreeNode>();

            foreach (Item item in sender.Items)
            {
                if (item is LevelItem)
                {
                    LevelItem levelItem = (LevelItem)item;

                    // find the index of the level item
                    int index = LevelData.GetIndexOfItem(levelItem);

                    selectedNodes.Add(levelItemNode.Nodes[index]);
                }
                else if (item is LevelAnim)
                {
                    LevelAnim levelAnim = (LevelAnim)item;

                    // find the index of the level animation
                    int index = LevelData.GetIndexOfItem(levelAnim);

                    selectedNodes.Add(levelAnimNode.Nodes[index]);
                }
                else if (item is DeathZoneItem)
                {
                    DeathZoneItem deathZoneItem = (DeathZoneItem)item;

                    int index = LevelData.DeathZones.IndexOf(deathZoneItem);

                    selectedNodes.Add(deathZoneNode.Nodes[index]);
                }
                else if (item is MissionSETItem)
                {
                    MissionSETItem miSetItem = (MissionSETItem)item;

                    int index = LevelData.MissionSETItems[LevelData.Character].IndexOf(miSetItem);

                    selectedNodes.Add(missionSETNode.Nodes[index]);
                }
                else if (item is SETItem)
                {
                    SETItem setItem = (SETItem)item;

                    int index = LevelData.GetIndexOfSETItem(LevelData.Character, setItem);                    //LevelData.SETItems[LevelData.Character].IndexOf(setItem);

                    selectedNodes.Add(setNode.Nodes[index]);
                }
                else if (item is CAMItem)
                {
                    CAMItem camItem = (CAMItem)item;

                    int index = LevelData.CAMItems[LevelData.Character].IndexOf(camItem);

                    selectedNodes.Add(camNode.Nodes[index]);
                }
                else if (item is SplineData)
                {
                    SplineData spline = (SplineData)item;

                    int index = LevelData.LevelSplines.IndexOf(spline);

                    selectedNodes.Add(splineNode.Nodes[index]);
                }
            }

            sceneTreeView.SelectedNodes = selectedNodes;
        }