private bool isAnySenseSuits(CheckSense checkFn) { foreach (Transform checker in checkers) { SenseChecker sense = checker.GetComponent <SenseChecker>(); if (checkFn(sense)) { return(true); } } return(false); }
public bool CanDecompose() { SenseChecker upChecker = getChecker("up"); bool topOk = true; Transform cubeAbove = upChecker.GetTouchingConnectedNeighbourCube(); if (cubeAbove != null) { topOk = cubeAbove.GetComponent <CubeManager>().IsInCompose(); } return(IsStandingOnSomething() && topOk); }
private List <Transform> getPlayCubesByChecker(CheckSense checkFn) { List <Transform> cubes = new List <Transform>(); foreach (Transform checker in checkers) { SenseChecker sense = checker.GetComponent <SenseChecker>(); if (checkFn(sense)) { cubes.Add(sense.GetTouchingPlayCube()); } } return(cubes); }
protected virtual bool checkByChecker(SenseChecker checker) { return false; }
protected override bool checkByChecker(SenseChecker checker) { return checker.IsTouchingObstacle(); }
protected override bool checkByChecker(SenseChecker checker) { return checker.IsTouchingEnemy(); }
public bool CanMoveToDirection(string direction) { SenseChecker checker = getChecker(direction); return(checker.ObstacleOk() && !checker.IsTouchingOtherPlayer()); }
public bool IsStandingOnSomethingExternal() { SenseChecker checker = getChecker("down"); return(checker.IsTouchingOtherPlayer() || checker.IsTouchingObstacle()); }
protected override bool checkByChecker(SenseChecker checker) { return(checker.IsTouchingObstacle()); }
protected virtual bool checkByChecker(SenseChecker checker) { return(false); }
protected override bool checkByChecker(SenseChecker checker) { return(checker.IsTouchingEnemy()); }