public void Dispose() { Jelly.Dispose(); ControlFrame.Dispose(); Jelly = null; ControlFrame = null; WireframeRenderer = null; JellyRenderer = null; ControlFrameRenderer = null; JellyController = null; }
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; }
void Awake() { instance = this; //获取关卡数据 int levelNum = GameManager.instance.runningLevel; levelData = ResManager.instance.GetLevelDataList().levelList[levelNum - 1]; //设置背景图片 background.sprite = levelData.background; //生成初始的square和block GenerateSquareAndBlock(); //随机生成糖果 GenerateJelly(); }
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); }