示例#1
0
        public PlayerPositionData_v1 GetPlayerPositionData()
        {
            PlayerPositionData_v1 playerPosition = new PlayerPositionData_v1();
            PlayerHeightChanger   heightChanger  = GetComponent <PlayerHeightChanger>();

            playerPosition.position              = transform.position;
            playerPosition.worldCompensation     = GameManager.Instance.StreamingWorld.WorldCompensation;
            playerPosition.worldContext          = playerEnterExit.WorldContext;
            playerPosition.floatingOriginVersion = FloatingOrigin.floatingOriginVersion;
            playerPosition.yaw                   = playerMouseLook.Yaw;
            playerPosition.pitch                 = playerMouseLook.Pitch;
            playerPosition.isCrouching           = playerMotor.IsCrouching;
            playerPosition.worldPosX             = StreamingWorld.LocalPlayerGPS.WorldX;
            playerPosition.worldPosZ             = StreamingWorld.LocalPlayerGPS.WorldZ;
            playerPosition.insideDungeon         = playerEnterExit.IsPlayerInsideDungeon;
            playerPosition.insideBuilding        = playerEnterExit.IsPlayerInsideBuilding;
            playerPosition.insideOpenShop        = playerEnterExit.IsPlayerInsideOpenShop;
            playerPosition.terrainSamplerName    = DaggerfallUnity.Instance.TerrainSampler.ToString();
            playerPosition.terrainSamplerVersion = DaggerfallUnity.Instance.TerrainSampler.Version;
            playerPosition.weather               = GameManager.Instance.WeatherManager.PlayerWeather.WeatherType;
            return(playerPosition);
        }
        void Start()
        {
            //Sets up object instances for GameManager, so said scripts can be manipulated/accessed. Prints Message when done.
            playerMotor      = GameManager.Instance.PlayerMotor;
            heightChanger    = playerMotor.GetComponent <PlayerHeightChanger>();
            mainCamera       = GameObject.FindGameObjectWithTag("MainCamera");
            playerController = playerMotor.GetComponent <CharacterController>();

            //StartCoroutine(debug());

            //pulls setting data and assigns it to script vars for dodge routine below.
            dodgeDistanceMult = settings.GetValue <float>("Settings", "DodgeDistanceMult");
            dodgeTimeMult     = settings.GetValue <float>("Settings", "DodgeTimeMult");
            dodgeCostMult     = settings.GetValue <float>("Settings", "DodgeCostMult");
            dodgeDuckCamera   = settings.GetValue <float>("Settings", "DodgeDuckCamera");
            inputKey          = settings.GetValue <string>("Settings", "Key");

            DaggerfallUI.Instance.PopupMessage("Dodge Script Started:");

            //converts string key setting into valid unity keycode. Ensures mouse and keyboard inputs work properly.
            dodgeKeyCode = (KeyCode)Enum.Parse(typeof(KeyCode), inputKey);
        }