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; }
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); } }
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])); }
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; }