public virtual void PointTo(SETItem item, Vertex location) { }
public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform) { if (item.Scale.X == 0 || item.Scale.X == 5 || item.Scale.X == 10 || item.Scale.X == -5) { List <RenderInfo> result = new List <RenderInfo>(); transform.Push(); transform.NJTranslate(item.Position); transform.NJRotateObject(item.Rotation); result.AddRange(model1.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_BEACH"), meshes1)); if (item.Selected) { result.AddRange(model1.DrawModelTreeInvert(transform, meshes1)); } transform.Pop(); return(result); } else if (item.Scale.X == 1 || item.Scale.X == 6 || item.Scale.X == 11 || item.Scale.X == -1) { List <RenderInfo> result = new List <RenderInfo>(); transform.Push(); transform.NJTranslate(item.Position); transform.NJRotateObject(item.Rotation); result.AddRange(model2.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_BEACH"), meshes2)); if (item.Selected) { result.AddRange(model2.DrawModelTreeInvert(transform, meshes2)); } transform.Pop(); return(result); } else if (item.Scale.X == 2 || item.Scale.X == 7 || item.Scale.X == 12 || item.Scale.X == -2) { List <RenderInfo> result = new List <RenderInfo>(); transform.Push(); transform.NJTranslate(item.Position); transform.NJRotateObject(item.Rotation); result.AddRange(model3.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_BEACH"), meshes3)); if (item.Selected) { result.AddRange(model3.DrawModelTreeInvert(transform, meshes3)); } transform.Pop(); return(result); } else if (item.Scale.X == 3 || item.Scale.X == 8 || item.Scale.X == 13 || item.Scale.X == -3) { List <RenderInfo> result = new List <RenderInfo>(); transform.Push(); transform.NJTranslate(item.Position); transform.NJRotateObject(item.Rotation); result.AddRange(model4.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_BEACH"), meshes4)); if (item.Selected) { result.AddRange(model4.DrawModelTreeInvert(transform, meshes4)); } transform.Pop(); return(result); } else if (item.Scale.X == 4 || item.Scale.X == 9 || item.Scale.X == 14 || item.Scale.X == -4) { List <RenderInfo> result = new List <RenderInfo>(); transform.Push(); transform.NJTranslate(item.Position); transform.NJRotateObject(item.Rotation); result.AddRange(model5.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_BEACH"), meshes5)); if (item.Selected) { result.AddRange(model5.DrawModelTreeInvert(transform, meshes5)); } transform.Pop(); return(result); } else { List <RenderInfo> result = new List <RenderInfo>(); transform.Push(); transform.NJTranslate(item.Position); transform.NJRotateObject(item.Rotation); result.AddRange(model1.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_BEACH"), meshes1)); if (item.Selected) { result.AddRange(model1.DrawModelTreeInvert(transform, meshes1)); } transform.Pop(); return(result); } }
public virtual void SetOrientation(SETItem item, Vertex direction) { }
public static object GetOneBall(SETItem item) { return((long)item.Scale.Z % 10 >= 1); }
public static object GetVerticalSpeed(SETItem item) { return((long)(item.Scale.Z / 1000)); }
public void SetValue(SETItem item, object value) { setMethod(item, value); }
public void DoVerb(SETItem item) { method(item); }
public override void PointTo(SETItem item, Vertex location) { item.Scale = location; }
public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform) { List <RenderInfo> result = new List <RenderInfo>(); transform.Push(); transform.NJTranslate(item.Position); transform.NJRotateY(item.Rotation.Y); transform.Push(); transform.NJTranslate(Base.Position[0], (Base.Position[1]), Base.Position[2]); result.AddRange(Base.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_WINDY"), BaseMsh)); if (item.Selected) { result.AddRange(Base.DrawModelTreeInvert(transform, BaseMsh)); } transform.Pop(); transform.Push(); transform.NJTranslate(Fan.Position[0], (Fan.Position[1] + 30.0f), Fan.Position[2]); result.AddRange(Fan.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_WINDY"), FanMsh)); if (item.Selected) { result.AddRange(Fan.DrawModelTreeInvert(transform, FanMsh)); } transform.Pop(); transform.Push(); transform.NJTranslate(Mid.Position[0], (Mid.Position[1] + 44.0f), Mid.Position[2]); result.AddRange(Mid.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_WINDY"), MidMsh)); if (item.Selected) { result.AddRange(Mid.DrawModelTreeInvert(transform, MidMsh)); } transform.Pop(); transform.Push(); transform.NJTranslate(Fan.Position[0], (Fan.Position[1] + 47.0f), Fan.Position[2]); result.AddRange(Fan.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_WINDY"), FanMsh)); if (item.Selected) { result.AddRange(Fan.DrawModelTreeInvert(transform, FanMsh)); } transform.Pop(); transform.Push(); transform.NJTranslate(Mid.Position[0], (Mid.Position[1] + 61.0f), Mid.Position[2]); result.AddRange(Mid.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_WINDY"), MidMsh)); if (item.Selected) { result.AddRange(Mid.DrawModelTreeInvert(transform, MidMsh)); } transform.Pop(); transform.Push(); transform.NJTranslate(Fan.Position[0], (Fan.Position[1] + 64.0f), Fan.Position[2]); result.AddRange(Fan.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_WINDY"), FanMsh)); if (item.Selected) { result.AddRange(Fan.DrawModelTreeInvert(transform, FanMsh)); } transform.Pop(); transform.Push(); transform.NJTranslate(Cap.Position[0], (Cap.Position[1] + 78.0f), Cap.Position[2]); result.AddRange(Cap.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_WINDY"), CapMsh)); if (item.Selected) { result.AddRange(Cap.DrawModelTreeInvert(transform, CapMsh)); } transform.Pop(); transform.Pop(); return(result); }
public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform) { List <RenderInfo> result = new List <RenderInfo>(); transform.Push(); float scaleX = item.Scale.X; float scaleY = item.Scale.Y * 0.5f; float scaleZ = item.Scale.Z; if (scaleX >= 10.0f) { if (scaleX > 200.0f) { scaleX = 200f; } } else { scaleX = 10f; } if (scaleY >= 10.0f) { if (scaleY > 200.0f) { scaleY = 200f; } } else { scaleY = 10f; } if (scaleZ >= 10.0f) { if (scaleZ > 200.0f) { scaleZ = 200f; } } else { scaleZ = 10f; } transform.NJTranslate(item.Position); transform.NJRotateY(item.Rotation.Y); transform.NJScale(scaleX, scaleY, scaleZ); float largestScale = item.Scale.X; if (item.Scale.Z > largestScale) { largestScale = item.Scale.Z; } BoundingSphere boxSphere = new BoundingSphere() { Center = new Vertex(item.Position.X, item.Position.Y, item.Position.Z), Radius = largestScale }; RenderInfo outputInfo = new RenderInfo(mesh, 0, transform.Top, material, texture, FillMode.WireFrame, boxSphere); result.Add(outputInfo); if (item.Selected) { RenderInfo highlightInfo = new RenderInfo(mesh, 0, transform.Top, material, texture, FillMode.WireFrame, boxSphere); result.Add(highlightInfo); } transform.Pop(); return(result); }
public override void PointTo(SETItem item, Vertex location) { SetOrientation(item, item.Position - location); }
static object GetWeight(SETItem obj) { MissionSETItem item = (MissionSETItem)obj; return((ushort)(item.PRMBytes[4] << 8 | item.PRMBytes[5])); }
public override BoundingSphere GetBounds(SETItem item) { BoundingSphere bounds = new BoundingSphere(item.Position, item.Scale.X); return(bounds); }
public override BoundingSphere GetBounds(SETItem item) { return(new BoundingSphere(new Vertex(item.Position.X, item.Position.Y, item.Position.Z), Math.Max(Math.Max(item.Scale.X, item.Scale.Y), item.Scale.Z) + 10.0f)); }
public abstract Matrix GetHandleMatrix(SETItem item);
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 DeathZoneItem) { DeathZoneItem deathZoneItem = (DeathZoneItem)item; int index = LevelData.DeathZones.IndexOf(deathZoneItem); selectedNodes.Add(deathZoneNode.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 MissionSETItem) { MissionSETItem miSetItem = (MissionSETItem)item; int index = LevelData.MissionSETItems[LevelData.Character].IndexOf(miSetItem); selectedNodes.Add(missionSETNode.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; }
public object GetValue(SETItem item) { return(getMethod(item)); }
public override List <ModelTransform> GetModels(SETItem item, MatrixStack transform) { return(new List <ModelTransform>()); }
/// <summary> /// Returns a bounding sphere for the supplied SET Item. /// </summary> /// <param name="item"></param> /// <returns></returns> public virtual BoundingSphere GetBounds(SETItem item) { return(new BoundingSphere(item.Position, 0)); }
public abstract HitResult CheckHit(SETItem item, Vector3 Near, Vector3 Far, Viewport Viewport, Matrix Projection, Matrix View, MatrixStack transform);
private void okButton_Click(object sender, EventArgs e) { List <Item> selection = items.GetSelection(); foreach (Item item in selection) { if (item is SETItem) { SETItem itemConv = (SETItem)item; if (sonicCheckBox.Checked) { LevelData.SETItems[0].Add(new SETItem(itemConv.GetBytes(), 0, items)); } if (tailsCheckBox.Checked) { LevelData.SETItems[1].Add(new SETItem(itemConv.GetBytes(), 0, items)); } if (knucklesCheckBox.Checked) { LevelData.SETItems[2].Add(new SETItem(itemConv.GetBytes(), 0, items)); } if (amyCheckBox.Checked) { LevelData.SETItems[3].Add(new SETItem(itemConv.GetBytes(), 0, items)); } if (gammaCheckBox.Checked) { LevelData.SETItems[4].Add(new SETItem(itemConv.GetBytes(), 0, items)); } if (bigCheckBox.Checked) { LevelData.SETItems[5].Add(new SETItem(itemConv.GetBytes(), 0, items)); } } else if (item is CAMItem) { CAMItem itemConv = (CAMItem)item; if ((sonicCheckBox.Checked) && (LevelData.CAMItems[0] != null)) { LevelData.CAMItems[0].Add(new CAMItem(itemConv.GetBytes(), 0, items)); } if (tailsCheckBox.Checked) { LevelData.CAMItems[1].Add(new CAMItem(itemConv.GetBytes(), 0, items)); } if (knucklesCheckBox.Checked) { LevelData.CAMItems[2].Add(new CAMItem(itemConv.GetBytes(), 0, items)); } if (amyCheckBox.Checked) { LevelData.CAMItems[3].Add(new CAMItem(itemConv.GetBytes(), 0, items)); } if (gammaCheckBox.Checked) { LevelData.CAMItems[4].Add(new CAMItem(itemConv.GetBytes(), 0, items)); } if (bigCheckBox.Checked) { LevelData.CAMItems[5].Add(new CAMItem(itemConv.GetBytes(), 0, items)); } } } Close(); }
public abstract List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform);
public static object GetChain(SETItem item) { return(Math.Abs((long)item.Scale.Z % 1000) >= 100); }
public abstract List <ModelTransform> GetModels(SETItem item, MatrixStack transform);
public static void SetShadow(SETItem item, object value) { UpdateZScale(item, (bool)GetOneBall(item), (ShadowType)value, (bool)GetChain(item), (long)GetVerticalSpeed(item)); }
public override List <ModelTransform> GetModels(SETItem item, MatrixStack transform) { if (item.Scale.X == 0 || item.Scale.X == 5 || item.Scale.X == 10 || item.Scale.X == -5) { List <ModelTransform> result = new List <ModelTransform>(); transform.Push(); transform.NJTranslate(item.Position); transform.NJRotateObject(item.Rotation); result.Add(new ModelTransform(model1, transform.Top)); transform.Pop(); return(result); } else if (item.Scale.X == 1 || item.Scale.X == 6 || item.Scale.X == 11 || item.Scale.X == -1) { List <ModelTransform> result = new List <ModelTransform>(); transform.Push(); transform.NJTranslate(item.Position); transform.NJRotateObject(item.Rotation); result.Add(new ModelTransform(model2, transform.Top)); transform.Pop(); return(result); } else if (item.Scale.X == 2 || item.Scale.X == 7 || item.Scale.X == 12 || item.Scale.X == -2) { List <ModelTransform> result = new List <ModelTransform>(); transform.Push(); transform.NJTranslate(item.Position); transform.NJRotateObject(item.Rotation); result.Add(new ModelTransform(model3, transform.Top)); transform.Pop(); return(result); } else if (item.Scale.X == 3 || item.Scale.X == 8 || item.Scale.X == 13 || item.Scale.X == -3) { List <ModelTransform> result = new List <ModelTransform>(); transform.Push(); transform.NJTranslate(item.Position); transform.NJRotateObject(item.Rotation); result.Add(new ModelTransform(model4, transform.Top)); transform.Pop(); return(result); } else if (item.Scale.X == 4 || item.Scale.X == 9 || item.Scale.X == 14 || item.Scale.X == -4) { List <ModelTransform> result = new List <ModelTransform>(); transform.Push(); transform.NJTranslate(item.Position); transform.NJRotateObject(item.Rotation); result.Add(new ModelTransform(model5, transform.Top)); transform.Pop(); return(result); } else { List <ModelTransform> result = new List <ModelTransform>(); transform.Push(); transform.NJTranslate(item.Position); transform.NJRotateObject(item.Rotation); result.Add(new ModelTransform(model1, transform.Top)); transform.Pop(); return(result); } }