Example #1
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        if (collision.gameObject.tag == "MagicBook")
        {
            MyTransform  = this.gameObject.transform.position;//今の座標
            HitMagicBook = collision.gameObject.GetComponent <MagicBook>();
            //Debug.Log("otoshita");
            switch (NowMagicWord)
            {
            case "fire":
                Instantiate(MagicBook[0], MyTransform, Quaternion.identity);
                break;

            case "wind":
                Instantiate(MagicBook[1], MyTransform, Quaternion.identity);
                break;

            case "ice":
                Instantiate(MagicBook[2], MyTransform, Quaternion.identity);
                break;
            }
            NowMagicWord            = HitMagicBook.MagicWord;//拾った魔導書の名前をもらう
            Data.Instance.MagicName = NowMagicWord;
        }
        if (collision.gameObject.tag == "EnemyShot" || collision.gameObject.tag == "Enemy")
        {
            StartCoroutine("Blink");
            FindObjectOfType <Score>().AddScore(-50);//ダメージを受けたら減点
        }
    }
Example #2
0
    private void Start()
    {
        if (magicBook == null)
        {
            magicBook = FindObjectOfType <MagicBook> ();
        }

        if (currentMagicSlot == null)
        {
            currentMagicSlot = FindObjectOfType <CurrentMagicSlot> ();
        }

        tileMapManager = GameManager.Instance.tileMapManager;
        player         = GetComponent <Player> ();
        magicBook.OnMagicClickEvent   += MagicChange;
        currentMagicSlot.OnClickEvent += MagicInput;
        magicBook.MagicActionSet();
        magicMarker.gameObject.SetActive(false);

        if (currentMagic != null)
        {
            currentMagicSlot.Magic = currentMagic;
        }

        magicPoint = maxMagicPoint;

        GameManager.Instance.ActionOnTurn += TurnRegenMagicPoint;
    }
Example #3
0
 public bool GetBook(out MagicBook book)
 {
     if (currentCombination == WeaponCombination.Book)
     {
         book = (MagicBook)GetItem(BookSlot);
         return(true);
     }
     else
     {
         book = null;
         return(false);
     }
 }
Example #4
0
    private void UpdateCombination()
    {
        Sword  sword  = GetItem(SwordSlot) as Sword;
        Shield shield = GetItem(ShieldSlot) as Shield;

        if (sword || shield)
        {
            currentCombination = WeaponCombination.SwordShield;
            return;
        }

        MagicBook book = GetItem(BookSlot) as MagicBook;

        if (book)
        {
            currentCombination = WeaponCombination.Book;
            return;
        }
    }
Example #5
0
        static void Main(string[] args)
        {
            var warPlayer  = new Player(new WarriorFactory());
            var archPlayer = new Player(new ArcherFactory());

            warPlayer.Hit();
            warPlayer.Run();

            archPlayer.Hit();
            archPlayer.Run();

            //check adapter
            AdapterSample();
            //check bridge

            Character myCharacter = new Warrior(new Sword());

            myCharacter.KillMobs();
            myCharacter.GetExp();

            myCharacter.Weapon = new Bridge.Bow();

            //need to kill flying mobs
            myCharacter.KillMobs();
            myCharacter.GetExp();

            BuilderExample();

            //check composite
            var objectsCategory = new Category("Objects");
            var weaponCategory  = new Category("Weapons");
            var armorCategory   = new Category("Armors");

            var item  = new MenuItem("Battle Axe");
            var item1 = new MenuItem("Long Sword");

            var ac  = new MenuItem("Plate");
            var ac1 = new MenuItem("Tights");

            weaponCategory.Add(item);
            weaponCategory.Add(item1);
            armorCategory.Add(ac);
            armorCategory.Add(ac1);
            objectsCategory.Add(weaponCategory);
            objectsCategory.Add(armorCategory);

            objectsCategory.Print();

            weaponCategory.Print();

            armorCategory.Print();


            //check decorator

            Decorator.Weapon mysword = new Decorator.Sword("Player1 Sword");
            Console.WriteLine($"{mysword.Name} cost {mysword.GetCost()} p.");
            Console.WriteLine("Update my sword");

            mysword = new Decorator.FireDecorator(mysword);
            Console.WriteLine($"{mysword.Name} cost {mysword.GetCost()} p.");

            //check facade

            MagicBook       mb = new MagicBook();
            MagicTable      mt = new MagicTable();
            ReagentsCreator rc = new ReagentsCreator();

            MagicRitualFacade mr = new MagicRitualFacade(mb, mt, rc);

            Mage xatab = new Mage();

            xatab.SummonImp(mr);


            //abstact method factory

            Developer dev    = new WoodDeveloper("poor civilization");
            var       castle = dev.Create();

            dev = new StoneDeveloper("grate civilization");
            var castle2 = dev.Create();



            //check flyweight

            double xstart = 0;
            double ystart = 0;

            var houseFactory = new ConstructionFactory();


            for (int i = 0; i < 5; i++)
            {
                var wmConstruction = houseFactory.GetConstruction("WarMachineFactory");
                wmConstruction?.Build(xstart, ystart);
                ystart += 105;

                var brickHouse = houseFactory.GetConstruction("Warehouse");
                brickHouse?.Build(xstart, ystart);
                ystart += 205;
                xstart += 310;
            }


            Console.ReadLine();
        }