public void InitCharacters(Dictionary <int, bool> characterIds, Model.Master.MBattlefield battlefieldMaster) { int index = 0; List <MCharacter> characters = Global.charactersManager.mCharacters; characters.Clear(); System.Array.ForEach(Global.SUser.self.characters, (model) => { if (characterIds.ContainsKey(model.characterId)) { Model.Master.MBattleOwn own = battlefieldMaster.owns[index++]; model.belong = Belong.self; model.coordinate.x = own.x; model.coordinate.y = own.y; CharacterInit(model); characters.Add(model); } }); foreach (Model.Master.MBattleNpc battleNpc in battlefieldMaster.enemys) { MCharacter mCharacter = NpcCacher.Instance.GetFromBattleNpc(battleNpc); mCharacter.belong = Belong.enemy; CharacterInit(mCharacter); characters.Add(mCharacter); } foreach (App.Model.Master.MBattleNpc battleNpc in battlefieldMaster.friends) { MCharacter mCharacter = NpcCacher.Instance.GetFromBattleNpc(battleNpc); mCharacter.belong = Belong.friend; CharacterInit(mCharacter); characters.Add(mCharacter); } this.dispatcher.Set("characters", characters); }
public override IEnumerator OnLoad(Request request) { Model.Master.MBattlefield battlefieldMaster = request.Get <Model.Master.MBattlefield>("mBattlefield"); selectedCharacters = request.Get <List <MCharacter> >("selectedCharacters"); Dictionary <int, bool> characterIds = new Dictionary <int, bool>(); selectedCharacters.ForEach(chara => { characterIds.Add(chara.characterId, true); }); yield return(this.StartCoroutine(base.OnLoad(request))); Service.SUser sUser = Util.Global.SUser; string url = Service.HttpClient.assetBandleURL + "maps/maps_001.unity3d"; yield return(this.StartCoroutine(sUser.Download(url, 0, InitMap))); InitManager(); InitCharacters(characterIds, battlefieldMaster); AddEvents(); this.dispatcher.Notify(); LSharpInit(); }