コード例 #1
0
        public void Dispose()
        {
            Jelly.Dispose();
            ControlFrame.Dispose();

            Jelly                = null;
            ControlFrame         = null;
            WireframeRenderer    = null;
            JellyRenderer        = null;
            ControlFrameRenderer = null;
            JellyController      = null;
        }
コード例 #2
0
    void Start()
    {
        GameStatusEnum = GameStatus.STAY;

        jelly            = GameObject.FindGameObjectWithTag("Player").transform;
        _jellyController = jelly.GetComponent <JellyController>();
        jellyWay         = jelly.Find("JellyWay");
        jellyCopy        = jelly.Find("JellyCopy");
        jellyCopy.transform.SetParent(transform.parent);
        jellyWay.transform.SetParent(transform.parent);

        LeanTouch.OnFingerDown += OnFingerDown;
        LeanTouch.OnFingerSet  += OnFingerSet;

        _excessWidth = (jellyCopy.transform.localScale.z + jelly.transform.localScale.z) / 2;
    }
コード例 #3
0
    void Awake()
    {
        instance = this;

        //获取关卡数据
        int levelNum = GameManager.instance.runningLevel;

        levelData = ResManager.instance.GetLevelDataList().levelList[levelNum - 1];

        //设置背景图片
        background.sprite = levelData.background;

        //生成初始的square和block
        GenerateSquareAndBlock();

        //随机生成糖果
        GenerateJelly();
    }
コード例 #4
0
        public JellySimulation(SceneManager sceneManager, ShaderProvider shaderProvider)
        {
            _sceneManager   = sceneManager;
            _shaderProvider = shaderProvider;

            ControlFrame         = new Node(new Transform(Vector3.Zero, Quaternion.Identity /* Quaternion.FromEulerAngles(1.0f, 1.0f, 0.0f)*/, Vector3.One), "controlFrame");
            ControlFrameRenderer = new LineRenderer(shaderProvider.DefaultShader);
            var jellyControlFrame = new JellyControlFrame(ControlFrameRenderer, 1.0);

            ControlFrame.AttachComponents(ControlFrameRenderer, jellyControlFrame);

            Jelly = new Node(new Transform(Vector3.Zero, Quaternion.Identity, Vector3.One), "jelly");

            var boundingBoxRenderer = new LineRenderer(shaderProvider.DefaultShader);
            var jellyBoundingBox    = new JellyBoundingBox(boundingBoxRenderer, 5.0);

            var jellyData = new JellyData();

            JellyRenderer   = new DynamicPatchRenderer(shaderProvider.SurfaceShaderBezier, new Mesh(VertexLayout.Type.Position), jellyData);
            JellyController = new JellyController(jellyControlFrame);

            WireframeRenderer = new LineRenderer(shaderProvider.DefaultShader);
            var jellyCPVisualizer = new JellyControlPointVisualizer(WireframeRenderer);

            Jelly.AttachComponents(jellyData, JellyRenderer, JellyController, boundingBoxRenderer, jellyBoundingBox,
                                   WireframeRenderer, jellyCPVisualizer);


            _sceneManager.CurrentScene.AttachChild(Jelly);
            _sceneManager.CurrentScene.AttachChild(ControlFrame);

            var meshData  = MeshLoader.LoadObj("monkey2.obj");
            var monkey    = new Node(new Transform(Vector3.Zero, Quaternion.Identity, Vector3.One), "monkey");
            var jellyMesh = new JellyMesh(jellyData, meshData.positions, meshData.normals);

            JellyMeshRenderer = new DynamicMeshRenderer(shaderProvider.PhongShader, meshData.mesh);

            monkey.AttachComponents(JellyMeshRenderer, jellyMesh);
            _sceneManager.CurrentScene.AttachChild(monkey);
        }