public void show_damage(GameObject battle_object, int maxihp, int initp, int top)
    {
        GameObject blood  = GameObject.CreatePrimitive(PrimitiveType.Plane);
        GameObject camera = GameObject.Find("CameraController").GetComponent <CameraControl>().get_current_camera();

        //obj.transform.position = pos + new Vector3(0,0.8f,0);
        blood.transform.localScale = new Vector3(0.04f, 0.04f, 0.04f);
        blood.transform.position   = battle_object.transform.position + new Vector3(0, 0.8f, 0);
        blood.transform.LookAt(camera.transform.position);
        blood.transform.Translate(Vector3.forward * 1.1f);
        blood.transform.Translate(Vector3.down * 0.3f);
        blood.transform.Translate(Vector3.left * 0.7f);
        blood.transform.Rotate(new Vector3(90, 0, 0));
        blood.GetComponent <MeshRenderer>().material = new Material(Shader.Find("Custom/BloodShader"));
        blood.AddComponent <BloodControl>();
        BloodControl bc  = blood.GetComponent <BloodControl>();
        Material     mat = blood.GetComponent <MeshRenderer>().material;

        mat.SetColor("_Color", new Color(0.0f, 1.0f, 192.0f / 255));
        mat.SetFloat("_LineWidth", 0.0266f);
        mat.mainTexture  = Resources.Load("blood_empty") as Texture;
        bc.maxi_blood    = maxihp;
        bc.current_blood = initp;
        bc.target_blood  = top;
        mat.SetFloat("_Percent", 1.0f * initp / maxihp);
        bc.current_frame = 0;
        StartCoroutine(WaitingBloodDel(blood, 1.5f));
    }
Exemple #2
0
 void Start()
 {
     //  gameObject.SetActive(false);
     bc       = GameObject.Find("BloodBar").GetComponent <BloodControl>();
     redmat   = GetComponent <MeshRenderer>().material;
     bulemat  = GameObject.Find("bule").GetComponent <MeshRenderer>().material;
     m_status = FocusStatus.Normal;
 }