Ejemplo n.º 1
0
    public void Init()
    {
        if (groundHeightStep == null)
        {
            groundHeightStep = SafetyAreaManager.Instance.GetStep <GroundHeightStep>(SafetyAreaStepEnum.GroundHeight);
        }

        if (playAreaStep == null)
        {
            playAreaStep = SafetyAreaManager.Instance.GetStep <PlayAreaStep>(SafetyAreaStepEnum.PlayArea);
        }

        if (stationaryAreaStep == null)
        {
            stationaryAreaStep = SafetyAreaManager.Instance.GetStep <StationaryAreaStep>(SafetyAreaStepEnum.StationaryArea);
        }

        if (confirmPlayAreaStep == null)
        {
            confirmPlayAreaStep = SafetyAreaManager.Instance.GetStep <ConfirmPlayAreaStep>(SafetyAreaStepEnum.ConfirmPlayArea);
        }

        if (playAreaStateMachine == null)
        {
            playAreaStateMachine = new PlayAreaStateMachine();
            playAreaStateMachine.InitStateMachine(this);
        }

        groundHeightStep.RegistOnEnterStepCallback(OnEnterGroundHeightStep);
        groundHeightStep.RegistOnExitStepCallback(OnExitGroundHeightStep);

        playAreaStep.RegistOnEnterStepCallback(OnEnterPlayAreaStep);
        playAreaStep.RegistOnExitStepCallback(OnExitPlayAreaStep);

        stationaryAreaStep.RegistOnEnterStepCallback(OnEnterStationAreaStep);
        stationaryAreaStep.RegistOnExitStepCallback(OnExitStationAreaStep);

        confirmPlayAreaStep.RegistOnEnterStepCallback(OnEnterConfirmAreaStep);
        confirmPlayAreaStep.RegistOnExitStepCallback(OnExitConfirmAreaStep);

        SafetyAreaManager.Instance.ChangeStep(SafetyAreaStepEnum.GroundHeight);
    }
Ejemplo n.º 2
0
    void Start()
    {
        if (stationaryAreaStep == null)
        {
            stationaryAreaStep = SafetyAreaManager.Instance.GetStep <StationaryAreaStep>(SafetyAreaStepEnum.StationaryArea);
        }

        if (groundHeightStep == null)
        {
            groundHeightStep = SafetyAreaManager.Instance.GetStep <GroundHeightStep>(SafetyAreaStepEnum.GroundHeight);
        }

        if (headTransform == null)
        {
            headTransform = SvrManager.Instance.head;
        }

        float      groundHeight = groundHeightStep.GetPlaneHeight();
        MeshFilter meshFilter   = this.gameObject.AddComponent <MeshFilter>();

        meshRenderer          = this.gameObject.AddComponent <MeshRenderer>();
        meshRenderer.material = Resources.Load <Material>("Material/SafetyEdgeMat");
        meshFilter.mesh       = SafetyAreaVertexHelper.GenerateCylinderMesh(new Vector3(0, groundHeight, 0), groundHeight + 5, groundHeight);
    }