private void tsmiCopyTrans_Click(object sender, EventArgs e) { if (Drawer.SelectedRange != null) { m_CuttedElementTrans = null; m_CopiedElementTrans = Drawer.SelectedRange.OwnerTrans; } }
private void tsmiCutTrans_Click(object sender, EventArgs e) { if (Drawer.SelectedRange != null) { m_CopiedElementTrans = null; m_CuttedElementTrans = Drawer.SelectedRange.OwnerTrans; OperationHistory.Instance.CommitOperation(new Transition_Element_Delete(ParentElement, Drawer.SelectedRange.OwnerTrans)); } }
public void Load(JSONNode json) { _list = new Dictionary<string, ElementTransform>(); var elements = json["game_elemets"]; for (int i = 0; i < elements.AsArray.Count; i++) { var et = new ElementTransform(elements[i]); _list.Add(et.Name + et.Index, et); } }
public void Transform(ElementTransform function, int startIndex = -1, int length = -1) { startIndex = -1 == startIndex ? 0 : startIndex; length = -1 == length ? vertices.Length : length; for (var i = startIndex; i < length; ++i) { function(ref vertices[i]); } UpdateGpuSubData(startIndex, length); }
private void tsmiPasteTrans_Click(object sender, EventArgs e) { if (Drawer.FocusedLine != null) { if (m_CopiedElementTrans != null && m_CopiedElementTrans.Kind == Drawer.FocusedLine.Kind) { float time = Drawer.IsTimeRulerSelected ? Drawer.TimeRuler.CurTime : Drawer.CurMouseFocusTime; OperationHistory.Instance.CommitOperation(new Transition_Element_Duplicate(ParentElement, m_CopiedElementTrans, time)); } else if (m_CuttedElementTrans != null && m_CuttedElementTrans.Kind == Drawer.FocusedLine.Kind) { OperationHistory.Instance.CommitOperation(new Transition_Element_Add(ParentElement, m_CuttedElementTrans)); m_CuttedElementTrans = null; } } }
public void Update(ElementTransform et) { ElementTransform find = null; _list.TryGetValue(et.Name + et.Index, out find); if (find != null) { find.Position = et.Position; find.Scale = et.Scale; find.Rotation = et.Rotation; } else { _list.Add(et.Name + et.Index, et); } }
public Transition_Element_Add(ElementInfo e, ElementTransform trans) : base(e, trans.Kind) { ResultTransform = trans; }
public Transition_Element_Split(ElementInfo e, TransitionKind kind, ElementTransform trans, float time) : base(e, kind) { TargetTransform = trans; Time = time; }
public Transition_Element_Duplicate(ElementInfo e, ElementTransform trans, float time) : base(e, trans.Kind) { ResultTransform = System.Activator.CreateInstance(ElementTransform.TransTypes[Kind], Element, time, trans.TimeLength) as ElementTransform; ResultTransform.CopyFrom(trans); }
public void AddLine(Line line, ElementTransform t) { line.Playfield = this; line.Index = _lines.Count; _lines.Add(line); line.transform.SetParent(gameObject.transform); line.transform.localPosition = t.Position; line.transform.localScale = t.Scale; line.transform.eulerAngles = t.Rotation; RecalculateGrid(); }
public void AddObject(CellObject obj, ElementTransform t) { if (_objects == null) { _objects = new SortedList<Type, CellObject>(); } obj.Owner = this; _objects.Add(obj.GetType(), obj); obj.transform.SetParent(gameObject.transform); obj.transform.localPosition = t.Position; obj.transform.localScale = t.Scale; obj.transform.eulerAngles = t.Rotation; }