示例#1
0
    public override bool inited()
    {
        SolaEngine engine = SolaEngine.getInstance();
        HeroMgr    hMgr   = (HeroMgr)engine.getMgr(typeof(HeroMgr));

        List <DialogueInfoConfig> infoCfgs = (List <DialogueInfoConfig>)engine.getCfg(DialogueInfoConfigData.NAME);

        for (int i = 0; i < infoCfgs.Count; i++)
        {
            DialogueInfoConfig infoCfg   = infoCfgs[i];
            DialogueInfoModel  infoModel = new DialogueInfoModel();
            infoModel.setCfg(infoCfg, hMgr);

            int id = infoModel.getId();
            _dialogueInfoModels.Add(id, infoModel);
        }

        List <DialogueConfig> cfgs = (List <DialogueConfig>)engine.getCfg(DialogueConfigData.NAME);

        for (int i = 0; i < cfgs.Count; i++)
        {
            DialogueConfig cfg   = cfgs[i];
            DialogueModel  model = new DialogueModel();
            model.setCfg(cfg, this);

            int id = model.getId();
            _dialogueModels.Add(id, model);
        }

        MissionMgr mMgr = (MissionMgr)engine.getMgr(typeof(MissionMgr));

        mMgr.initDialogueInfo(this);
        return(true);
    }
    public void setCfg(DialogueInfoConfig cfg, HeroMgr hMgr)
    {
        _id      = Convert.ToInt32(cfg.id);
        _content = (string)cfg.content;

        int leftId    = Convert.ToInt32(cfg.leftSpeakerId);
        int rightId   = Convert.ToInt32(cfg.rightSpeakerId);
        int speakerId = Convert.ToInt32(cfg.speakerId);

        if (leftId != 0)
        {
            HeroModel leftModel = hMgr.createHero(leftId, 1, 0);
            _leftHeroModel = leftModel;
        }

        if (rightId != 0)
        {
            HeroModel rightModel = hMgr.createHero(rightId, 1, 0);
            _rightHeroModel = rightModel;
        }

        if (speakerId != 0)
        {
            HeroModel speakerModel = hMgr.createHero(speakerId, 1, 0);
            _speakerHeroModel = speakerModel;
        }
    }
示例#3
0
 public DialogueInfoConfigData()
 {
     _dataJson = SimpleJson.SimpleJson.DeserializeObject <JsonArray> (_data).ToArray(); foreach (object jsonObject in _dataJson)
     {
         JsonObject jo = (JsonObject)jsonObject; DialogueInfoConfig config = new DialogueInfoConfig(); _dataList.Add(config); foreach (string key in jo.Keys)
         {
             object value = jo[key]; System.Type type = typeof(DialogueInfoConfig); System.Reflection.FieldInfo info = type.GetField(key); if (info == null)
             {
                 continue;
             }
             if (value is JsonArray)
             {
                 JsonArray jarr = (JsonArray)value; int jarrSize = jarr.Count; if (info.FieldType.FullName == "System.Int32[]")
                 {
                     int[] data = new int[jarrSize]; for (int i = 0; i < jarrSize; i++)
                     {
                         data[i] = (int)jarr[i];
                     }
                     info.SetValue(config, data);
                 }
                 else
                 {
                     string[] data = new string[jarrSize]; for (int i = 0; i < jarrSize; i++)
                     {
                         data[i] = (string)jarr[i];
                     }
                     info.SetValue(config, data);
                 }
             }
             else
             {
                 info.SetValue(config, value);
             }
         }
     }
     _dataJson = null; _data = null;
 }