Пример #1
0
    void RuneChanged(string rune)
    {
        SpellRune spellRune = ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent(rune, SpellComponent.SubSpellComponentType.Rune)) as SpellRune;

        Debug.Log(spellRune.GetTitle() + "RUNE NAME");
        projSpellBookBuilder.SetRune(spellRune);
    }
Пример #2
0
    public void Start()
    {
        EnemyShoot       shoot = this.GetComponent <EnemyShoot>();
        NonMonoSpellGrid grid  = new NonMonoSpellGrid(6, 6);
        Ink ink = ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent("FireWeedSap", SpellComponent.SubSpellComponentType.Ink)) as Ink;

        grid.SetInk(ink);
        grid.SetPixel(2, 2, true);
        grid.SetPixel(2, 3, true);
        grid.SetPixel(3, 2, true);
        grid.SetPixel(3, 3, true);
        grid.SetPixel(4, 4, true);
        grid.SetPixel(3, 4, true);
        grid.SetPixel(4, 3, true);
        grid.SetPixel(2, 4, true);
        grid.SetPixel(4, 2, true);

        grid.SetPixel(3, 1, true);
        grid.SetPixel(3, 5, true);
        grid.SetPixel(1, 3, true);
        grid.SetPixel(5, 3, true);

        ProjectileSpellBookBuilder spellBuilder = new ProjectileSpellBookBuilder(ProjectileSpellBookBuilder.spellSource.enemy);

        spellBuilder.caster = gameObject;
        spellBuilder.grid   = grid;
        spellBuilder.page   = ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent("Paper", SpellComponent.SubSpellComponentType.Paper)) as SpellPage;
        spellBuilder.lang   = ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent("English", SpellComponent.SubSpellComponentType.language)) as Language;
        spellBuilder.SetRune(ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent("Raging Badger", SpellComponent.SubSpellComponentType.Rune)) as SpellRune);
        shoot.current_spell = spellBuilder.MakeSpellBook();
        shoot.coolDown      = spellBuilder.page.GetCoolDown();
    }
Пример #3
0
    void FillAll()
    {
        //LoadStarterComponents();
        ComponentLoader loader = ComponentLoader.GetInstance();

        foreach (ComponentLoader.UnLoadedSpellComponent comp in loader.UnlockableSpellComponents)
        {
            string value = comp.name;
            switch (comp.type)
            {
            case SpellComponent.SubSpellComponentType.Paper:
                pages.Add(value);
                break;

            case SpellComponent.SubSpellComponentType.Rune:
                runes.Add(value);
                break;

            case SpellComponent.SubSpellComponentType.language:
                langs.Add(value);
                break;

            case SpellComponent.SubSpellComponentType.Ink:
                inks.Add(value);
                break;

            default:
                break;
            }
        }
    }
Пример #4
0
    public override void UpdateStats(SpellComponent.SubSpellComponentType type, string components)
    {
        ComponentLoader.UnLoadedSpellComponent unloadedComponent;
        unloadedComponent.name = components;
        unloadedComponent.type = type;
        ISpellComponent component = ComponentLoader.GetInstance().LoadComponent(unloadedComponent);

        UpdateBaseStats(component);
    }
Пример #5
0
    void PickItem(Room r)
    {
        if (canHaveComponents || canHaveHealth || canHaveCharges)
        {
            bool haveItem = false;
            while (!haveItem)
            {
                int itemType = Random.Range(0, 3);
                switch (itemType)
                {
                case 0:
                    if (!canHaveComponents)
                    {
                        continue;
                    }
                    price          = componentPrice;
                    giveItem       = GiveSpellComponent;
                    spellComponent = PlayerInventory.instance.AddComponentToStore();
                    ISpellComponent component = ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent(spellComponent, PlayerInventory.instance.componentsInStore[spellComponent]));
                    itemText.text = component.GetTitle() + "\n" + component.GetToolTip();
                    haveItem      = true;
                    break;

                case 1:
                    if (!canHaveHealth)
                    {
                        continue;
                    }
                    price         = fullHealPrice;
                    giveItem      = Heal;
                    itemText.text = "Full Healh";
                    haveItem      = true;
                    break;

                case 2:
                    if (!canHaveCharges)
                    {
                        continue;
                    }
                    price         = fullChargePrice;
                    giveItem      = RechargeSpells;
                    itemText.text = "Recharge Spells";
                    haveItem      = true;
                    break;

                default:
                    break;
                }
            }
            priceText.text = price.ToString();
        }
    }
Пример #6
0
    public NonMonoSpellGrid(int xx, int yy)
    {
        spellPixels = new NonMonoSpellPixel[xx, yy];
        sizeX       = xx;
        sizeY       = yy;
        InkToNumberOfActiveInksOfThatType = new Dictionary <Ink, int>();
        ink = ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent("SootExtract", SpellComponent.SubSpellComponentType.Ink)) as Ink;

        for (int x = 0; x < sizeX; x++)
        {
            for (int y = 0; y < sizeY; y++)
            {
                spellPixels[x, y] = new NonMonoSpellPixel(this);
            }
        }
    }
Пример #7
0
 void Awake()
 {
     GameObject.Find("Player").GetComponent <CharacterLevel>().LeveledUp += OnPlayerLevelUp;
     if (spells[0] == null)
     {
         NonMonoSpellGrid spellGrid = new NonMonoSpellGrid(4, 4);
         spellGrid.SetPixel(1, 1, true);
         spellGrid.SetPixel(1, 2, true);
         spellGrid.SetPixel(1, 3, true);
         ProjectileSpellBookBuilder builder = new ProjectileSpellBookBuilder(ProjectileSpellBookBuilder.spellSource.player);
         builder.grid = spellGrid;
         builder.lang = ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent("English", SpellComponent.SubSpellComponentType.language)) as Language;
         builder.SetRune(ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent("Raging Badger", SpellComponent.SubSpellComponentType.Rune)) as SpellRune);
         builder.page = ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent("Paper", SpellComponent.SubSpellComponentType.Paper)) as SpellPage;
         spells[0]    = builder.MakeSpellBook();
     }
     if (spells[1] == null)
     {
         NonMonoSpellGrid spellGrid = new NonMonoSpellGrid(4, 4);
         spellGrid.SetPixel(1, 1, true);
         spellGrid.SetPixel(2, 1, true);
         spellGrid.SetPixel(1, 2, true);
         spellGrid.SetPixel(2, 2, true);
         ProjectileSpellBookBuilder builder = new ProjectileSpellBookBuilder(ProjectileSpellBookBuilder.spellSource.player);
         builder.grid = spellGrid;
         builder.lang = ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent("English", SpellComponent.SubSpellComponentType.language)) as Language;
         builder.SetRune(ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent("Bomb", SpellComponent.SubSpellComponentType.Rune)) as SpellRune);
         builder.page = ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent("Paper", SpellComponent.SubSpellComponentType.Paper)) as SpellPage;
         spells[1]    = builder.MakeSpellBook();
     }
     if (basicSpell == null)
     {
         NonMonoSpellGrid spellGrid = new NonMonoSpellGrid(4, 4);
         spellGrid.SetPixel(2, 2, true);
         ProjectileSpellBookBuilder builder = new ProjectileSpellBookBuilder(ProjectileSpellBookBuilder.spellSource.player);
         builder.grid = spellGrid;
         builder.lang = ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent("English", SpellComponent.SubSpellComponentType.language)) as Language;
         builder.SetRune(ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent("Basic", SpellComponent.SubSpellComponentType.Rune)) as SpellRune);
         builder.page = ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent("Paper", SpellComponent.SubSpellComponentType.Paper)) as SpellPage;
         basicSpell   = builder.MakeSpellBook();
     }
     SpellChanged(spells[currentSpell]);
 }
Пример #8
0
    public SpellBook SpellBookRain(ISpellGrid fgrid)
    {
        NonMonoSpellGrid grid = new NonMonoSpellGrid(6, 6);
        Ink ink = ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent("FireWeedSap", SpellComponent.SubSpellComponentType.Ink)) as Ink;

        grid.SetInk(ink);
        grid.SetPixel(2, 2, true);
        grid.SetPixel(2, 3, true);
        grid.SetPixel(2, 4, true);


        ProjectileSpellBookBuilder spellBuilder = new ProjectileSpellBookBuilder(ProjectileSpellBookBuilder.spellSource.player);

        //spellBuilder.caster = ;
        spellBuilder.grid = grid;
        spellBuilder.page = ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent("Paper", SpellComponent.SubSpellComponentType.Paper)) as SpellPage;
        spellBuilder.lang = ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent("English", SpellComponent.SubSpellComponentType.language)) as Language;
        spellBuilder.SetRune(ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent("Raging Badger", SpellComponent.SubSpellComponentType.Rune)) as SpellRune);
        return(spellBuilder.MakeSpellBook());
    }
Пример #9
0
    void Awake()
    {
        if (instance != null)
        {
            Debug.LogError("THI IS A SINGLETON ");
        }
        else
        {
            instance = this;
        }

        Init();
        ComponentLoader loader = ComponentLoader.GetInstance();

        foreach (ComponentLoader.UnLoadedSpellComponent comp in loader.StartingSpellComponents)
        {
            string value = comp.name;
            switch (comp.type)
            {
            case SpellComponent.SubSpellComponentType.Paper:
                pages.Add(value);
                break;

            case SpellComponent.SubSpellComponentType.Rune:
                runes.Add(value);
                break;

            case SpellComponent.SubSpellComponentType.language:
                langs.Add(value);
                break;

            case SpellComponent.SubSpellComponentType.Ink:
                inks.Add(value);
                break;

            default:
                break;
            }
        }
    }
Пример #10
0
    public void Start()
    {
        EnemyShoot       shoot = this.GetComponent <EnemyShoot>();
        NonMonoSpellGrid grid  = new NonMonoSpellGrid(6, 6);
        Ink ink = ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent("SootExtract", SpellComponent.SubSpellComponentType.Ink)) as Ink;

        grid.SetInk(ink);
        grid.SetPixel(2, 2, true);
        grid.SetPixel(2, 3, true);
        grid.SetPixel(3, 2, true);
        grid.SetPixel(3, 3, true);

        ProjectileSpellBookBuilder spellBuilder = new ProjectileSpellBookBuilder(ProjectileSpellBookBuilder.spellSource.enemy);

        spellBuilder.grid = grid;
        spellBuilder.page = ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent("Cotton", SpellComponent.SubSpellComponentType.Paper)) as SpellPage;
        spellBuilder.lang = ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent("English", SpellComponent.SubSpellComponentType.language)) as Language;
        spellBuilder.SetRune(ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent("BullFrog", SpellComponent.SubSpellComponentType.Rune)) as SpellRune);
        shoot.current_spell = spellBuilder.MakeSpellBook();
        shoot.coolDown      = spellBuilder.page.GetCoolDown();
        Debug.Log("Cooldown " + shoot.coolDown);
    }
Пример #11
0
    void Init()
    {
        ownedComponents[SpellComponent.SubSpellComponentType.Paper]    = pages;
        ownedComponents[SpellComponent.SubSpellComponentType.language] = langs;
        ownedComponents[SpellComponent.SubSpellComponentType.Rune]     = runes;
        ownedComponents[SpellComponent.SubSpellComponentType.Ink]      = inks;

        ComponentLoader loader = ComponentLoader.GetInstance();

        //foreach (ComponentLoader.UnLoadedSpellComponent comp in loader.StartingSpellComponents)
        //{
        //    string value = comp.name;
        //    switch (comp.type)
        //    {
        //        case SpellComponent.SubSpellComponentType.Paper:
        //            pages.Add(value);
        //            break;
        //        case SpellComponent.SubSpellComponentType.Rune:
        //            runes.Add(value);
        //            break;
        //        case SpellComponent.SubSpellComponentType.language:
        //            langs.Add(value);
        //            break;
        //        case SpellComponent.SubSpellComponentType.Ink:
        //            inks.Add(value);
        //            break;
        //        default:
        //            break;
        //    }
        //}

        foreach (ComponentLoader.UnLoadedSpellComponent comp in loader.UnlockableSpellComponents)
        {
            if (!componentsAvailable.ContainsKey(comp.name))
            {
                componentsAvailable.Add(comp.name, comp.type);
            }
        }
    }
Пример #12
0
    void Start()
    {
        Ink nInk = ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent("SootExtract", SpellComponent.SubSpellComponentType.Ink)) as Ink;

        this.ink = nInk;
    }
Пример #13
0
    void InkChanged(string grid)
    {
        Ink ink = ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent(grid, SpellComponent.SubSpellComponentType.Ink)) as Ink;

        uiStuff.spellGrid.SetInk(ink);
    }
Пример #14
0
    void PageChanged(string paper)
    {
        SpellPage page = ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent(paper, SpellComponent.SubSpellComponentType.Paper)) as SpellPage;

        projSpellBookBuilder.page = page;
    }
Пример #15
0
    void LangChanged(string language)
    {
        Language lang = ComponentLoader.GetInstance().LoadComponent(new ComponentLoader.UnLoadedSpellComponent(language, SpellComponent.SubSpellComponentType.language)) as Language;

        projSpellBookBuilder.lang = lang;
    }