Example #1
0
        public override void AwakeInitInfo()
        {
            // 解析JSON,获取所有面板的路径信息
            LoadJsonTool.ParseUiPanelTypeJsonData(ref panelPathDict);

/*            // 把场景里面的已经存在的 UI 实例塞进字典
 *          var panels = FindObjectsOfType<BasePanel>().ToList();
 *          panels.Sort((x, y) => x.transform.GetSiblingIndex() - y.transform.GetSiblingIndex()); // 升序
 *          panels.ForEach(x =>
 *          {
 *              panelDict.Add(x.uiType, x);
 *              // 入栈
 *              panelStack.Push(x);
 *              //Debug.Log($"当前入栈的是:{x.uiType} 它的索引为:{x.transform.GetSiblingIndex()}");
 *          });*/
        }
Example #2
0
        /// <summary>
        /// 用于初始化
        /// </summary>
        private void Init()
        {
            // 先加载地图数据
            var map = GameManager.instance.currentMapData;

            // 地图数据为空则加载本地资源
            mapDto = map ?? LoadJsonTool.ParseLocalMapJsonData();

            // 初始化角色信息
            pm.speed              = mapDto.Initial.Speed;
            pm.runDivisor         = mapDto.Initial.RunDivisor;
            pm.jumpSleepDivisor   = mapDto.Initial.JumpSpeedDivisor;
            pm.climbSpeed         = mapDto.Initial.ClimbSpeed;
            pm.crouchSpeedDivisor = mapDto.Initial.CrouchSpeedDivisor;
            pm.jumpForce          = mapDto.Initial.JumpForce;
            pm.jump2ForceDivisor  = mapDto.Initial.Jump2ForceDivisor;
            pm.climbLateralForce  = mapDto.Initial.ClimbLateralForce;
            pm.transform.position = new Vector3Int(mapDto.Initial.X, mapDto.Initial.Y, 1);
            playerBirth           = pm.transform.position;

            // 设置角色
            pm.GetComponent <SpriteRenderer>().color = Color.white;
            pm.rb.constraints = RigidbodyConstraints2D.FreezeRotation;
            // 避免歪了
            pm.transform.rotation = Quaternion.identity;
            // 给个向下的力,否则动不了
            pm.rb.AddForce(new Vector2(0, -1), ForceMode2D.Impulse);

            // 开始设置背景信息
            buildBackground.StartSetBackground(mapDto);

            // 初始化格子
            buildTileMap.StartCreateMap(mapDto);

            // 初始化道具
            buildMapProp.StartCreateProps(mapDto);
        }