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); }
void Awake() { ConfigCharacter c = ScriptableObject.CreateInstance <ConfigCharacter>(); movementType = (IMovementType)c.SetupMouvement(enumMouvement); weaponType = (IWeaponType)c.SetupWeapon(enumWeapon); this.SetupCharacter(); }
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; }
public int getMovementPenaly(IMovementType movementType) { switch (movementType.GetType().ToString()) { case "Flyier": return(1); default: return(-1); } ; }
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); } }
/// <summary> /// Defines object movement data /// </summary> /// <param name="mType"></param> /// <returns></returns> public TSelf WithMovement(IMovementType mType) { Set("movement", mType); return((TSelf)this); }
public Bandit(float health, float speed, IMovementType movementType) : base(health, speed, movementType) { }
public int getMovementPenaly(IMovementType movementType) { return(1); }
public Player(float health, float speed, IMovementType movementType) : base(health, speed, movementType) { }
public void SetMovementType(IMovementType movingObject) { objectMovementType = movingObject; }