Ejemplo n.º 1
0
        public void Configure(EnnemyStrategy strategy, Color color, string name)
        {
            body.GetComponent <SpriteRenderer>().color  = color;
            sight.GetComponent <SpriteRenderer>().color = color;
            gameObject.transform.root.name = name;
            isEarlySearching = false;

            switch (strategy)
            {
            case EnnemyStrategy.Careful:
                typeSign.GetComponent <SpriteRenderer>().sprite = carefulSprite;
                this.strategy = new Careful(mover, handController, ennemySensor, pickableSensor, health);
                break;

            case EnnemyStrategy.Cowboy:
                typeSign.GetComponent <SpriteRenderer>().sprite = cowboySprite;
                this.strategy = new Cowboy(mover, handController, ennemySensor, pickableSensor);
                break;

            case EnnemyStrategy.Camper:
                typeSign.GetComponent <SpriteRenderer>().sprite = camperSprite;
                this.strategy = new Camper(mover, handController, ennemySensor, pickableSensor, health);
                break;

            case EnnemyStrategy.Zombie:
                typeSign.GetComponent <SpriteRenderer>().sprite = zombieSprite;
                this.strategy = new ZombieStrategy(mover, ennemySensor);
                break;

            default:
                typeSign.GetComponent <SpriteRenderer>().sprite = normalSprite;
                this.strategy = new Normal(mover, handController, ennemySensor);
                break;
            }
        }
Ejemplo n.º 2
0
 public void Configure(EnnemyStrategy strategy, Color color)
 {
     body.GetComponent <SpriteRenderer>().color  = color;
     sight.GetComponent <SpriteRenderer>().color = color;
     normalColor  = color;
     collideColor = Color.red;
     strategyType = strategy;
     ConfigureStrategy();
 }
        public void Configure(EnnemyStrategy strategy, Color color)
        {
            body.GetComponent <SpriteRenderer>().color  = color;
            sight.GetComponent <SpriteRenderer>().color = color;

            switch (strategy)
            {
            case EnnemyStrategy.Careful:
                typeSign.GetComponent <SpriteRenderer>().sprite = carefulSprite;
                this.strategy = new CarefulStrategy(
                    mover,
                    handController,
                    frontWorldSensor,
                    backWorldSensor,
                    ennemySensor,
                    pickableSensor,
                    health);
                break;

            case EnnemyStrategy.Cowboy:
                typeSign.GetComponent <SpriteRenderer>().sprite = cowboySprite;
                this.strategy = new CowboyStrategy(
                    mover,
                    handController,
                    frontWorldSensor,
                    backWorldSensor,
                    ennemySensor,
                    pickableSensor);
                break;

            case EnnemyStrategy.Camper:
                typeSign.GetComponent <SpriteRenderer>().sprite = camperSprite;
                this.strategy = new CamperStrategy(
                    mover,
                    handController,
                    frontWorldSensor,
                    backWorldSensor,
                    ennemySensor,
                    pickableSensor,
                    health);
                break;

            default:
                typeSign.GetComponent <SpriteRenderer>().sprite = normalSprite;
                this.strategy = new NormalStrategy(
                    mover,
                    handController,
                    frontWorldSensor,
                    backWorldSensor,
                    ennemySensor,
                    pickableSensor);
                break;
            }
        }
        public void Configure(EnnemyStrategy strategy, Color color)
        {
            body.GetComponent <SpriteRenderer>().color  = color;
            sight.GetComponent <SpriteRenderer>().color = color;

            switch (strategy)
            {
            case EnnemyStrategy.Careful:
                typeSign.GetComponent <SpriteRenderer>().sprite = carefulSprite;
                // Think of better way for that, possibly
                this.strategy = new CarefulStrategy(mover,
                                                    handController,
                                                    ennemySensor,
                                                    medkitSensor,
                                                    medkitSensorCollision,
                                                    weaponSensor,
                                                    weaponSensorCollision
                                                    );
                break;

            case EnnemyStrategy.Cowboy:
                typeSign.GetComponent <SpriteRenderer>().sprite = cowboySprite;
                // Think of better way for that, possibly
                this.strategy = new CowboyStrategy(mover, handController, ennemySensor, weaponSensor, weaponSensorCollision);
                break;

            case EnnemyStrategy.Camper:
                typeSign.GetComponent <SpriteRenderer>().sprite = camperSprite;
                this.strategy = new CamperStrategy(mover, handController, ennemySensor, medkitSensor, weaponSensor, medkitSensorCollision, weaponSensorCollision);
                break;

            default:
                this.strategy = new NormalStrategy(mover, handController, ennemySensor);
                typeSign.GetComponent <SpriteRenderer>().sprite = normalSprite;
                break;
            }
        }
Ejemplo n.º 5
0
    public void ChangeStrategy(PossibleStrategy strategy)
    {
        switch (strategy)
        {
        case PossibleStrategy.Main:
            m_strategy = new EnnemyMain(this);
            GetEnnemyMain().Start();
            break;

        case PossibleStrategy.Fight:
            m_strategy  = new EnnemyFight(this);
            m_gridFight = FindObjectOfType <GridFight>();
            GetEnnemyFight().SetGetterCallbacks(
                () => {
                return(m_gridFight);
            },
                () => {
                return(transform);
            }
                );
            GetEnnemyFight().Start();
            break;
        }
    }
Ejemplo n.º 6
0
 private void SpawnEnnemy(Vector3 position, EnnemyStrategy strategy, Color color)
 {
     Instantiate(ennemyPrefab, position, Quaternion.identity)
     .GetComponentInChildren <EnnemyController>()
     .Configure(strategy, color);
 }