public override void OnClickView(VBase view) { View.Common.Bind.VBindList vBindList = view.transform.parent.GetComponent <View.Common.Bind.VBindList>(); VBaseListChild child = view as VBaseListChild; Model.Character.MCharacter mCharacter = child.model as Model.Character.MCharacter; if (vBindList.BindPath == "selectedCharacters") { mCharacter = System.Array.Find(Global.SUser.self.characters, chara => chara.characterId == mCharacter.characterId); } if (mCharacter.isSelected == 0 && selectedCharacters.Count == battleFieldMaster.owns.Length) { return; } mCharacter.isSelected = mCharacter.isSelected == 0 ? 1 : 0; child.UpdateView(mCharacter); if (mCharacter.isSelected == 1) { selectedCharacters.Add(mCharacter.Clone()); } else { selectedCharacters.RemoveAt(selectedCharacters.FindIndex(chara => chara.characterId == mCharacter.characterId)); } this.dispatcher.Set("selectedCharacters", selectedCharacters.ToArray()); this.dispatcher.Notify(); }
public override void UpdateView(Model.Character.MCharacter mCharacter) { base.UpdateView(mCharacter); HeadChanged(); WeaponChanged(); ClothesChanged(); HorseChanged(); ActionChanged(); }
public static void ToShowNpc(int npcId, string message, System.Action onComplete = null) { VCharacterBase vCharacter = Global.charactersManager.vCharacters.Find(chara => chara.mCharacter.id == npcId); Model.Character.MCharacter mCharacter = vCharacter.mCharacter; Request req = Request.Create("mCharacter", mCharacter, "message", message, "closeEvent", onComplete); AppManager.CurrentScene.StartCoroutine(Global.AppManager.ShowDialog(Util.Dialog.TalkDialog, req)); }
public override IEnumerator OnLoad(Request request) { int npcId = request.Get <int>("npcId"); string message = request.Get <string>("message"); Model.Character.MCharacter mCharacter = request.Get <Model.Character.MCharacter>("mCharacter"); int isPlayer = Global.charactersManager.mainVCharacter.mCharacter.characterId == mCharacter.characterId ? 1 : 0; this.dispatcher.Set("name", mCharacter.name); this.dispatcher.Set("characterId", mCharacter.characterId); this.dispatcher.Set("message", message); this.dispatcher.Set("isPlayer", isPlayer); this.dispatcher.Notify(); yield return(StartCoroutine(base.OnLoad(request))); }
void AddCharacterHandler(int npcId, App.Model.ActionType actionType, App.Model.Direction direction, int x, int y, bool isPlayer) { Debug.LogError("VScenarioMap AddCharacterHandler"); Model.Character.MCharacter character = NpcCacher.Instance.GetFromNpc(npcId); character.StatusInit(); character.action = actionType; GameObject obj = character.staticAvatar == 0 ? Instantiate(Global.characterPrefab) : Instantiate(Global.avatarPrefab); obj.transform.SetParent(characterLayer); obj.transform.localScale = Vector3.one * 0.6f; //float x = character.coordinate.x * 0.64f + 0.32f + (character.coordinate.y % 2 == 0 ? 0 : 0.32f); obj.transform.localPosition = new Vector3(x * 0.32f, -4.4f, 0); obj.SetActive(true); Avatar.VCharacterBase vCharacter = obj.GetComponent <Avatar.VCharacterBase>(); vCharacter.UpdateView(character); vCharacter.direction = direction; Global.charactersManager.vCharacters.Add(vCharacter); if (isPlayer) { Global.charactersManager.mainVCharacter = vCharacter; } }
private void SetCharacters() { object val = this.GetByPath("characters"); if (val == null) { return; } List <Model.Character.MCharacter> characters = val as List <Model.Character.MCharacter>; for (int i = 0; i < characters.Count; i++) { Model.Character.MCharacter character = characters[i]; Debug.LogError("character=" + character.name + "," + character.staticAvatar); GameObject obj = character.staticAvatar == 0 ? Instantiate(Global.characterPrefab) : Instantiate(Global.avatarPrefab); obj.transform.SetParent(characterLayer); obj.transform.localScale = Vector3.one * 0.6f; float x = character.coordinate.x * 0.64f + 0.32f + (character.coordinate.y % 2 == 0 ? 0 : 0.32f); obj.transform.localPosition = new Vector3(x, -character.coordinate.y * 0.64f - 0.32f, 0); Avatar.VCharacterBase vCharacter = obj.GetComponent <Avatar.VCharacterBase>(); vCharacter.UpdateView(character); Global.charactersManager.vCharacters.Add(vCharacter); } }
public virtual void UpdateView(Model.Character.MCharacter mCharacter) { this.mCharacter = mCharacter; Init(); }