Ejemplo n.º 1
0
    public void ConfigureShield(float maxHP, float hp, float regen, float speed, List <System.Object> fragments)
    {
        parent            = transform.parent.GetComponent <Enemy>();
        capacity          = maxHP;
        referenceCapacity = maxHP;
        power             = hp;
        regenRate         = regen;
        rot = new Vector3(0f, 0f, speed);
        foreach (System.Object obj in fragments)
        {
            Dictionary <string, System.Object> fragDict = obj as Dictionary <string, System.Object>;
            float fragAngle = (float)(double)fragDict["fragAngle"];
            //fragAngle is the angle in degrees clockwise from the front of the enemy where the center of this fragment is located
            //do NOT use fragAngle to directly set the fragment's angle, which is the leftmost edge of the fragment, not the center
            float fragArc = (float)(double)fragDict["fragArc"];             //width of fragment in degrees

            //make it
            GameObject     frag = Instantiate(Resources.Load("Prefabs/MainCanvas/ShieldFragment")) as GameObject;
            ShieldFragment sf   = frag.GetComponent <ShieldFragment>();
            sf.SetManager(this);
            frag.transform.localEulerAngles = new Vector3(0f, 0f, fragAngle - (fragArc / 2f));
            sf.SetArcDegrees(fragArc);
        }
    }
Ejemplo n.º 2
0
 public void AddFragment(ShieldFragment sf)
 {
     fragments.Add(sf);
 }
Ejemplo n.º 3
0
 public void AddFragment(ShieldFragment sf)
 {
     fragments.Add(sf);
 }