Ejemplo n.º 1
0
    private void Awake()
    {
        // Singleton instantiation
        transform.parent = null;
        if (instance == null)
        {
            instance = this;
            DontDestroyOnLoad(gameObject);
        }
        else
        {
            Destroy(gameObject);
        }

        // Initialization of the experiment
        CreateMetaballs();
        CreateGrid();
        CreateMesh();
        EvaluateRectangle();
    }
Ejemplo n.º 2
0
    void OnCollisionStay2D(Collision2D collision)
    {
        int layer = collision.collider.gameObject.layer;

        if (layer != 9 && layer != 8)
        {
            return;
        }
        if (layer == 8)
        {
            Metaball2D metaball = collision.gameObject.GetComponent <Metaball2D>();
            if (metaball == null)
            {
                return;
            }
            if (!metaball.onGround)
            {
                return;
            }
        }
        onGround = true;
        MetaballManager.OnGround();
    }
Ejemplo n.º 3
0
 public static void Remove(Metaball2D metaball)
 {
     MetaballManager.RemoveMetaball(metaball);
 }
Ejemplo n.º 4
0
 public static List <Metaball2D> Get()
 {
     return(MetaballManager.GetMetaballs());
 }
Ejemplo n.º 5
0
 public static void Add(Metaball2D metaball)
 {
     MetaballManager.AddMetaball(metaball);
 }
Ejemplo n.º 6
0
 // Update is called once per frame
 void Update()
 {
     AmountOfWater.SetGlobalValue(MetaballManager.GetMetaballs().Count);
 }