Ejemplo n.º 1
0
        //
        //関数:
        //  説明:
        //      ノードを更新
        //      EventControllerに変更を反映させます
        //      Transitionは設定しなおされます
        //      変更内容はrect, tranditionsです
        //
        void UpdateEventCtrlNode()
        {
            //各ノードに対する処理
            foreach (var node in nodes.Values)
            {
                var transitions = new List <SerializableTransition>();
                foreach (var junction in node.junctionList)
                {
                    //Exit部分のジャンクションを対象とする
                    if (junction.side == JunctionSide.Right)
                    {
                        var connector = ConnectorManager.GetConnector(node, junction);
                        if (connector != null)
                        {
                            //
                            var transition = new SerializableTransition(connector.conditions, currentLayer.serializableEventNodeList.IndexOf(connector.EndNode.eventNode));
                            transitions.Add(transition);
                        }
                    }
                }

                //ノードを更新
                node.eventNode.rect = node.Rect;
                node.eventNode.outputTransitions = transitions;
            }
        }
Ejemplo n.º 2
0
 public void Save()
 {
     if (!IsExists)
     {
         ConnectorManager.GetConnector().Insert(this);
     }
     else
     {
         ConnectorManager.GetConnector().Update(this);
     }
 }
Ejemplo n.º 3
0
        public Model.Model FindOne()
        {
            var entity = ConnectorManager.GetConnector().FindOne(this);

            if (entity == null)
            {
                return(null);
            }

            return(EntityToModel(entity));
        }
Ejemplo n.º 4
0
        void EditTransition(object obj)
        {
            JunctionPosition position = obj as JunctionPosition;

            var connector = ConnectorManager.GetConnector(this, position);

            if (connector != null)
            {
                ConnectorManager.selected = connector;
            }
            else
            {
                ConnectorManager.selected = null;
            }
        }
Ejemplo n.º 5
0
        //
        //関数
        //  説明:
        //      レイヤーの情報を読み込みエディターを設定します
        //
        void SetEditor()
        {
            //各コンポーネント初期化
            nodes.Clear();
            ConnectorManager.Init();
            NodeManager.Init();

            //EventControllerからノードを取得,作成
            foreach (var eventNode in currentLayer.serializableEventNodeList)
            {
                var node = new TextNode(eventNode, NodeColor.Green, eventNode.rect);
                if (eventNode.entry)
                {
                    NodeManager.entry = node;
                }
                nodes.Add(node.Id, node);
            }

            //Transition作成
            foreach (var eventNode in currentLayer.serializableEventNodeList)
            {
                Node startNode = FindNode(eventNode);
                if (startNode != null)
                {
                    foreach (var transition in eventNode.outputTransitions)
                    {
                        JunctionPosition startPosition = startNode.AddExit();
                        if (transition.indexOfToEventNode != -1)
                        {
                            Node endNode = FindNode(currentLayer.serializableEventNodeList[transition.indexOfToEventNode]);
                            if (endNode != null)
                            {
                                JunctionPosition endPosition = endNode.AddEntrance();
                                ConnectorManager.StartConnecting(startNode, startPosition);
                                ConnectorManager.Connect(endNode, endPosition);

                                ConnectorManager.GetConnector(startNode, startPosition).conditions = transition.conditions;
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 6
0
        public List <Model.Model> FindAll()
        {
            var entities = ConnectorManager.GetConnector().FindAll(this);

            return(entities?.Select(EntityToModel).ToList());
        }