Esempio n. 1
0
        protected virtual IEnumerator HandleSpawnCharacter()
        {
            var heroData = CTaskUtil.Get(CTaskUtil.HERO_DATA) as CHeroData;

            this.m_CharacterController = Instantiate(Resources.Load <CHeroController>("CharacterPrefabs/" + heroData.objectModel));
            yield return(this.m_CharacterController);

            // Init Events
            this.m_CharacterController.AddAction("StartIdleState", this.OnPlayerStartRollDice);
            this.m_CharacterController.AddAction("MovedBlockState", this.OnPlayerMovedToBlock);
            // INIT DATA
            this.m_CharacterController.SetData(heroData);
            this.m_CharacterController.SetActive(true);
            this.m_CharacterController.Init();
            // SET CURRENT BLOCK
            var currentBlock = this.m_MapManager.CalculateCurrentBlock(this.m_CharacterController.GetStep());

            this.m_CharacterController.currentBlock = currentBlock;
            this.m_CharacterController.targetBlock  = currentBlock;
            this.m_CharacterController.SetPosition(currentBlock.GetMovePointPosition());
            // LOADING COMPLETED
            this.m_LoadingCompleted = true;
            if (this.OnEventLoadingCompleted != null)
            {
                this.OnEventLoadingCompleted();
            }
            CUIGameManager.Instance.OnLoadCharacterInfo(this.m_CharacterController, false);
            CUIGameManager.Instance.OnUpdateCurrentEnergy(heroData.currentEnergy, heroData.maxEnergy);
            CUIGameManager.Instance.OnUpdateCurrentGold(heroData.currentGold);
        }
 // START LOAD CHARACTER
 public virtual void StartLoading()
 {
     this.m_MiniFightingData = CTaskUtil.Get(CTaskUtil.MINI_FIGHTING_DATA) as CMiniFightingData;
     // LOAD PLAYER CONTROLLER
     StartCoroutine(this.HandleSpawnCharacter(this.m_MiniFightingData.playerData,
                                              this.m_PlayerSpawnPoint, (ctrl) => {
         this.m_PlayerController = ctrl;
     }));
     // LOAD ENEMY CONTROLLER
     StartCoroutine(this.HandleSpawnCharacter(this.m_MiniFightingData.enemyData,
                                              this.m_EnemySpawnPoint, (ctrl) => {
         this.m_EnemyController = ctrl;
     }));
     // LOAD SEED
     UnityEngine.Random.InitState(this.m_MiniFightingData.randomSeed);
 }