public override void Start()
        {
            base.Start();
            IMovementType playerMovement = null;

            var joyStickObj = GameObject.FindGameObjectWithTag("Joystick");

            if (joyStickObj != null)
            {
                var joyStick = joyStickObj.GetComponent <Joystick>();
                playerMovement = new FreeFormMovement(this.Rigidbody2D, new KeyboardMovementInput());
#if UNITY_ANDROID || UNITY_IOS
                if (!Application.isEditor)
                {
                    playerMovement = new FreeFormMovement(this.Rigidbody2D, new JoyStickMovementInput(joyStick));
                }
#endif
            }
            else
            {
                playerMovement = new FreeFormMovement(this.Rigidbody2D, new KeyboardMovementInput());
            }

            this.Mobile = new Player(HealthBehaviour.MaxHealth, this.Speed, playerMovement);


            HealthBarCanvas.SetActive(true);
        }
Beispiel #2
0
    void Awake()
    {
        ConfigCharacter c = ScriptableObject.CreateInstance <ConfigCharacter>();

        movementType = (IMovementType)c.SetupMouvement(enumMouvement);
        weaponType   = (IWeaponType)c.SetupWeapon(enumWeapon);
        this.SetupCharacter();
    }
Beispiel #3
0
 public BaseMobile(float Speed, IMovementType movementType)
 {
     this.Speed          = Speed;
     this.MovementType   = movementType;
     this.actionRate     = 0.5f;
     this.nextActionTime = 0;
     this.Health         = 100;
     this.IsDefending    = false;
 }
Beispiel #4
0
    public int getMovementPenaly(IMovementType movementType)
    {
        switch (movementType.GetType().ToString())
        {
        case "Flyier":
            return(1);

        default:
            return(-1);
        }
        ;
    }
Beispiel #5
0
    public void SelectCases(int x, int y, int numberMouvement, IMovementType movementType)
    {
        if (numberMouvement < 0)
        {
            return;
        }
        if (x < 0 || x >= gridWidth)
        {
            return;
        }
        if (y < 0 || y >= gridHeight)
        {
            return;
        }
        Transform hexPos          = matrix[x, y];
        int       MovementPenalty = hexPos.GetChild(0).GetComponent <CaseScript>().terrain.getMovementPenaly(movementType);

        if (MovementPenalty == -1)
        {
            return;
        }
        if (numberMouvement != movementType.GetMovementNumber() && hexPos.Find("Character"))
        {
            return;
        }
        if (!selectableHexPos.ContainsKey(hexPos.GetHashCode()))
        {
            AttachSelector(hexPos);
        }
        SelectCases(x - 1, y, numberMouvement - MovementPenalty, movementType);
        SelectCases(x + 1, y, numberMouvement - MovementPenalty, movementType);
        SelectCases(x, y + 1, numberMouvement - MovementPenalty, movementType);
        SelectCases(x, y - 1, numberMouvement - MovementPenalty, movementType);
        if (y % 2 == 0)
        {
            SelectCases(x - 1, y - 1, numberMouvement - MovementPenalty, movementType);
            SelectCases(x - 1, y + 1, numberMouvement - MovementPenalty, movementType);
        }
        else
        {
            SelectCases(x + 1, y - 1, numberMouvement - MovementPenalty, movementType);
            SelectCases(x + 1, y + 1, numberMouvement - MovementPenalty, movementType);
        }
    }
Beispiel #6
0
 /// <summary>
 /// Defines object movement data
 /// </summary>
 /// <param name="mType"></param>
 /// <returns></returns>
 public TSelf WithMovement(IMovementType mType)
 {
     Set("movement", mType);
     return((TSelf)this);
 }
Beispiel #7
0
 public Bandit(float health, float speed, IMovementType movementType) : base(health, speed, movementType)
 {
 }
Beispiel #8
0
 public int getMovementPenaly(IMovementType movementType)
 {
     return(1);
 }
Beispiel #9
0
 public Player(float health, float speed, IMovementType movementType) : base(health, speed, movementType)
 {
 }
Beispiel #10
0
 public void SetMovementType(IMovementType movingObject)
 {
     objectMovementType = movingObject;
 }