Esempio n. 1
0
 public void Init()
 {
     slime = new Slime();
 }
Esempio n. 2
0
 private void Start()
 {
     slimeScript = slime.GetComponent <Slime>();
 }
Esempio n. 3
0
        static void Main(string[] args)
        {
            // 슬라임과 고블린을 전투 시키자.
            Unity unity = new Unity();

            unity.Run();


            // 조건문 : if, switch
            {
                int i = 2;
                i = 3;
                bool result = i > 10;
                // 예제1. 가장 단순한 형태.
                if (result)
                {
                    Debug.WriteLine("여기는 실행안됨");
                }

                // 예제2. else추가
                if (i > 10)
                {
                    Debug.WriteLine("조건이 참일때 실행, 여기도 실행안됨");
                }
                else
                {
                    Debug.WriteLine("조건이 거짓일때 실행, 위에 실행안되서 여기실행됨");
                }


                // 예제2. else if추가
                if (i > 10) // i == 2
                {
                    Debug.WriteLine("조건이 참일때 실행");
                }
                else if (i > 0)
                {
                    Debug.WriteLine("i(2) > 0 크다");
                }
                else // 마지막에 else문도 추가 가능.
                {
                    Debug.WriteLine("모두 아닌 경우 최종적으로 실행");
                }


                // 예제3. if문안에 다른 if, for, 변수/클래스 선언,... 가능
                if (i > 0)
                {
                    int k = 1;
                    if (i > k)
                    {
                        Debug.WriteLine("i(2) > k(1) 크다");
                    }
                }
            }

            //switch
            {
                //int를 switch 문에 사용
                int k   = 0; //<- 세미콜론.
                int sum = 10;
                switch (k)
                {
                case 1:     // <- 콜론,줄바꿈 표시 아니에요
                {
                    int i = k * 2;
                    sum = i;
                    Console.WriteLine("1 이다");
                }
                break;

                case 0:
                {
                    int i = 0;
                    sum = i;
                    Console.WriteLine("0 이다");
                }
                break;

                case 2:
                {
                    Console.WriteLine("2 이다");
                }
                break;

                case 4:
                case 5:
                    Console.WriteLine("4나 5입력했다");
                    break;

                case 3:
                    Console.WriteLine("순서대로 입력할 필요 없음");
                    break;

                default:
                    Console.WriteLine(k + "입력했다");
                    break;
                }


                //스트링을 switch 문에 사용
                string operatorString = "Add";
                switch (operatorString)
                {
                case "Add":
                    Console.WriteLine("더하기 연산자");
                    break;

                case "Minus":
                    Console.WriteLine("빼기 연산자");
                    break;

                default:
                    Console.WriteLine(operatorString + " 알수없는 연산자입니다");
                    break;
                }

                // enum을 switch문에 사용
                DayOfWeek dayOfWeek = DayOfWeek.Monday;
                switch (dayOfWeek)
                {
                case DayOfWeek.Monday: Console.WriteLine("월요일이다"); break;

                case DayOfWeek.Tuesday: Console.WriteLine("화요일이다"); break;
                }
            }

            // 반복문
            {
                //for반복문
                {
                    for (int i = 0; i < 10; i++)
                    {
                        Console.WriteLine(i);
                    }

                    for (int dan = 2; dan < 9; dan++)// i말고 다른 변수이름 해도 상관없음.
                    {
                        Console.WriteLine($"구구단 {dan}단");
                        for (int k = 1; k <= 9; k++) // 시작값 0말고 다른값 입력가능, for문안에 다른 for문도 넣을 수 있음.
                        {
                            Console.WriteLine($"{dan} * {k} = {dan * k}");
                        }
                    }
                }

                //while 반복문.
                {
                    int count = 10;
                    while (count > 0) // while(isPlayer == true) 와 같음
                    {
                        count--;
                        Console.WriteLine(count);
                    }

                    count = 10;
                    do // do while문 :while문과의 차이 최소 1회 실행한뒤 조건 검사.
                    {
                        count--;
                        Console.WriteLine(count);
                    } while (count > 0);


                    count = 10;
                    while (true)  // 무한 반복, 본문블락에서 break문을 사용해서 블락을 빠져나와야 한다.
                    {
                        count--;
                        if (count <= 0)
                        {
                            break; // while 반복 빠져나감.
                        }
                        Console.WriteLine(count);
                    }
                }
            } // 반복문 끝



            {                                                 // 클래스
                // new 가 필요한 이유
                Monster monster0 = new Monster();             // 클래스 기본 생성자 호출

                Monster monster1 = new Monster("몬스터1", 1, 3); // 생성할때 파라미터 넣어서 생성자 호출
                Monster monster2 = new Monster("몬스터1", 2);
                Monster monster3 = new Monster("몬스터1", power: 2, 3);

                //new 를 하면 (인스턴스, 객체, 오브젝트)가 생긴다.
                monster1.hp -= 3; // 특정 객체의 값만 수정할 수 있다.
            } // 클래스 끝


            {
                //함수 오버라이드
                Monster monster = new Monster();
                string  log     = "몬스터를 스트링과 결합" + monster; // 스트링과 결합될때 자동으로 ToString함수가 호출된다.
                string  log1    = monster.ToString();       // public virtual string? ToString();
            }

            // 함수 오버라이드를 사용해서 몬스터의 공격패턴을 다양하게 바꾸자.
            {
                //상속된 함수 사용 virtual과 override, -> 대표적인 override인 ToString을 사용해보자.
                Slime  slime  = new Slime();
                Goblin goblin = new Goblin();

                List <Monster> monsters = new List <Monster>();
                monsters.Add(slime);
                monsters.Add(goblin);

                // 실제로는 엄청 많은 몬스터들이 있다.
                // 일일이 어택 명령을 실행할 수 없으니 List에 담아서 한번에 Attack명령 실행한다.
                // Slime과 Goblin은 모두 Monster의 자식들이라서 monster에 담을 수 있다.
                // Monster에 담았으니깐 Monster에 있는 Attack명령을 사용할 수 있다.
                //foreach (var item in monsters)
                //    item.Attack();
            }

            // static 변수/함수.
            {
                // 언제나 사용가능한 변수와 함수.
                // static 변수/함수는 해당 클래스 안에서는 사용가능
                // 클래스 밖에서 호출 할때는 public 으로 설정되어야 하며, "클랙스이름.함수/변수"로 호출해야함.
                int totalID  = Monster.TotalID;
                int totalID1 = Monster.GetCurrentID(); // public Static 함수라서 호출 가능.
            }


            // 0:사자, 1:호랑이, 2:토끼, 3:여우.
            {
                int animal = 0;  //

                if (animal == 0) // 0: 사자
                {
                    Console.WriteLine("어흥");
                }
                else if (animal == 1)
                {
                    Console.WriteLine("야홍");
                }
                else if (animal == 2)
                {
                    Console.WriteLine("깡총");
                }
                else if (animal == 3)
                {
                    Console.WriteLine("여우");
                }
            }

            {
                Animal animal = Animal.토끼;
                if (animal == Animal.사자)
                {
                    Console.WriteLine("어흥");
                }
                else if (animal == Animal.호랑이)
                {
                    Console.WriteLine("야홍");
                }
                else if (animal == Animal.토끼)
                {
                    Console.WriteLine("깡총");
                }
                else if (animal == Animal.여우)
                {
                    Console.WriteLine("여우");
                }

                switch (animal)
                {
                case Animal.사자:
                    Console.WriteLine("어흥");
                    break;

                case Animal.호랑이:
                    Console.WriteLine("야홍");
                    break;

                case Animal.토끼:
                    Console.WriteLine("깡총");
                    break;

                case Animal.여우:
                    Console.WriteLine("여우");
                    break;
                }
            }

            //enum 과 리스트 사용
            {
                List <int> intList = new List <int>();
                intList.Add(1);
                intList.Add(2);
                int firstElement  = intList[0];
                int secondElement = intList[1];

                Animal animal = Animal.호랑이;
                animal = (Animal)((int)animal + (int)Animal.토끼);
                Debug.WriteLine(animal);
            }



            // || or 연산
            // && and 연산
            // | <- 비트 연산 or
            // & <- 비트 연산 and
            // OR 연산자로 다중 플래그 할당
            Border b = Border.Top | Border.Bottom;

            // & 연산자로 플래그 체크
            if ((b & Border.Top) != 0)
            {
                //HasFlag()이용 플래그 체크
                if (b.HasFlag(Border.Bottom))
                {
                    // "Top, Bottom" 출력
                    Console.WriteLine(b.ToString());
                }
            }
        }
Esempio n. 4
0
        public static Entity Create(this EntityType entityType, World world)
        {
            Entity entity = null;

            switch (entityType)
            {
            case EntityType.None:
                return(null);

            case EntityType.Chicken:
                entity = new Chicken(world);
                break;

            case EntityType.Cow:
                entity = new Cow(world);
                break;

            case EntityType.Pig:
                entity = new Pig(world);
                break;

            case EntityType.Sheep:
                entity = new Sheep(world);
                break;

            case EntityType.Wolf:
                entity = new Wolf(world);
                break;

            case EntityType.Villager:
                entity = new Villager(world);
                break;

            case EntityType.MushroomCow:
                entity = new Mooshroom(world);
                break;

            case EntityType.Squid:
                entity = new Squid(world);
                break;

            case EntityType.Rabbit:
                entity = new Rabbit(world);
                break;

            case EntityType.Bat:
                entity = new Bat(world);
                break;

            case EntityType.IronGolem:
                entity = new VillagerGolem(world);
                break;

            case EntityType.SnowGolem:
                entity = new Snowman(world);
                break;

            case EntityType.Ocelot:
                entity = new Ocelot(world);
                break;

            case EntityType.Zombie:
                entity = new Zombie(world);
                break;

            case EntityType.Creeper:
                entity = new Creeper(world);
                break;

            case EntityType.Skeleton:
                entity = new Skeleton(world);
                break;

            case EntityType.Spider:
                entity = new Spider(world);
                break;

            case EntityType.ZombiePigman:
                entity = new ZombiePigman(world);
                break;

            case EntityType.Slime:
                entity = new Slime(world);
                break;

            case EntityType.Endermite:
                entity = new Endermite(world);
                break;

            case EntityType.Enderman:
                entity = new Enderman(world);
                break;

            case EntityType.Silverfish:
                entity = new Silverfish(world);
                break;

            case EntityType.CaveSpider:
                entity = new CaveSpider(world);
                break;

            case EntityType.Ghast:
                entity = new Ghast(world);
                break;

            case EntityType.MagmaCube:
                entity = new MagmaCube(world);
                break;

            case EntityType.Blaze:
                entity = new Blaze(world);
                break;

            case EntityType.ZombieVillager:
                entity = new ZombieVillager(world);
                break;

            case EntityType.Witch:
                entity = new Witch(world);
                break;

            case EntityType.Stray:
                entity = new Stray(world);
                break;

            case EntityType.Husk:
                entity = new Husk(world);
                break;

            case EntityType.WitherSkeleton:
                entity = new WitherSkeleton(world);
                break;

            case EntityType.Guardian:
                entity = new Guardian(world);
                break;

            case EntityType.ElderGuardian:
                entity = new ElderGuardian(world);
                break;

            case EntityType.Horse:
                entity = new Horse(world);
                break;

            case EntityType.ZombieHorse:
                entity = new ZombieHorse(world);
                break;

            case EntityType.PolarBear:
                entity = new PolarBear(world);
                break;

            case EntityType.Shulker:
                entity = new Shulker(world);
                break;

            case EntityType.EnderDragon:
                entity = new EnderDragon(world);
                break;

            case EntityType.SkeletonHorse:
                entity = new SkeletonHorse(world);
                break;

            case EntityType.Wither:
                entity = new Wither(world);
                break;

            case EntityType.Evoker:
                entity = new EvocationIllager(world);
                break;

            case EntityType.Vindicator:
                entity = new VindicationIllager(world);
                break;

            case EntityType.Vex:
                entity = new Vex(world);
                break;

            case EntityType.FallingBlock:
                entity = new EntityFallingBlock(world);
                break;

            case EntityType.ArmorStand:
                entity = new EntityArmorStand(world, null);
                break;

            case EntityType.Arrow:
                entity = new ArrowEntity(world, null);
                break;

            case EntityType.Item:
                entity = new ItemEntity(world);
                break;

            case EntityType.Mooshroom:
                entity = new Mooshroom(world);
                break;

            case EntityType.Snowball:
                entity = new SnowballEntity(world, null);
                break;

            case EntityType.ThrownEgg:
                entity = new EggEntity(world, null);

                break;

            case EntityType.Donkey:
                entity = new Donkey(world);
                break;

            case EntityType.Llama:
                entity = new Llama(world);
                break;

            case EntityType.Mule:
                entity = new Mule(world);
                break;

            case EntityType.Fox:
                entity = new Fox(world);
                break;

            case EntityType.Parrot:
                entity = new Parrot(world);
                break;

            case EntityType.Phantom:
                entity = new Phantom(world);
                break;

            case EntityType.Bee:
                entity = new Bee(world);
                break;

            case EntityType.LlamaSpit:
                entity = new LlamaSpit(world);
                break;

            case EntityType.Cat:
                entity = new Cat(world);
                break;

            case EntityType.SmallFireball:
                entity = new SmallFireball(world);
                break;

            case EntityType.Fireball:
                entity = new Fireball(world);
                break;

            case EntityType.Dolphin:
                entity = new Dolphin(world);
                break;

            case EntityType.Cod:
                entity = new Cod(world);
                break;

            case EntityType.PufferFish:
                entity = new PufferFish(world);
                break;

            case EntityType.Salmon:
                entity = new Salmon(world);
                break;

            case EntityType.TropicalFish:
                entity = new TropicalFish(world);
                break;

            //case EntityType.Human:
            //entity = new PlayerMob("test", world, );
            //	break;
            default:
                return(null);
            }

            return(entity);
        }
 // Start is called before the first frame update
 void Start()
 {
     slime = transform.parent.gameObject.transform.GetChild(0).GetComponent <Slime>();
 }
Esempio n. 6
0
        public override void PlaceBlock(Level world, Player player, BlockCoordinates blockCoordinates, BlockFace face, Vector3 faceCoords)
        {
            Log.WarnFormat("Player {0} trying to spawn Mob #{1}.", player.Username, Metadata);

            var coordinates = GetNewCoordinatesFromFace(blockCoordinates, face);

            Mob mob = null;

            EntityType type = (EntityType)Metadata;

            switch (type)
            {
            case EntityType.Chicken:
                mob = new Chicken(world);
                break;

            case EntityType.Cow:
                mob = new Cow(world);
                break;

            case EntityType.Pig:
                mob = new Pig(world);
                break;

            case EntityType.Sheep:
                mob = new Sheep(world);
                break;

            case EntityType.Wolf:
                mob = new Wolf(world)
                {
                    Owner = player
                };
                break;

            case EntityType.Villager:
                mob = new Villager(world);
                break;

            case EntityType.MushroomCow:
                mob = new MushroomCow(world);
                break;

            case EntityType.Squid:
                mob = new Squid(world);
                break;

            case EntityType.Rabbit:
                mob = new Rabbit(world);
                break;

            case EntityType.Bat:
                mob = new Bat(world);
                break;

            case EntityType.IronGolem:
                mob = new IronGolem(world);
                break;

            case EntityType.SnowGolem:
                mob = new SnowGolem(world);
                break;

            case EntityType.Ocelot:
                mob = new Ocelot(world);
                break;

            case EntityType.Zombie:
                mob = new Zombie(world);
                break;

            case EntityType.Creeper:
                mob = new Creeper(world);
                break;

            case EntityType.Skeleton:
                mob = new Skeleton(world);
                break;

            case EntityType.Spider:
                mob = new Spider(world);
                break;

            case EntityType.ZombiePigman:
                mob = new ZombiePigman(world);
                break;

            case EntityType.Slime:
                mob = new Slime(world);
                break;

            case EntityType.Enderman:
                mob = new Enderman(world);
                break;

            case EntityType.Silverfish:
                mob = new Silverfish(world);
                break;

            case EntityType.CaveSpider:
                mob = new CaveSpider(world);
                break;

            case EntityType.Ghast:
                mob = new Ghast(world);
                break;

            case EntityType.MagmaCube:
                mob = new MagmaCube(world);
                break;

            case EntityType.Blaze:
                mob = new Blaze(world);
                break;

            case EntityType.ZombieVillager:
                mob = new ZombieVillager(world);
                break;

            case EntityType.Witch:
                mob = new Witch(world);
                break;

            case EntityType.Stray:
                mob = new Stray(world);
                break;

            case EntityType.Husk:
                mob = new Husk(world);
                break;

            case EntityType.WitherSkeleton:
                mob = new WitherSkeleton(world);
                break;

            case EntityType.Guardian:
                mob = new Guardian(world);
                break;

            case EntityType.ElderGuardian:
                mob = new ElderGuardian(world);
                break;

            case EntityType.Horse:
                var random = new Random();
                mob = new Horse(world, random.NextDouble() < 0.10, random);
                break;

            case EntityType.PolarBear:
                mob = new PolarBear(world);
                break;

            case EntityType.Shulker:
                mob = new Shulker(world);
                break;

            case EntityType.Dragon:
                mob = new Dragon(world);
                break;

            case EntityType.SkeletonHorse:
                mob = new SkeletonHorse(world);
                break;

            case EntityType.Wither:
                mob = new Wither(world);
                break;

            case EntityType.Evoker:
                mob = new Evoker(world);
                break;

            case EntityType.Vindicator:
                mob = new Vindicator(world);
                break;

            case EntityType.Vex:
                mob = new Vex(world);
                break;

            case EntityType.Npc:
                mob = new PlayerMob("test", world);
                break;
            }

            if (mob == null)
            {
                return;
            }

            mob.KnownPosition = new PlayerLocation(coordinates.X, coordinates.Y, coordinates.Z);
            mob.NoAi          = true;
            mob.SpawnEntity();

            Log.WarnFormat("Player {0} spawned Mob #{1}.", player.Username, Metadata);

            if (player.GameMode == GameMode.Survival)
            {
                var itemInHand = player.Inventory.GetItemInHand();
                itemInHand.Count--;
                player.Inventory.SetInventorySlot(player.Inventory.InHandSlot, itemInHand);
            }
        }
Esempio n. 7
0
 public bool CanMergeWith(Slime other)
 {
     return(Scale + 1 < SLIME_SCALES.Length && Scale == other.Scale);
 }
Esempio n. 8
0
 protected override void OnSlime(Slime slime)
 {
     slime.Invert();
 }
Esempio n. 9
0
    void Update()
    {
        if (sinceTick >= constantes.tickSpeed)   //Actions à chaque tick de jeu
        {
            direction = -1;
            //Survie
            if (Life <= 0 | transform.position.y < -1f)  //Slime meurt si plus de vie
            {
                CONSTANTES.slimeList.Remove(this);
                Destroy(gameObject);
            }

            //Reproduction
            if (partner != null)  //Si un autre slime a cherché à mate et critère de beauté
            {
                if (partner.beauty / beauty >= Random.Range(0f, 2f))
                {
                    Life         = Life / 2;
                    partner.Life = partner.Life / 2;
                    if (gender == "female")
                    {
                        mateGenes       = new float[] { (float)partner.maxLife, partner.height, partner.speed, partner.viewRange, partner.beauty, (float)partner.gestationDelay };
                        partner.partner = null;
                        partner         = null;
                    }
                    else
                    {
                        partner.mateGenes = new float[] { (float)partner.maxLife, partner.height, partner.speed, partner.viewRange, partner.beauty, (float)partner.gestationDelay };
                        partner.partner   = null;
                        partner           = null;
                    }
                }
                else
                {
                    partner = null;
                }
            }

            if (mateGenes != null)   // Si on a un génome de partner
            {
                if (sinceMate < gestationDelay)
                {
                    sinceMate += 1;
                }
                else
                {
                    float[] offspringGenome = mutateGenome(mixGenomes(Genes, mateGenes));                //Récupère le génome enfant, muté
                    GameObject.Find("Spawner").GetComponent <Spawner>().spawnOffspring(offspringGenome); //Spawn l'enfant
                    Debug.Log("Mated and reproduced !");
                    sinceMate = 0;
                    mateGenes = null;
                }
            }



            if (CONSTANTES.slimeList.Count > 0)   //Action si un slime dans le coin
            {
                Slime nearestSlime = getNearestSlime(CONSTANTES.slimeList);
                if (Life >= maxLife / 2 & nearestSlime.gender != gender & (nearestSlime.transform.position - transform.position).magnitude <= viewRange)   //S'il est de genre opposé -> mate
                {
                    tryMate(nearestSlime);
                }
                else   //Sinon -> Attack
                {
                    if ((nearestSlime.transform.position - transform.position).magnitude <= viewRange)
                    {
                        attack(getNearestSlime(CONSTANTES.slimeList), 10);
                    }
                }
            }

            if (CONSTANTES.foodList.Count > 0)   //Recherche de nourriture
            {
                Food nearestFood = getNearestFood(CONSTANTES.foodList);
                if ((nearestFood.transform.position - transform.position).magnitude <= viewRange)
                {
                    eat(nearestFood, 10);
                }
                else
                {
                    float deltaz = nearestFood.transform.position.z - transform.position.z;
                    float deltax = nearestFood.transform.position.x - transform.position.x;
                    direction = Mathf.Atan2(deltaz, deltax);
                }
            }

            //Perte d'énergie après le mouvement
            Life -= (int)(speed * (double)constantes.foodUsageMultiplier * height * height * height);

            //Direction, mouvement
            if (direction == -1 | (float)Life / (float)maxLife >= 0.5)     //Conditions pour ne pas avoir à focus la nourriture
            {
                direction = Random.Range((float)0, (float)(2 * System.Math.PI));
            }
            //Rotation
            var angles = transform.rotation.eulerAngles;
            angles.z = (float)direction * (180f / (float)System.Math.PI);
            var rotation = Quaternion.Euler(angles);
            tf.rotation = rotation;
            //Forces
            forwardForce = (speed * (float)System.Math.Sin(direction) * constantes.movementForceMultiplier);
            lateralForce = (speed * (float)System.Math.Cos(direction) * constantes.movementForceMultiplier);
            //Debug.Log(string.Format("{0}, {1}, {2}", System.Math.Sin(direction), lateralForce, forwardForce));
            sinceTick = 0;
        }
        else
        {
            sinceTick += 1;
        }
    }
Esempio n. 10
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            if (movable.CanMove && launcher.ChargeShot())
            {
                animator.SetTrigger("Aim");
                movable.CanMove = false;
            }
        }
        else if (Input.GetMouseButtonDown(1))
        {
            if (launcher.Charging)
            {
                animator.SetTrigger("AimCancel");
                launcher.CancelCharge();
            }
            else if (movable.CanMove)
            {
                // Raycast to the ground and callback slimes
                Ray          mouseRay   = Camera.main.ScreenPointToRay(Input.mousePosition);
                RaycastHit[] objectsHit = Physics.RaycastAll(mouseRay, CameraFollow.raycastDistance, LayerMask.GetMask("Ground"));
                if (objectsHit.Length > 0)
                {
                    Vector3    capsuleBottom = objectsHit[0].point;
                    GameObject obj           = Instantiate(slimeCallParticles, capsuleBottom, Quaternion.identity);
                    obj.transform.localScale = new Vector3(slimeCallRadius, 1.0f, slimeCallRadius);
                    Vector3 capsuleTop = new Vector3(capsuleBottom.x, capsuleBottom.y + 1, capsuleBottom.z);
                    foreach (Collider col in Physics.OverlapCapsule(capsuleBottom, capsuleTop, slimeCallRadius, LayerMask.GetMask("Slime")))
                    {
                        Slime slime = col.GetComponent <Slime>();
                        if (slime.CurrentState == Slime.SlimeState.Idle)
                        {
                            slime.SetState(Slime.SlimeState.Returning);
                        }
                    }

                    animator.SetTrigger("Call");
                    movable.CanMove    = false;
                    transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(Vector3.ProjectOnPlane(capsuleBottom - transform.position, transform.up)), 1);
                }
            }
        }
        else if (Input.GetMouseButtonUp(0))
        {
            if (launcher.Charging)
            {
                animator.SetTrigger("AimConfirm");
                launcher.Shoot();
            }
        }

        if (launcher.Charging)
        {
            // Raycast to the ground and callback slimes
            Ray          mouseRay   = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit[] objectsHit = Physics.RaycastAll(mouseRay, CameraFollow.raycastDistance, LayerMask.GetMask("Ground"));
            if (objectsHit.Length > 0)
            {
                Vector3 capsuleBottom = objectsHit[0].point;
                transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(Vector3.ProjectOnPlane(capsuleBottom - transform.position, transform.up)), movable.TurnRate);
            }
        }
    }
    public static Object DeserializeSlime(byte[] bytes)
    {
        Slime data = new Slime();

        //SATK
        byte[] mySATKByt = new byte[4];
        Array.Copy(bytes, 0, mySATKByt, 0, mySATKByt.Length);
        if (BitConverter.IsLittleEndian)
        {
            Array.Reverse(mySATKByt);
        }
        data.setAtk(BitConverter.ToInt32(mySATKByt, 0));
        //SDEF
        byte[] mySDEFByt = new byte[4];
        Array.Copy(bytes, 4, mySDEFByt, 0, mySDEFByt.Length);
        if (BitConverter.IsLittleEndian)
        {
            Array.Reverse(mySDEFByt);
        }
        data.setDef(BitConverter.ToInt32(mySDEFByt, 0));
        //SSPD
        byte[] mySSPDByt = new byte[4];
        Array.Copy(bytes, 8, mySSPDByt, 0, mySSPDByt.Length);
        if (BitConverter.IsLittleEndian)
        {
            Array.Reverse(mySSPDByt);
        }
        data.setSpd(BitConverter.ToInt32(mySSPDByt, 0));
        //SOELEM
        byte[] mySOELEMByt = new byte[4];
        Array.Copy(bytes, 12, mySOELEMByt, 0, mySOELEMByt.Length);
        if (BitConverter.IsLittleEndian)
        {
            Array.Reverse(mySOELEMByt);
        }
        data.setElement(BitConverter.ToInt32(mySOELEMByt, 0));
        //SlimeNameLength
        byte[] mySNameByt = new byte[4];
        Array.Copy(bytes, 16, mySNameByt, 0, mySNameByt.Length);
        if (BitConverter.IsLittleEndian)
        {
            Array.Reverse(mySNameByt);
        }
        data.NameLength = BitConverter.ToInt32(mySNameByt, 0);
        //PName
        byte[] myNameBytes = new byte[data.NameLength];
        if (myNameBytes.Length > 0)
        {
            Array.Copy(bytes, 20, myNameBytes, 0, myNameBytes.Length);
            if (BitConverter.IsLittleEndian)
            {
                Array.Reverse(myNameBytes);
            }
            data.setNme(Encoding.UTF8.GetString(myNameBytes));
        }
        else
        {
            data.setNme(string.Empty);
        }

        return(data);
    }
Esempio n. 12
0
        static void Main(string[] args)
        {
            var game    = new GameEngine();
            var human   = new Human();
            var monster = new Monster();
            var dragon  = new Dragon();
            var slime   = new Slime();


            // EXERCISE 1 ------------------------------------------------------------
            //------------------------------------------------------------------------

            //EXERCISE 2 ----------------------------------------------------------------
            //if(monster.WeakAgainst(human))
            //    Console.WriteLine("Monster has weak defense against Human");

            //if (human.StrongAgainst(monster))
            //    Console.WriteLine("Human has strong attack against Monster");

            //if (dragon.StrongAgainst(human) && dragon.StrongAgainst(monster))
            //    Console.WriteLine("Dragon is pretty bad ass...");
            //Console.ReadKey();
            //----------------------------------------------------------------------------

            //EXERCISE 3 -----------------------------------------------------------------
            //Console.WriteLine("Human attacks Monster!");

            //var damage = game.Attack(human, monster);

            //Console.WriteLine($"{damage} points of damage, Monster has {monster.Health} health left!");
            //Console.ReadKey();
            //----------------------------------------------------------------------------

            // EXERCISE 4 ----------------------------------------------------------------
            //while (true)
            //{
            //    var initative = game.RollForInitiative(dragon, slime);

            //    Console.WriteLine($"{initative.First.Name} would attack {initative.Second.Name} first");
            //    Console.ReadKey();
            //}
            //----------------------------------------------------------------------------

            // EXERCISE 5 ----------------------------------------------------------------
            //var counter = 0;

            //while (!dragon.Dead)
            //{
            //    if (slime.Dead)
            //    {
            //        counter++;
            //        slime = new Slime();
            //    }

            //    game.Battle(slime, dragon);
            //}
            //Console.WriteLine($"Slime death counter: {counter}");
            //Console.ReadKey();
            //------------------------------------------------------------------------------

            // EXERCISE 6 ------------------------------------------------------------------
            //Not fully functioning yet..
            var battlefield = new Battlefield();

            // 4 slimes vs 1 monster vs 2 humans
            battlefield.AddPlayer(new Slime());
            battlefield.AddPlayer(new Slime());
            battlefield.AddPlayer(new Slime());
            battlefield.AddPlayer(new Slime());
            battlefield.AddPlayer(new Monster());
            battlefield.AddPlayer(new Human());
            battlefield.AddPlayer(new Human());

            while (battlefield.Winner == null)
            {
                battlefield.Battle();
            }

            Console.WriteLine($"{battlefield.Winner} is the winner!");
            Console.ReadKey();
            //------------------------------------------------------------------------------------
        }
Esempio n. 13
0
 public bool IsSlimeOwner(Slime slime)
 {
     return(slimes.Contains(slime));
 }
Esempio n. 14
0
 public void AddSlime(Slime slime)
 {
     slimes.Add(slime);
 }
Esempio n. 15
0
 // ------------------------------------------------------------------
 // Desc:
 // ------------------------------------------------------------------
 public void Return( Slime _slime )
 {
     ++idx;
     slimes[idx] = _slime;
 }
Esempio n. 16
0
    // Update is called once per frame
    void Update()
    {
        if (SS.GetComponent <SlimeSelection>().SelectedSlime != null)
        {
            SOS = SS.GetComponent <SlimeSelection>().SelectedSlime.GetComponent <SlimeState>().slimeState;
        }
        if (SOS != null)
        {
            content.transform.GetChild(2).GetComponent <Image>().sprite          = SOS.SlimeSprite;
            content.transform.GetChild(3).GetComponent <TextMeshProUGUI>().text  = SOS.SlimeRank;
            content.transform.GetChild(4).GetComponent <TextMeshProUGUI>().text  = SOS.Level.ToString();
            content.transform.GetChild(5).GetComponent <TextMeshProUGUI>().text  = SOS.PhysicalATK.ToString();
            content.transform.GetChild(6).GetComponent <TextMeshProUGUI>().text  = SOS.MagicalATK.ToString();
            content.transform.GetChild(7).GetComponent <TextMeshProUGUI>().text  = SOS.MovementSpeed.ToString();
            content.transform.GetChild(8).GetComponent <TextMeshProUGUI>().text  = (Mathf.Round(SOS.CriticalPoint * 100)).ToString() + "%";
            content.transform.GetChild(9).GetComponent <TextMeshProUGUI>().text  = SOS.MiningAbility.ToString();
            content.transform.GetChild(10).GetComponent <TextMeshProUGUI>().text = SOS.Fire.ToString();
            content.transform.GetChild(11).GetComponent <TextMeshProUGUI>().text = SOS.Ice.ToString();
            content.transform.GetChild(12).GetComponent <TextMeshProUGUI>().text = SOS.Light.ToString();
            content.transform.GetChild(13).GetComponent <TextMeshProUGUI>().text = SOS.Dark.ToString();

            if (SOS.SlimeRank.Equals("D"))
            {
                content.transform.GetChild(3).GetComponent <TextMeshProUGUI>().color = D;
                content.transform.GetChild(1).GetComponent <TextMeshProUGUI>().color = D;
            }
            if (SOS.SlimeRank.Equals("C"))
            {
                content.transform.GetChild(3).GetComponent <TextMeshProUGUI>().color = C;
                content.transform.GetChild(1).GetComponent <TextMeshProUGUI>().color = C;
            }
            if (SOS.SlimeRank.Equals("B"))
            {
                content.transform.GetChild(3).GetComponent <TextMeshProUGUI>().color = B;
                content.transform.GetChild(1).GetComponent <TextMeshProUGUI>().color = B;
            }
            if (SOS.SlimeRank.Equals("A"))
            {
                content.transform.GetChild(3).GetComponent <TextMeshProUGUI>().color = A;
                content.transform.GetChild(1).GetComponent <TextMeshProUGUI>().color = A;
            }
            if (SOS.SlimeRank.Equals("S"))
            {
                content.transform.GetChild(3).GetComponent <TextMeshProUGUI>().color = S;
                content.transform.GetChild(1).GetComponent <TextMeshProUGUI>().color = S;
            }



            content.transform.GetChild(14).GetChild(0).GetComponent <Image>().sprite         = SOS.Weapon.EquipmentImage;
            content.transform.GetChild(14).GetChild(1).GetComponent <TextMeshProUGUI>().text = SOS.Weapon.EquipmentRank;
            content.transform.GetChild(14).GetChild(2).GetComponent <TextMeshProUGUI>().text = "+" + SOS.Weapon.EqLevel;

            if (SOS.Weapon.EquipmentRank.Equals("D"))
            {
                content.transform.GetChild(14).GetChild(1).GetComponent <TextMeshProUGUI>().color = D;
            }
            else if (SOS.Weapon.EquipmentRank.Equals("C"))
            {
                content.transform.GetChild(14).GetChild(1).GetComponent <TextMeshProUGUI>().color = C;
            }
            else if (SOS.Weapon.EquipmentRank.Equals("B"))
            {
                content.transform.GetChild(14).GetChild(1).GetComponent <TextMeshProUGUI>().color = B;
            }
            else if (SOS.Weapon.EquipmentRank.Equals("A"))
            {
                content.transform.GetChild(14).GetChild(1).GetComponent <TextMeshProUGUI>().color = A;
            }
            else if (SOS.Weapon.EquipmentRank.Equals("S"))
            {
                content.transform.GetChild(14).GetChild(1).GetComponent <TextMeshProUGUI>().color = S;
            }



            content.transform.GetChild(15).GetChild(0).GetComponent <Image>().sprite         = SOS.Accessory.EquipmentImage;
            content.transform.GetChild(15).GetChild(1).GetComponent <TextMeshProUGUI>().text = SOS.Accessory.EquipmentRank;
            content.transform.GetChild(15).GetChild(2).GetComponent <TextMeshProUGUI>().text = "+" + SOS.Accessory.EqLevel.ToString();


            if (SOS.Accessory.EquipmentRank.Equals("D"))
            {
                content.transform.GetChild(15).GetChild(1).GetComponent <TextMeshProUGUI>().color = D;
            }
            else if (SOS.Accessory.EquipmentRank.Equals("C"))
            {
                content.transform.GetChild(15).GetChild(1).GetComponent <TextMeshProUGUI>().color = C;
            }
            else if (SOS.Accessory.EquipmentRank.Equals("B"))
            {
                content.transform.GetChild(15).GetChild(1).GetComponent <TextMeshProUGUI>().color = B;
            }
            else if (SOS.Accessory.EquipmentRank.Equals("A"))
            {
                content.transform.GetChild(15).GetChild(1).GetComponent <TextMeshProUGUI>().color = A;
            }
            else if (SOS.Accessory.EquipmentRank.Equals("S"))
            {
                content.transform.GetChild(15).GetChild(1).GetComponent <TextMeshProUGUI>().color = S;
            }



            content.transform.GetChild(16).GetChild(0).GetComponent <Image>().sprite         = SOS.Aura.EquipmentImage;
            content.transform.GetChild(16).GetChild(1).GetComponent <TextMeshProUGUI>().text = SOS.Aura.EquipmentRank;
            content.transform.GetChild(16).GetChild(2).GetComponent <TextMeshProUGUI>().text = "+" + SOS.Aura.EqLevel.ToString();


            if (SOS.Aura.EquipmentRank.Equals("D"))
            {
                content.transform.GetChild(16).GetChild(1).GetComponent <TextMeshProUGUI>().color = D;
            }
            else if (SOS.Aura.EquipmentRank.Equals("C"))
            {
                content.transform.GetChild(16).GetChild(1).GetComponent <TextMeshProUGUI>().color = C;
            }
            else if (SOS.Aura.EquipmentRank.Equals("B"))
            {
                content.transform.GetChild(16).GetChild(1).GetComponent <TextMeshProUGUI>().color = B;
            }
            else if (SOS.Aura.EquipmentRank.Equals("A"))
            {
                content.transform.GetChild(16).GetChild(1).GetComponent <TextMeshProUGUI>().color = A;
            }
            else if (SOS.Aura.EquipmentRank.Equals("S"))
            {
                content.transform.GetChild(16).GetChild(1).GetComponent <TextMeshProUGUI>().color = S;
            }



            content.transform.GetChild(17).GetChild(0).GetComponent <Image>().sprite         = SOS.UsedCore.itemImage;
            content.transform.GetChild(17).GetChild(1).GetComponent <TextMeshProUGUI>().text = SOS.UsedCore.coreRank;
            content.transform.GetChild(17).GetChild(2).GetComponent <TextMeshProUGUI>().text = "+" + SOS.UsedCore.coreLevel.ToString();


            if (SOS.UsedCore.coreRank.Equals("D"))
            {
                content.transform.GetChild(17).GetChild(1).GetComponent <TextMeshProUGUI>().color = D;
            }
            else if (SOS.UsedCore.coreRank.Equals("C"))
            {
                content.transform.GetChild(17).GetChild(1).GetComponent <TextMeshProUGUI>().color = C;
            }
            else if (SOS.UsedCore.coreRank.Equals("B"))
            {
                content.transform.GetChild(17).GetChild(1).GetComponent <TextMeshProUGUI>().color = B;
            }
            else if (SOS.UsedCore.coreRank.Equals("A"))
            {
                content.transform.GetChild(17).GetChild(1).GetComponent <TextMeshProUGUI>().color = A;
            }
            else if (SOS.UsedCore.coreRank.Equals("S"))
            {
                content.transform.GetChild(17).GetChild(1).GetComponent <TextMeshProUGUI>().color = S;
            }

            content.transform.GetChild(18).GetChild(0).GetComponent <TextMeshProUGUI>().text = SOS.STR.ToString();
            content.transform.GetChild(18).GetChild(1).GetComponent <TextMeshProUGUI>().text = SOS.INT.ToString();
            content.transform.GetChild(18).GetChild(2).GetComponent <TextMeshProUGUI>().text = SOS.DEX.ToString();
            content.transform.GetChild(18).GetChild(3).GetComponent <TextMeshProUGUI>().text = SOS.LUK.ToString();

            if (SOS.Level < maxValueController.MaxSlimeLevel)
            {
                content.transform.parent.parent.parent.GetChild(2).GetChild(0).GetComponent <TextMeshProUGUI>().text = MoneyUnitControl.FormatNumber(SOS.PriceToLevelUP);
                content.transform.parent.parent.parent.GetChild(2).GetChild(1).gameObject.SetActive(true);
                content.transform.parent.parent.parent.GetChild(2).GetComponent <Button>().interactable = true;
                content.transform.parent.parent.parent.GetChild(2).GetChild(2).gameObject.SetActive(true);
            }
            else
            {
                content.transform.parent.parent.parent.GetChild(2).GetChild(0).GetComponent <TextMeshProUGUI>().text = "Max Level";
                content.transform.parent.parent.parent.GetChild(2).GetChild(1).gameObject.SetActive(false);
                content.transform.parent.parent.parent.GetChild(2).GetComponent <Button>().interactable = false;
                content.transform.parent.parent.parent.GetChild(2).GetChild(2).gameObject.SetActive(false);
            }
        }
    }
Esempio n. 17
0
        public static Entity Create(this EntityType entityType, World world)
        {
            Entity entity = null;

            switch (entityType)
            {
            case EntityType.None:
                return(null);

            case EntityType.Chicken:
                entity = new Chicken(world);
                break;

            case EntityType.Cow:
                entity = new Cow(world);
                break;

            case EntityType.Pig:
                entity = new Pig(world);
                break;

            case EntityType.Sheep:
                entity = new Sheep(world);
                break;

            case EntityType.Wolf:
                entity = new Wolf(world);
                break;

            case EntityType.Villager:
                entity = new Villager(world);
                break;

            case EntityType.MushroomCow:
                entity = new Mooshroom(world);
                break;

            case EntityType.Squid:
                entity = new Squid(world);
                break;

            case EntityType.Rabbit:
                entity = new Rabbit(world);
                break;

            case EntityType.Bat:
                entity = new Bat(world);
                break;

            case EntityType.IronGolem:
                entity = new VillagerGolem(world);
                break;

            case EntityType.SnowGolem:
                entity = new Snowman(world);
                break;

            case EntityType.Ocelot:
                entity = new Ocelot(world);
                break;

            case EntityType.Zombie:
                entity = new Zombie(world);
                break;

            case EntityType.Creeper:
                entity = new Creeper(world);
                break;

            case EntityType.Skeleton:
                entity = new Skeleton(world);
                break;

            case EntityType.Spider:
                entity = new Spider(world);
                break;

            case EntityType.ZombiePigman:
                entity = new ZombiePigman(world);
                break;

            case EntityType.Slime:
                entity = new Slime(world);
                break;

            case EntityType.Enderman:
                entity = new Enderman(world);
                break;

            case EntityType.Silverfish:
                entity = new Silverfish(world);
                break;

            case EntityType.CaveSpider:
                entity = new CaveSpider(world);
                break;

            case EntityType.Ghast:
                entity = new Ghast(world);
                break;

            case EntityType.MagmaCube:
                entity = new MagmaCube(world);
                break;

            case EntityType.Blaze:
                entity = new Blaze(world);
                break;

            case EntityType.ZombieVillager:
                entity = new ZombieVillager(world);
                break;

            case EntityType.Witch:
                entity = new Witch(world);
                break;

            case EntityType.Stray:
                entity = new Stray(world);
                break;

            case EntityType.Husk:
                entity = new Husk(world);
                break;

            case EntityType.WitherSkeleton:
                entity = new WitherSkeleton(world);
                break;

            case EntityType.Guardian:
                entity = new Guardian(world);
                break;

            case EntityType.ElderGuardian:
                entity = new ElderGuardian(world);
                break;

            case EntityType.Horse:
                entity = new Horse(world);
                break;

            case EntityType.PolarBear:
                entity = new PolarBear(world);
                break;

            case EntityType.Shulker:
                entity = new Shulker(world);
                break;

            case EntityType.EnderDragon:
                entity = new EnderDragon(world);
                break;

            case EntityType.SkeletonHorse:
                entity = new SkeletonHorse(world);
                break;

            case EntityType.Wither:
                entity = new Wither(world);
                break;

            case EntityType.Evoker:
                entity = new EvocationIllager(world);
                break;

            case EntityType.Vindicator:
                entity = new VindicationIllager(world);
                break;

            case EntityType.Vex:
                entity = new Vex(world);
                break;

            //case EntityType.Human:
            //entity = new PlayerMob("test", world, );
            //	break;
            default:
                return(null);
            }

            return(entity);
        }
 // Start is called before the first frame update
 void Start()
 {
     slime     = Slime.instance;
     inventory = Inventory.instance;
 }
Esempio n. 19
0
 public SlimeSplitContext(Slime OldSlime, Slime NewSlime)
 {
     this.OldSlime = OldSlime;
     this.NewSlime = NewSlime;
 }
Esempio n. 20
0
        public void Summon(Player player, EntityTypeEnum entityType, bool noAi = true, BlockPos spawnPos = null)
        {
            EntityType petType;

            try
            {
                petType = (EntityType)Enum.Parse(typeof(EntityType), entityType.Value, true);
            }
            catch (ArgumentException e)
            {
                return;
            }

            if (!Enum.IsDefined(typeof(EntityType), petType))
            {
                player.SendMessage("No entity found");
                return;
            }

            var coordinates = player.KnownPosition;

            if (spawnPos != null)
            {
                if (spawnPos.XRelative)
                {
                    coordinates.X += spawnPos.X;
                }
                else
                {
                    coordinates.X = spawnPos.X;
                }

                if (spawnPos.YRelative)
                {
                    coordinates.Y += spawnPos.Y;
                }
                else
                {
                    coordinates.Y = spawnPos.Y;
                }

                if (spawnPos.ZRelative)
                {
                    coordinates.Z += spawnPos.Z;
                }
                else
                {
                    coordinates.Z = spawnPos.Z;
                }
            }

            var world = player.Level;

            Mob mob = null;

            EntityType type = (EntityType)(int)petType;

            switch (type)
            {
            case EntityType.Chicken:
                mob = new Chicken(world);
                break;

            case EntityType.Cow:
                mob = new Cow(world);
                break;

            case EntityType.Pig:
                mob = new Pig(world);
                break;

            case EntityType.Sheep:
                mob = new Sheep(world);
                break;

            case EntityType.Wolf:
                mob = new Wolf(world)
                {
                    Owner = player
                };
                break;

            case EntityType.Villager:
                mob = new Villager(world);
                break;

            case EntityType.MushroomCow:
                mob = new MushroomCow(world);
                break;

            case EntityType.Squid:
                mob = new Squid(world);
                break;

            case EntityType.Rabbit:
                mob = new Rabbit(world);
                break;

            case EntityType.Bat:
                mob = new Bat(world);
                break;

            case EntityType.IronGolem:
                mob = new IronGolem(world);
                break;

            case EntityType.SnowGolem:
                mob = new SnowGolem(world);
                break;

            case EntityType.Ocelot:
                mob = new Ocelot(world);
                break;

            case EntityType.Zombie:
                mob = new Zombie(world);
                break;

            case EntityType.Creeper:
                mob = new Creeper(world);
                break;

            case EntityType.Skeleton:
                mob = new Skeleton(world);
                break;

            case EntityType.Spider:
                mob = new Spider(world);
                break;

            case EntityType.ZombiePigman:
                mob = new ZombiePigman(world);
                break;

            case EntityType.Slime:
                mob = new Slime(world);
                break;

            case EntityType.Enderman:
                mob = new Enderman(world);
                break;

            case EntityType.Silverfish:
                mob = new Silverfish(world);
                break;

            case EntityType.CaveSpider:
                mob = new CaveSpider(world);
                break;

            case EntityType.Ghast:
                mob = new Ghast(world);
                break;

            case EntityType.MagmaCube:
                mob = new MagmaCube(world);
                break;

            case EntityType.Blaze:
                mob = new Blaze(world);
                break;

            case EntityType.ZombieVillager:
                mob = new ZombieVillager(world);
                break;

            case EntityType.Witch:
                mob = new Witch(world);
                break;

            case EntityType.Stray:
                mob = new Stray(world);
                break;

            case EntityType.Husk:
                mob = new Husk(world);
                break;

            case EntityType.WitherSkeleton:
                mob = new WitherSkeleton(world);
                break;

            case EntityType.Guardian:
                mob = new Guardian(world);
                break;

            case EntityType.ElderGuardian:
                mob = new ElderGuardian(world);
                break;

            case EntityType.Horse:
                mob = new Horse(world);
                break;

            case EntityType.PolarBear:
                mob = new PolarBear(world);
                break;

            case EntityType.Shulker:
                mob = new Shulker(world);
                break;

            case EntityType.Dragon:
                mob = new Dragon(world);
                break;

            case EntityType.SkeletonHorse:
                mob = new SkeletonHorse(world);
                break;

            case EntityType.Wither:
                mob = new Wither(world);
                break;

            case EntityType.Evoker:
                mob = new Evoker(world);
                break;

            case EntityType.Vindicator:
                mob = new Vindicator(world);
                break;

            case EntityType.Vex:
                mob = new Vex(world);
                break;

            case EntityType.Npc:
                mob = new PlayerMob("test", world);
                break;
            }

            if (mob == null)
            {
                return;
            }
            mob.NoAi = noAi;
            var direction = Vector3.Normalize(player.KnownPosition.GetHeadDirection()) * 1.5f;

            mob.KnownPosition = new PlayerLocation(coordinates.X + direction.X, coordinates.Y, coordinates.Z + direction.Z, coordinates.HeadYaw, coordinates.Yaw);
            mob.SpawnEntity();
        }
Esempio n. 21
0
 public SlimeMergeContext(Slime Slime, Slime Assimilated)
 {
     this.Slime       = Slime;
     this.Assimilated = Assimilated;
 }
Esempio n. 22
0
 void Start()
 {
     myHJ        = GetComponent <HingeJoint2D> ();
     myAnim      = GetComponent <Animator> ();
     slimeScript = slime.GetComponent <Slime> ();
 }
Esempio n. 23
0
 private void Awake()
 {
     slime = GetComponentInChildren <Slime>();
     StartCoroutine(Generate());
 }
Esempio n. 24
0
        public Character GetEnemy(int id)
        {
            Character nextChar;

            switch (id)
            {
            //Low level
            case 100:
                nextChar = new Bat();
                return(nextChar);

            case 101:
                nextChar = new Rat();
                return(nextChar);

            case 102:
                nextChar = new Kobold();
                return(nextChar);

            case 103:
                nextChar = new Slime();
                return(nextChar);

            case 104:
                nextChar = new Farmer();
                return(nextChar);

            case 105:
                nextChar = new Imp();
                return(nextChar);

            case 106:
                nextChar = new Zombie();
                return(nextChar);

            case 107:
                nextChar = new Phantom();
                return(nextChar);

            case 108:
                nextChar = new Goblin();
                return(nextChar);

            case 109:
                nextChar = new Witch();
                return(nextChar);

            //Mid level
            case 110:
                nextChar = new Harpy();
                return(nextChar);

            case 111:
                nextChar = new Elemental();
                return(nextChar);

            case 112:
                nextChar = new Nymph();
                return(nextChar);

            case 113:
                nextChar = new Vampire();
                return(nextChar);

            case 114:
                nextChar = new Lamia();
                return(nextChar);

            case 115:
                nextChar = new Qilin();
                return(nextChar);

            case 116:
                nextChar = new Unicorn();
                return(nextChar);

            case 117:
                nextChar = new Jinn();
                return(nextChar);

            case 118:
                nextChar = new Xorn();
                return(nextChar);

            case 119:
                nextChar = new Antlion();
                return(nextChar);

            //High level
            case 120:
                nextChar = new Yeti();
                return(nextChar);

            case 121:
                nextChar = new Orc();
                return(nextChar);

            case 122:
                nextChar = new Minotaur();
                return(nextChar);

            case 123:
                nextChar = new Troll();
                return(nextChar);

            case 124:
                nextChar = new Cyclop();
                return(nextChar);

            case 125:
                nextChar = new Drake();
                return(nextChar);

            default:
                nextChar = new Slime();
                return(nextChar);
            }
        }
 public Slime_MeleeAttackState(FiniteStateMachine finiteStateMachine, Enemy entity, string animationBoolName, Transform attackPosition,
                               D_MeleeAttackState stateData, Slime slime) : base(finiteStateMachine, entity, animationBoolName, attackPosition, stateData)
 {
     _slime = slime;
 }
Esempio n. 26
0
 public void UseAbility(Slime slime)
 {
     abilitySwap.UseAbility(slime);
 }
Esempio n. 27
0
 public Slime_DeadState(Entity entity1, FiniteStateMachine stateMachine, string animBoolName, D_DeadState stateData, Slime enemy) : base(entity1, stateMachine, animBoolName, stateData)
 {
     this.enemy = enemy;
 }
Esempio n. 28
0
 public SlimeAction(ActionType action, Slime data)
 {
     this.action = action;
     this.data   = data;
 }
Esempio n. 29
0
 internal void Attack(Slime s1)
 {
     s1.hp -= power;
 }
Esempio n. 30
0
 public void PutSlime(Slime slime, int x, int y)
 {
     stageCells[x, y] = slime;
     slime.stage      = this;
     slime.position   = new Vector2Int(x, y);
 }
 public Slime_MeleeAttackState(Entity entity1, FiniteStateMachine stateMachine, string animBoolName, Transform attackPosition, D_MeleeAttack stateData, Slime enemy) : base(entity1, stateMachine, animBoolName, attackPosition, stateData)
 {
     this.enemy = enemy;
 }
Esempio n. 32
0
 public void DestroyEnemy(Slime _slime)
 {
     _slime.enabled = false;
     aliveSlimeCount -= 1;
     if (aliveSlimeCount < 0) aliveSlimeCount = 0;
     slimePool.Return(_slime);
 }