示例#1
0
        protected override void CreateCharacterInstances(string numberallies, CharacterType userControlledCharacterType)
        {
            //   String[] allies = { "Barbarian", "Ranger", "Mage" };
            int number = Int32.Parse(numberallies);

            if (userControlledCharacterType.Equals((CharacterType.Barbarian))) //compare the type of character you choose with the ones you have
            {
                Characters.Add(new Barbarian());
            }
            else if (userControlledCharacterType.Equals((CharacterType.Ranger)))
            {
                Characters.Add(new Ranger());
            }
            else if (userControlledCharacterType.Equals((CharacterType.Mage)))
            {
                Characters.Add(new Mage());
            }
            for (int i = 0; i < number; i++)
            {
                int num = _random.Next(3);
                // string monsterrandom = monster[num];
                if (num == 0)
                {
                    Characters.Add(new Barbarian());
                }
                else if (num == 1)
                {
                    Characters.Add(new Ranger());
                }
                else
                {
                    Characters.Add(new Mage());
                }
            }
        }
示例#2
0
    public void Jump()
    {
        if (_isHosting && type.Equals(CharacterType.Jumper) && _controller.State.below)
        {
            if (firstjump != true)
            {
                _controller.SetYVelocity(jumpForce);

                if (jumpSFX)
                {
                    SoundManager.Instance.PlaySoundSFX(jumpSFX);
                }
            }

            else
            {
                _controller.SetYVelocity(10);
                firstjump = false;
            }
        }
    }
示例#3
0
    public virtual void Start()
    {
        //ignoreMask = (1 << LayerMask.NameToLayer("Obstacles")) | (1 << LayerMask.NameToLayer("Characters"));
        ignoreMask = 1 << LayerMask.NameToLayer("Characters");

        colFilter.useLayerMask = true;
        colFilter.SetLayerMask(ignoreMask);

        rb = GetComponent <Rigidbody2D>();

        if (vision == null)
        {
            vision = transform.Find("Vision").GetComponent <CharacterVision>();
        }

        health = maxHealth;
        healthBar.BuildHealtBar(maxHealth, !(type.Equals(CharacterType.PLAYER) || type.Equals(CharacterType.BOSS)));

        nextAttackBG = nextAttackBar.transform.parent.gameObject;

        sprite = GetComponentInChildren <SpriteRenderer>();
    }
    // Use this for initialization
    private void Awake()
    {
        this.draw = true;
        NavMeshPathGraph navMesh = NavigationManager.Instance.NavMeshGraphs[0];

        this.character   = new DynamicCharacter(this.characterAvatar);
        this.Pedestrians = new List <GameObject>(GameObject.FindGameObjectsWithTag("Pedestrian")).ConvertAll(p => new Pedestrian(p));

        // Targeter
        TargeterComponent = new Targeter(this);

        // Decomposer
        DecomposerComponent = new Decomposer(this, navMesh, this.character);

        // TargetCollisionConstraint
        PathConstraints = new List <IConstraint>();
        PathConstraints.Add(new PedestrianAvoidanceConstraint(this, character, this.Pedestrians));
        PathConstraints.Add(new AvoidObstacleConstraint(this.character));

        // Movement Constraints
        MovementConstraints = new List <IConstraint>();
        StaticObstacleConstraint obsConstraint = new StaticObstacleConstraint(character)
        {
            AvoidMargin = 10f
        };

        MovementConstraints.Add(obsConstraint);

        if (CharacterInUse.Equals(CharacterType.Car))
        {
            Actuator = new CarActuator(this.character);
        }
        else if (CharacterInUse.Equals(CharacterType.Human))
        {
            Actuator = new HumanActuator(this.character);
        }
    }