public PropTimelineData this[ShowPropSubAction subAction] { get { return(actionDataBindings[subAction]); } }
void trackFilter_AddTrackItem(string name, Object trackUserObject) { ShowPropSubActionPrototype actionPrototype = (ShowPropSubActionPrototype)trackUserObject; ShowPropSubAction subAction = actionPrototype.createSubAction(); subAction.StartTime = timelineView.MarkerTime; if (subAction is MovePropAction) { //This is a bit hacky, but if the action is a MovePropAction grab the //current location and set that for the move position. //This makes editing easier. MovePropAction moveProp = (MovePropAction)subAction; if (timelineView.CurrentData != null && timelineView.CurrentData.Track == "Move") { MovePropAction currentMoveProp = (MovePropAction)((PropTimelineData)timelineView.CurrentData).Action; moveProp.Translation = currentMoveProp.Translation; moveProp.Rotation = currentMoveProp.Rotation; } else { moveProp.Translation = propData.Translation; moveProp.Rotation = propData.Rotation; } } propData.addSubAction(subAction); }
public PropTimelineData createData(ShowPropAction showProp, ShowPropSubAction subAction, PropEditController propEditController) { PropTimelineData timelineData = new PropTimelineData(subAction, propEditController); actionDataBindings.Add(subAction, timelineData); return(timelineData); }
public PropTimelineData(ShowPropSubAction action, PropEditController propEditController) { this.action = action; this.propEditController = propEditController; action.StartTimeChanged += action_StartTimeChanged; action.DurationChanged += action_DurationChanged; }
private void addSubActionData(ShowPropSubAction subAction, bool clearSelection) { timelineView.addData(timelineDataManager.createData(propData, subAction, propEditController), clearSelection); }
void propData_ActionAdded(ShowPropAction showProp, ShowPropSubAction subAction) { addSubActionData(subAction, true); }
void propData_ActionRemoved(ShowPropAction showProp, ShowPropSubAction subAction) { timelineView.removeData(timelineDataManager[subAction]); timelineDataManager.destroyData(subAction); }
public void destroyData(ShowPropSubAction subAction) { actionDataBindings[subAction].Dispose(); actionDataBindings.Remove(subAction); }
void action_StartTimeChanged(ShowPropSubAction obj) { StartTime = obj.StartTime; }
void action_DurationChanged(ShowPropSubAction obj) { Duration = obj.Duration; }