LoadData() public abstract method

public abstract LoadData ( GameMasterNode>.Dictionary allNodes ) : void
allNodes GameMasterNode>.Dictionary
return void
Exemplo n.º 1
0
        public void OnFileChanged(Dictionary <string, GameMasterNode> allNodes)
        {
            JToken fileTypeToken = Json["type"];
            string fileType      = fileTypeToken != null?fileTypeToken.ToString().ToUpper() : "";

            GameMasterNodeType newNodeType = GameMasterNodeType.UNKNOWN;

            foreach (GameMasterNodeType nodeType in Enum.GetValues(typeof(GameMasterNodeType)))
            {
                if (fileType.Equals(nodeType.ToString()))
                {
                    newNodeType = nodeType;
                }
            }

            if (newNodeType != mNodeType)
            {
                mNodeType = newNodeType;
                switch (mNodeType)
                {
                case GameMasterNodeType.ENCOUNTER:
                    mNodeData = new EncounterNodeData();
                    break;

                case GameMasterNodeType.ARC:
                    mNodeData = new ArcNodeData();
                    break;

                case GameMasterNodeType.CAMPAIGN:
                    mNodeData = new CampaignNodeData();
                    break;

                case GameMasterNodeType.CAMP_PIECE:
                    mNodeData = new CampPieceNodeData();
                    break;

                default:
                    Console.WriteLine("unknown encounter node type for file " + Path);
                    mNodeData = new UnknownNodeData();
                    break;
                }
            }

            if (mNodeData != null)
            {
                mNodeData.NodeFile = this;
                mNodeData.LoadData(allNodes);
            }
        }