private void AddTransitionGUI(SMTransition transition) { TabPage tpTransition = new TabPage(); tpTransition.Controls.Add(new TransitionEditorCtrl(_actTransFlowItem, transition)); tcTransitions.TabPages.Add(tpTransition); }
public TransitionEditorCtrl(SMActTransFlow actTransFlow, SMTransition transitionItem) { //_containerPanel = containerPanel; _actTransFlow = actTransFlow; _transitionItem = transitionItem; InitializeComponent(); tbText.Text = _transitionItem.Text; Text = transitionItem.Name; GetFlowList(_transitionItem.StateMachine); cmbTransitionID.DataSource = null; cmbTransitionID.DataSource = _flowNameList; if (_transitionItem.TransitionTargetID != "") { cmbTransitionID.SelectedItem = _transitionItem.TransitionTargetID; } //smPropID.ScopeID = _transitionItem.ParentContainer.ScopeID; smPropID.BindTwoWay(() => DummyID); //smValueID.ScopeID = _transitionItem.ParentContainer.ScopeID; smValueID.BindTwoWay(() => ConditionaValue); Rebuild(); cbOperator.SelectedIndex = 0; }
/// <summary> /// Loads the screen with the given screen id. ses the given transition to do the transition between the screens. /// </summary> /// <param name="screenId"> /// the id of the screen to be loaded. /// </param> /// <param name="transitionPrefab"> /// The path of the transition to use. /// </param> public void LoadScreen(string screenId, string transitionPrefab) { if (string.IsNullOrEmpty(transitionPrefab)) { Debug.LogWarning("given transition prefab must not be null or empty."); transitionPrefab = defaultTransitionPrefab; } GameObject prefab = (GameObject)Resources.Load(transitionPrefab); if (prefab == null) { throw new ArgumentException("no transition prefab found at path " + transitionPrefab); } GameObject instance = (GameObject)GameObject.Instantiate(prefab); SMTransition transition = instance.GetComponent <SMTransition>(); if (transition == null) { throw new ArgumentException("no transition found at prefab " + transitionPrefab); } currentLevel = screenId; transition.screenId = screenId; transition.SceneLoaded += this.OnSceneLoaded; }
private void btnAddTransition_Click(object sender, EventArgs e) { SMTransition transition = new SMTransition(); transition.ParentContainer = _actTransFlowItem.ParentContainer; transition.StateMachine = _actTransFlowItem.StateMachine; _actTransFlowItem.AddTransition(transition); AddTransitionGUI(transition); }
public static void ShowTranstion(SceneTransType type = SceneTransType.Null, System.Action inAction = null, System.Action holdAciton = null) { if (type != SceneTransType.Null) { //FieldInfo fieldInfo = type.GetType().GetField(type.ToString()); //object[] attribArray = fieldInfo.GetCustomAttributes(false); //if (attribArray.Length > 0) //{ // DescriptionAttribute attrib = (DescriptionAttribute)attribArray[0]; // //通过枚举描述来判断生成类型 // if (attrib.Description == GUI) // { // SMTransition smtranstion = GameObject.Instantiate(Resources.Load<GameObject>(sceneDic[type])).GetComponent<SMTransition>(); // smtranstion.InAction = inAction; // smtranstion.HoldAction = holdAciton; // } // else // { // SMPostEffectsTransition smpostransition = GameObject.Instantiate(Resources.Load<GameObject>(sceneDic[type])).GetComponent<SMPostEffectsTransition>(); // smpostransition.ShaderName = type.ToString(); // smpostransition.InAction = inAction; // smpostransition.HoldAction = holdAciton; // } //} if (sceneDic.ContainsKey(type)) { SMTransition smtranstion = GameObject.Instantiate(Resources.Load <GameObject>(sceneDic[type])).GetComponent <SMTransition>(); smtranstion.InAction = inAction; smtranstion.HoldAction = holdAciton; } else { string path = UguiNormalPath; if (type == SceneTransType.MaskTexWipe) { path = UguiMaskTexPath; } SMPostEffectsTransition smpostransition = GameObject.Instantiate(Resources.Load <GameObject>(path)).GetComponent <SMPostEffectsTransition>(); smpostransition.ShaderName = type.ToString(); smpostransition.InAction = inAction; smpostransition.HoldAction = holdAciton; } } else { if (holdAciton != null) { holdAciton(); } } }
private void btnNewTrans_Click(object sender, EventArgs e) { SMTransition transition = new SMTransition(""); string newName = transition.ValidateName(_actTransFlow, ""); transition.Name = newName; transition.ParentContainer = _actTransFlow.ParentContainer; transition.StateMachine = _actTransFlow.StateMachine; _actTransFlow.AddTransition(transition); treeComponents.Nodes.Clear(); _actTransFlow.Rebuild(); Rebuild(); }
public void ShowScenEffect(SwitchScenEffect ScenEffect) { SceneLoader.Instance.LoadScene(StageMgr.Scene_name, () => { string transitionPrefab = "Transitions/" + ScenEffect.ToString(); GameObject prefab = (GameObject)Resources.Load(transitionPrefab); GameObject instance = (GameObject)GameObject.Instantiate(prefab); SMTransition transition = instance.GetComponent <SMTransition>(); transition.screenId = StageMgr.Scene_name; transition.loadAsync = true; transition.prefetchLevel = true; }); }
private void treeComponents_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { if (e.Node.Tag is SMTransition) { _currentTransitionItem = e.Node.Tag as SMTransition; if (_currentTransitionItem.TransitionTargetID != "") { cmbTransitionID.SelectedItem = _currentTransitionItem.TransitionTargetID; } return; } SMSubCondBase selSubCond = e.Node.Tag as SMSubCondBase; if (!(selSubCond is SMSubCond)) { return; } SMSubCond subCond = selSubCond as SMSubCond; DummyID = subCond.ConditionID; smPropID.UnBind(); //smPropID.ScopeID = _transitionItem.ParentContainer.ScopeID; smPropID.BindTwoWay(() => DummyID); cbOperator.SelectedItem = subCond.OperatorString; ConditionaValue = subCond.ConditionValueString; smValueID.UnBind(); //smValueID.ScopeID = _transitionItem.ParentContainer.ScopeID; smValueID.BindTwoWay(() => ConditionaValue); _currentTransitionItem = GetTransitionParent(selSubCond); if (_currentTransitionItem.TransitionTargetID != "") { cmbTransitionID.SelectedItem = _currentTransitionItem.TransitionTargetID; } //if (!ConditionaValue.Contains("(Object)")) //{ // smValueID.UnBind(); // smValueID.BindTwoWay(() => ConditionaValue); // smValueID.ReturnType = MCore.Controls.MPIDCtl.eTypes.Object; //} //else //{ // smValueID.UnBind(); // smValueID.BindTwoWay(() => ConditionaValue); // smValueID.ReturnType = MCore.Controls.MPIDCtl.eTypes.Object; //} }
public TransitionEditorForm(SMContainerPanel containerPanel, SMTransition transitionItem) { _containerPanel = containerPanel; _transitionItem = transitionItem; InitializeComponent(); mcbTimeoutToStopPath.BindTwoWay(() => _transitionItem.FlowTimeoutToStopPath); mCbLoopTransition.BindTwoWay(() => _transitionItem.LoopTransition); strTimeOutCaption.BindTwoWay(() => _transitionItem.TimeOutCaption); strTimeOutMsg.BindTwoWay(() => _transitionItem.TimeOutMessage); mDoubleTimeOut.BindTwoWay(() => _transitionItem.TransTimeOut); mDoubleLoopTime.BindTwoWay(() => _transitionItem.TransLoopTime); mcbUseDryRunTrans.BindTwoWay(() => _transitionItem.UseDryRunTrans); tbText.Text = _transitionItem.Text; Text = transitionItem.Name; GetFlowList(_transitionItem.StateMachine); cmbTransitionID.DataSource = null; cmbTransitionID.DataSource = _flowNameList; if (_transitionItem.TransitionTargetID != "") { cmbTransitionID.SelectedItem = _transitionItem.TransitionTargetID; } cmbDryRunTransitionID.DataSource = null; cmbDryRunTransitionID.DataSource = _flowNameList2; if (_transitionItem != null) { if (cmbDryRunTransitionID.Items.Contains(_transitionItem.DryRunTransitionTargetID)) { cmbDryRunTransitionID.SelectedItem = _transitionItem.DryRunTransitionTargetID; } else { cmbDryRunTransitionID.SelectedItem = null; } } smPropID.ScopeID = _transitionItem.ParentContainer.ScopeID; smPropID.BindTwoWay(() => DummyID); smValueID.ScopeID = _transitionItem.ParentContainer.ScopeID; smValueID.BindTwoWay(() => ConditionaValue); Rebuild(); cbOperator.SelectedIndex = 0; }
private void btnDeleteTrans_Click(object sender, EventArgs e) { if (MessageBox.Show("This Flow item will be deleted. Are you sure?", "Warning", MessageBoxButtons.YesNo) == DialogResult.Yes) { if (_currentTransitionItem != null) { _actTransFlow.RemoveTransition(_currentTransitionItem); _currentTransitionItem = null; treeComponents.Nodes.Clear(); _actTransFlow.Rebuild(); Rebuild(); } } }
private void btnLessPriority_Click(object sender, EventArgs e) { if (_currentTransitionItem == null) { return; } int currentIndex = _actTransFlow.TransitionList.IndexOf(_currentTransitionItem); if (currentIndex >= _actTransFlow.TransitionList.Count - 1) { return; } SMTransition nextTrans = _actTransFlow.TransitionList[currentIndex + 1]; _actTransFlow.TransitionList[currentIndex + 1] = _currentTransitionItem; _actTransFlow.TransitionList[currentIndex] = nextTrans; treeComponents.Nodes.Clear(); _actTransFlow.Rebuild(); Rebuild(); }
private void btnMorePrioruty_Click(object sender, EventArgs e) { if (_currentTransitionItem == null) { return; } int currentIndex = _actTransFlow.TransitionList.IndexOf(_currentTransitionItem); if (currentIndex <= 0) { return; } SMTransition previousTrans = _actTransFlow.TransitionList[currentIndex - 1]; _actTransFlow.TransitionList[currentIndex - 1] = _currentTransitionItem; _actTransFlow.TransitionList[currentIndex] = previousTrans; treeComponents.Nodes.Clear(); _actTransFlow.Rebuild(); Rebuild(); }
private void btnAddAND_Click(object sender, EventArgs e) { CompBase selComp = null; if (treeComponents.SelectedNode == null) { selComp = null; } else { selComp = treeComponents.SelectedNode.Tag as CompBase; if (selComp is SMTransition) { _currentTransitionItem = selComp as SMTransition; } else { _currentTransitionItem = GetTransitionParent(selComp); } } if (selComp == null) { return; } //Prevent incorrect added if (((selComp is SMTransition) && ((selComp as SMTransition).ChildArray != null && (selComp as SMTransition).ChildArray.Length != 0)) || selComp is SMSubCond) { return; } selComp.Add(new SMAndCond()); treeComponents.Nodes.Clear(); Rebuild(); }