コード例 #1
0
    private void UpdateMetabodiesByXCoord()
    {
        var all_metabodies = BodypartInfo.GetAllMetabodies();

        all_metabodies.Sort(
            delegate(List <GameObject> l1, List <GameObject> l2)
            { return(l1[0].transform.position.x.CompareTo(l2[0].transform.position.x)); }
            );
        MetabodiesByXCoord = all_metabodies;
    }
コード例 #2
0
    //COLLISION FUNCTIONS ###############################
    //Lose Health functions (collision detection)

    private void OnCollisionEnter2D(Collision2D collision)
    {
        BodypartInfo bpi = collision.gameObject.GetComponent <BodypartInfo>();

        if (bpi != null)
        {
            if (charInfo.SetBodyPart(bpi.thisBodyPart, true))
            {
                Destroy(bpi.gameObject);
            }
        }

        if (collision.gameObject.CompareTag("Damage"))
        {
            charInfo.LoseRandomBodyPart();
        }
    }
コード例 #3
0
    private void CreateOrMergeMetabodies(BodypartInfo part1, BodypartInfo part2)
    {
        var metabody     = part1.MetaBody;
        var old_metabody = part2.MetaBody;

        if (metabody == old_metabody)
        {
            return;
        }

        foreach (var part in old_metabody)
        {
            var bpi = part.GetComponent <BodypartInfo>();
            bpi.MetaBody = metabody;
            metabody.Add(part);
        }

        part2.MetaBody = metabody;
        old_metabody.Clear();
    }