예제 #1
0
 internal void CreateCorpseParts(Vector3 position)
 {
     for (int i = 0; i < 10; i++)
     {
         CorpsePart cp = Instantiate(corpsePartPrefab);
         cp.transform.position = position;
         cp.FlyToTarget(MapController.Instance.GetRandomTargetTile());
     }
 }
예제 #2
0
파일: Corpse.cs 프로젝트: Alarack/2DSandbox
    private void AddRigidBodyAndForce(CorpsePart part, float minXForce, float maxXForce, float minYForce, float maxYForce, float minRot, float maxRot, float gravity = 1.5f)
    {
        Rigidbody2D rb       = part.gameObject.AddComponent <Rigidbody2D>();
        float       xForce   = Random.Range(minXForce, maxXForce);
        float       yForce   = Random.Range(minYForce, maxYForce);
        float       rotSpeed = Random.Range(minRot, maxRot);

        rb.angularVelocity = rotSpeed;
        rb.velocity        = new Vector2(xForce, yForce);
    }
예제 #3
0
파일: Corpse.cs 프로젝트: Alarack/2DSandbox
    public void PopHead()
    {
        CorpsePart head = GetPart(CorpsePart.PartType.Head);

        if (head == null)
        {
            return;
        }

        AddRigidBodyAndForce(head, -2f, 2f, 5f, 15f, -360f, 360f);

        GameObject blood = Instantiate(bloodFountain, bloodLocation.position, bloodLocation.transform.rotation) as GameObject;

        blood.transform.SetParent(bloodLocation, true);
        //Destroy(blood, 5f);
    }
예제 #4
0
파일: Corpse.cs 프로젝트: Alarack/2DSandbox
    public void Explode()
    {
        int count = bodyParts.Length;

        for (int i = 0; i < count; i++)
        {
            CorpsePart currentPart = bodyParts[i];

            AddRigidBodyAndForce(currentPart, -5f, 5f, 5f, 15f, -1080f, 1080f, 1.5f);


            //Rigidbody2D rb = currentPart.gameObject.AddComponent<Rigidbody2D>();
            //rb.gravityScale = 1.5f;

            //float randomRotation = Random.Range(-1080f, 1080f);
            //rb.angularVelocity = randomRotation;

            //float xForce = Random.Range(-5f, 5f);
            //float yForce = Random.Range(5f, 15f);

            //rb.velocity = new Vector2(xForce, yForce);
        }
    }