public static MissionRuleData ParseFromDictionary(System.Collections.Generic.Dictionary <string, object> ruleDict) { MissionRuleData ruleData = new MissionRuleData(); if (ruleDict.ContainsKey("id")) { ruleData.Id = Convert.ToString(ruleDict["id"]); } if (ruleDict.ContainsKey("score")) { ruleData.Score = Convert.ToInt32(ruleDict["score"]); } if (ruleDict.ContainsKey("target")) { ruleData.Target = Convert.ToInt32(ruleDict["target"]); } if (ruleDict.ContainsKey("achieved")) { ruleData.Achieved = Convert.ToBoolean(ruleDict["achieved"]); } if (ruleDict.ContainsKey("variable")) { ruleData.Variable = Convert.ToString(ruleDict["variable"]); } if (ruleDict.ContainsKey("kind")) { ruleData.Kind = (MissionRuleType)Enum.Parse(typeof(MissionRuleType), Convert.ToString(ruleDict["kind"])); } if (ruleDict.ContainsKey("metadata")) { System.Collections.Generic.Dictionary <string, object> ruleMetadataDict = ruleDict["metadata"] as System.Collections.Generic.Dictionary <string, object>; ruleData.Metadata = MissionRuleMetadata.ParseFromDictionary(ruleMetadataDict); } return(ruleData); }
public override void Create(System.Collections.Generic.Dictionary <string, object> dataDict) { Debug.Log("IgniteMission:Create"); base.Create(dataDict); if (dataDict.ContainsKey("metadata")) { System.Collections.Generic.Dictionary <string, object> missionMetadataDict = dataDict["metadata"] as System.Collections.Generic.Dictionary <string, object>; this.Metadata = MissionMetadata.ParseFromDictionary(missionMetadataDict); } if (dataDict.ContainsKey("rules")) { this.Rules = new System.Collections.Generic.Dictionary <string, MissionRuleData>(); System.Collections.Generic.List <object> rulesList = dataDict["rules"] as System.Collections.Generic.List <object>; foreach (object rule in rulesList) { System.Collections.Generic.Dictionary <string, object> ruleDict = rule as System.Collections.Generic.Dictionary <string, object>; MissionRuleData ruleData = MissionRuleData.ParseFromDictionary(ruleDict); this.Rules.Add(ruleData.Id, ruleData); } } }
public static MissionRuleData ParseFromDictionary( System.Collections.Generic.Dictionary<string,object> ruleDict ) { MissionRuleData ruleData = new MissionRuleData(); if( ruleDict.ContainsKey("id") ) { ruleData.Id = Convert.ToString( ruleDict["id"] ); } if( ruleDict.ContainsKey("score") ) { ruleData.Score = Convert.ToInt32( ruleDict["score"] ); } if( ruleDict.ContainsKey("target") ) { ruleData.Target = Convert.ToInt32( ruleDict["target"] ); } if( ruleDict.ContainsKey("achieved") ) { ruleData.Achieved = Convert.ToBoolean( ruleDict["achieved"] ); } if( ruleDict.ContainsKey("variable") ) { ruleData.Variable = Convert.ToString( ruleDict["variable"] ); } if( ruleDict.ContainsKey("kind") ) { ruleData.Kind = (MissionRuleType) Enum.Parse( typeof(MissionRuleType) , Convert.ToString( ruleDict["kind"] ) ); } if( ruleDict.ContainsKey( "metadata" ) ) { System.Collections.Generic.Dictionary<string,object> ruleMetadataDict = ruleDict["metadata"] as System.Collections.Generic.Dictionary<string,object>; ruleData.Metadata = MissionRuleMetadata.ParseFromDictionary(ruleMetadataDict); } return ruleData; }