Пример #1
0
        public void Init(IData waterData)
        {
            _waterData = waterData as WaterData;

            var meshRenderer = gameObject.AddComponent <MeshRenderer>();

            meshRenderer.material = Resources.Load <Material>("Materials/Default");
            _mesh = gameObject.AddComponent <MeshFilter>().mesh;

            GenerateData();
        }
Пример #2
0
        public void Init(IData data)
        {
            _waterData    = data as WaterData;
            _splashPrefab = Resources.Load <GameObject>("Prefabs\\SplashNew");
            for (int i = 0; i < _waterData.SpringNum; i++)
            {
                _waterData.WaterSprings[i] = new WaterSpring();
                var pos = new Vector3(_waterData.Step * i + _waterData.Left, _waterData.Top);
                _waterData.WaterSprings[i].position = pos;
            }

            _mesh = Factory <WaterMesh> .CreateInstance(gameObject, _waterData);

            _phys = Factory <WaterInteraction> .CreateInstance(gameObject, _waterData);
        }
Пример #3
0
        public void Init(IData waterData)
        {
            _waterData = waterData as WaterData;
            _transform = transform;

            _edgeCollider2D = gameObject.AddComponent <EdgeCollider2D>();
            _rectCollider2D = gameObject.AddComponent <BoxCollider2D>();
            var points = new Vector2[2];

            points[0] = _waterData.WaterSprings[0].position;
            points[1] = _waterData.WaterSprings[_waterData.WaterSprings.Length - 1].position;


            _edgeCollider2D.points    = points;
            _edgeCollider2D.isTrigger = true;

            _rectCollider2D.isTrigger = true;
            _rectCollider2D.size      = new Vector2(_waterData.Width, _waterData.Height);
        }