Exemple #1
0
    public void Open(bool basicSpell, int spellNumber)
    {
        gameObject.SetActive(true);
        basic  = basicSpell;
        number = spellNumber;
        // Get the old builder to set values on the new book
        ProjectileSpellBook book = null;

        if (basicSpell)
        {
            book = playerShoot.GetComponent <Shoot>().GetNonBasicSpell(0) as ProjectileSpellBook;
        }
        else
        {
            book = playerShoot.GetComponent <Shoot>().GetNonBasicSpell(1) as ProjectileSpellBook;
        }
        book.ReturnProj();
        ProjectileSpellBookBuilder builder = book.spellBuilder;

        uiStuff.spellGrid.SetGrid(builder.grid.GetGrid());
        // Set our builder to the new builder
        projSpellBookBuilder = new ProjectileSpellBookBuilder(ProjectileSpellBookBuilder.spellSource.player);

        // Clear and set the grid
        //uiStuff.spellGrid.ClearGrid ();
        projSpellBookBuilder.grid = uiStuff.spellGrid;

        if (SpellInterfaceOpened != null)
        {
            SpellInterfaceOpened(builder, projSpellBookBuilder, uiStuff.spellGrid);
        }
    }
Exemple #2
0
 public void SetProjectile(SpellCreationSegment seg, ProjectileSpellBook sp)
 {
     spellSeg = seg;
     if (pm == null)
     {
         pm = gameObject.GetComponent <ProjectileMovement>();
     }
     pm.speed     = seg.GetSpeed();
     pm.turnSpeed = seg.GetTurnSpeed();
     spell        = sp;
     string[] layers = sp.layerMaskNames;
     foreach (Transform child in transform)
     {
         if (sp.source == ProjectileSpellBookBuilder.spellSource.enemy)
         {
             child.gameObject.layer = LayerMask.NameToLayer("ProjectileEnemy");
         }
         else if (sp.source == ProjectileSpellBookBuilder.spellSource.player)
         {
             child.gameObject.layer = LayerMask.NameToLayer("ProjectilePlayer");
         }
         else
         {
             child.gameObject.layer = LayerMask.NameToLayer("ProjectileNeutral");
         }
         child.gameObject.GetComponent <MovementCheck>().layerMask = LayerMask.GetMask(layers);
     }
 }
Exemple #3
0
    void OnDisable()
    {
        if (current_spell == null)
        {
            return;
        }
        ProjectileSpellBook book = (ProjectileSpellBook)current_spell;

        book.ReturnProj();
    }
Exemple #4
0
    void UpdateDisplay(SpellBook book)
    {
        mBook = book;
        string count = "∞";

        if (book != null && book.chargesCurrent != -1)
        {
            ProjectileSpellBook proj = (ProjectileSpellBook)book;
            proj.SpellCasted += UpdateCount;
            count             = book.chargesCurrent + " / " + book.chargesMax;
        }
        text.text            = book.name + "\n " + count;
        gramdrawer.numPoints = (int)book.loadSize;
        gramdrawer.ReDrawGram();
        gramdrawer.SetPointsInUse((int)(book.loadSize - (book.chargesCurrent - book.nextChargesTillReload)));
    }
Exemple #5
0
    public void Play()
    {
        ProjectileSpellBook mySpell = projSpellBookBuilder.MakeSpellBook();
        Shoot shoot = playerShoot.GetComponent <Shoot>();

        if (basic)
        {
            shoot.SetNonBasicSpell(mySpell, 0);
        }
        else
        {
            shoot.SetNonBasicSpell(mySpell, 1);
        }

        overWorldObject.SetActive(true);
        this.gameObject.SetActive(false);
    }
Exemple #6
0
    public ProjectileSpellBook MakeSpellBook()
    {
        List <SpellCreationSegment> spellSegs = GetSpellSegs();

        foreach (SpellCreationSegment seg in spellSegs)
        {
            if (source != ProjectileSpellBookBuilder.spellSource.player)
            {
                seg.SetSpeedMod(seg.GetSpeedMod() * .6f);
            }

            ISpellPixel[,] pixels = grid.GetGrid();
            seg.calculateValues(grid, GetDamage());
        }

        CalculateCost();
        ProjectileSpellBook spellBook = new ProjectileSpellBook();

        spellBook.Init(this);
        return(spellBook);
    }