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);//ダメージを受けたら減点 } }
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; }
public bool GetBook(out MagicBook book) { if (currentCombination == WeaponCombination.Book) { book = (MagicBook)GetItem(BookSlot); return(true); } else { book = null; return(false); } }
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; } }
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(); }