示例#1
0
    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;
        }
    }
示例#2
0
    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;
    }
示例#3
0
    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());
    }
示例#4
0
    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);
        }
    }
示例#5
0
    public Skill()
    {
        skillData = XMLManager.GetInstance().gameDB.skillDataList.Find(d => d.eName == GetType().ToString());

        _eName = skillData.eName;
        _cName = skillData.cName;
    }
示例#6
0
 // Use this for initialization
 void Start()
 {
     gm   = GridManager.GetInstance();
     uim  = UIManager.GetInstance();
     objm = ObjectManager.GetInstance();
     xmlm = XMLManager.GetInstance();
     lvlm = LevelManager.GetInstance();
 }
示例#7
0
文件: Global.cs 项目: Hengle/SLGanim
    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();
    }
示例#8
0
 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();
 }
示例#9
0
 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);
 }
示例#10
0
 public void OnLoadCharactersComplete()
 {
     instance.characterDB = XMLManager.GetInstance().characterDB;
 }
示例#11
0
 public void OnLoadGameDataComplete()
 {
     instance.gameDB = XMLManager.GetInstance().gameDB;
 }
示例#12
0
 private void Awake()
 {
     StartCoroutine(XMLManager.GetInstance().LoadGameData(Application.streamingAssetsPath + "/XML/gameData.xml"));
     StartCoroutine(XMLManager.GetInstance().LoadCharacters(Application.streamingAssetsPath + "/XML/characterData.xml"));
 }
示例#13
0
文件: Global.cs 项目: Hengle/SLGanim
 public void OnLoadPlayerDataComplete()
 {
     instance.playerDB = XMLManager.GetInstance().playerDB;
 }