public List <Skill> secondAction; //第二次行动列表 public override void Initialize() { base.Initialize(); attributes = new List <Attribute>(); var characterData = XMLManager.GetInstance().characterDB.characterDataList.Find(d => d.roleEName == roleEName); //序列化和反序列化进行深度复制。 MemoryStream stream = new MemoryStream(); BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(stream, characterData.attributes); stream.Position = 0; attributes = formatter.Deserialize(stream) as List <Attribute>; switch (characterIdentity) { case CharacterIdentity.noumenon: SetNoumenon(); break; case CharacterIdentity.transfiguration: SetTransfiguration(); break; case CharacterIdentity.obstacle: SetObstacle(); break; } }
public void SetNoumenon() { characterIdentity = CharacterIdentity.noumenon; identity = "本体"; rend = GetComponentsInChildren <Renderer>(); firstAction = new List <Skill>(); secondAction = new List <Skill>(); skills = new Dictionary <string, int>(); firstAction.Add(SkillManager.GetInstance().skillList.Find(s => s.EName == "Move")); firstAction.Add(SkillManager.GetInstance().skillList.Find(s => s.EName == "SkillOrToolList")); firstAction.Add(SkillManager.GetInstance().skillList.Find(s => s.EName == "RestoreChakra")); firstAction.Add(SkillManager.GetInstance().skillList.Find(s => s.EName == "Rest")); firstAction.Add(SkillManager.GetInstance().skillList.Find(s => s.EName == "EndRound")); secondAction.Add(SkillManager.GetInstance().skillList.Find(s => s.EName == "SkillOrToolList")); secondAction.Add(SkillManager.GetInstance().skillList.Find(s => s.EName == "EndRound")); var characterData = XMLManager.GetInstance().characterDB.characterDataList.Find(d => d.roleEName == roleEName); foreach (var data in characterData.skills) { skills.Add(data.skillName, data.skillLevel); } for (int i = 0; i < characterData.items.Count; i++) { characterData.items[i].itemPosition = i; items.Add(characterData.items[i]); } attributes.Find(d => d.eName == "itemNum").value = items.Count; }
void Awake() { instance = this; foreach (var s in XMLManager.GetInstance().gameDB.skillDataList) { var skill = Activator.CreateInstance(Type.GetType(s.eName)) as Skill; skillList.Add(skill); } //skillList.Add(new Move()); //skillList.Add(new SkillOrToolList()); //skillList.Add(new RestoreChakra()); //skillList.Add(new Rest()); //skillList.Add(new EndRound()); //skillList.Add(new ChooseDirection()); //skillList.Add(new FirstAction()); //skillList.Add(new SecondAction()); //skillList.Add(new ChooseTrick()); //skillList.Add(new NinjaCombo()); //skillList.Add(new NinjaCombo1()); //skillList.Add(new Substitute()); //skillList.Add(new Telesport()); //skillList.Add(new Clone()); //skillList.Add(new Transfiguration()); //skillList.Add(new MagicShuriken()); }
public void SetBeastClone(Transform noumenon) { base.Initialize(); attributes = new List <Attribute>(); //序列化和反序列化进行深度复制。 MemoryStream stream = new MemoryStream(); BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(stream, noumenon.GetComponent <CharacterStatus>().attributes); stream.Position = 0; attributes = formatter.Deserialize(stream) as List <Attribute>; characterIdentity = CharacterIdentity.beastClone; firstAction = new List <Skill>(); secondAction = new List <Skill>(); skills = new Dictionary <string, int>(); firstAction.Add(SkillManager.GetInstance().skillList.Find(s => s.EName == "Move")); firstAction.Add(SkillManager.GetInstance().skillList.Find(s => s.EName == "SkillOrToolList")); firstAction.Add(SkillManager.GetInstance().skillList.Find(s => s.EName == "EndRound")); secondAction.Add(SkillManager.GetInstance().skillList.Find(s => s.EName == "SkillOrToolList")); secondAction.Add(SkillManager.GetInstance().skillList.Find(s => s.EName == "EndRound")); var characterData = XMLManager.GetInstance().characterDB.characterDataList.Find(d => d.roleEName == roleEName); foreach (var data in characterData.skills) { skills.Add(data.skillName, data.skillLevel); } }
public Skill() { skillData = XMLManager.GetInstance().gameDB.skillDataList.Find(d => d.eName == GetType().ToString()); _eName = skillData.eName; _cName = skillData.cName; }
// Use this for initialization void Start() { gm = GridManager.GetInstance(); uim = UIManager.GetInstance(); objm = ObjectManager.GetInstance(); xmlm = XMLManager.GetInstance(); lvlm = LevelManager.GetInstance(); }
private void Awake() { StartCoroutine(XMLManager.GetInstance().LoadGameData(Application.streamingAssetsPath + "/XML/gameData.xml")); StartCoroutine(XMLManager.GetInstance().LoadCharacterData(Application.streamingAssetsPath + "/XML/characterData.xml")); StartCoroutine(XMLManager.GetInstance().LoadPlayerData(Application.streamingAssetsPath + "/XML/playerData.xml")); CurrentSceneIndex = 0; LoadScenes(); }
public void Start() { m_ModuleManager = ModuleManager.GetInstance(); m_UIManager = UIManager.GetInstance(); m_ControllerManager = ControllerManager.GetInstance(); m_PathManager = PathManager.GetInstance(); m_XMLManager = XMLManager.GetInstance(); InitManager(); StartGame(); }
void Start() { gm = GridManager.GetInstance(); uim = UIManager.GetInstance(); objm = ObjectManager.GetInstance(); xmlm = XMLManager.GetInstance(); cm = CheckManager.GetInstance(); userTextboxGO.SetActive(false); userTextboxLCRGO.SetActive(false); NumberOnlyGO.SetActive(false); NumberLCRGO.SetActive(false); }
public void OnLoadCharactersComplete() { instance.characterDB = XMLManager.GetInstance().characterDB; }
public void OnLoadGameDataComplete() { instance.gameDB = XMLManager.GetInstance().gameDB; }
private void Awake() { StartCoroutine(XMLManager.GetInstance().LoadGameData(Application.streamingAssetsPath + "/XML/gameData.xml")); StartCoroutine(XMLManager.GetInstance().LoadCharacters(Application.streamingAssetsPath + "/XML/characterData.xml")); }
public void OnLoadPlayerDataComplete() { instance.playerDB = XMLManager.GetInstance().playerDB; }