static void Main(string[] args) { var samsungS8 = new SamsungS8(); var andoidCharger = new AndoidCharger(); andoidCharger.Charge(samsungS8); var iphoneX = new IPhoneX(); var iphoneCharger = new IPhoneCharger(); iphoneCharger.Charge(iphoneX); // Adapter var adapter = new AndroidToIphoneAdapter(samsungS8); iphoneCharger.Charge(adapter); var tank = new EnemyTank(); Attack(tank); var enemyRobot = new EnemyRobot(); var enemyRobotAdapter = new EnemyRobotAdapter(enemyRobot); Attack(enemyRobotAdapter); // Not the best... ILocomotion car = new FordFigo(); var speed = car.Speed(); var speedAdpater = new SpeedAdapter(car); speedAdpater.Speed(); }
static void Main(string[] args) { EnemyTank rx7Tank = new EnemyTank(); EnemyRobot fredTheRobot = new EnemyRobot(); IEnemyAttacker robotAdapter = new EnemyRobotAdapter(fredTheRobot); Console.WriteLine("The Robot"); fredTheRobot.ReactToHuman("Paul"); fredTheRobot.WalkForward(); fredTheRobot.SmashWithHands(); Console.WriteLine(); Console.WriteLine("The Enemy Tank"); rx7Tank.AssignDriver("Frank"); rx7Tank.DriveForward(); rx7Tank.FireWeapon(); Console.WriteLine(); Console.WriteLine("The Robot with Adapter"); robotAdapter.AssignDriver("Mark"); robotAdapter.DriveForward(); robotAdapter.FireWeapon(); }
static void Main(string[] args) { // now the attacker is EnemyTank EnemyTank enemyTank = new EnemyTank(); Console.WriteLine("Enemy tank in Basic action\n--------------------------------------"); enemyTank.assignDriver("Tom"); enemyTank.driveForward(); enemyTank.fireWeapon(); // Enemy Robot basic functionality EnemyRobot enemyRobot = new EnemyRobot(); Console.WriteLine("\n\nEnemy robot in Basic action\n--------------------------------------"); enemyRobot.reactToHuman("Tom"); enemyRobot.walkForward(); enemyRobot.smashWithHands(); // Use adapter to change the functionality Enemy Robot EnemyRobotAttackerAdapter enemyRobotAttackerAdapter = new EnemyRobotAttackerAdapter(enemyRobot); Console.WriteLine("\n\nEnemy robot in action\n--------------------------------------"); enemyRobotAttackerAdapter.assignDriver("Tom"); enemyRobotAttackerAdapter.driveForward(); enemyRobotAttackerAdapter.fireWeapon(); Console.ReadKey(); }
//任意点でのロード public IEnumerator CPLoad(int gateNum) { Image black_out; black_out = GameObject.Find("Black").GetComponent <Image>(); black_out.color = new Color(0, 0, 0, 256); transform.GetComponent <PlayerMove>().controller.enabled = false; transform.position = friendlyposition; transform.GetComponent <PlayerMove>().controller.enabled = true; TimerScript.time = correntTime[gateNum]; for (int i = 0; i < enemies.Length; i++) { enemyRobot = enemies[i].GetComponent <EnemyRobot>(); enemyRobot.StopAllCoroutines(); yield return(null); enemies[i].transform.position = EnemiesPositionData[gateNum][i]; enemyRobot.ReStertCoroutine(EnemiesPositionData[gateNum][i]); } dethCount--; if (gateNum == 1) { isTwo = false; } black_out.color = new Color(0, 0, 0, 0); }
private void Awake() { _boss = GetComponent <EnemyRobot>(); _player = FindObjectOfType <Player>(); _gate = GameObject.Find("BossGate"); _fVulnerable = GetComponent <FinalBossIsVulnerable>(); _bossAnimator = GetComponent <Animator>(); }
void OnTriggerEnter2D(Collider2D other) { // If the robot hits a safety block, it changes direction. if (other.gameObject.tag == "Enemy") { //Debug.Log("Safety Block was Hit"); EnemyRobot theRobot = other.GetComponent <EnemyRobot>(); theRobot.ChangeDirection(); } }
static void Main(string[] args) { IEnemyAttacker enemyTank = new EnemyTank(); enemyTank.FireWeapon(); EnemyRobot enemyRobot = new EnemyRobot(); IEnemyAttacker robotAttacker = new EnemyRobotAdapter(enemyRobot); robotAttacker.FireWeapon(); }
void OnTriggerEnter2D(Collider2D other) { // If the robot detects the player, he fires if (other.gameObject.tag == "Player") { //Debug.Log("Player has been detedted"); Transform parentRobotTransform = gameObject.transform.root; GameObject parentRobotObject = parentRobotTransform.gameObject; EnemyRobot parentRobot = parentRobotObject.GetComponent <EnemyRobot>(); parentRobot.FireShot(); //Debug.Log(parentRobotTransform); } }
//Different from PieSliceSensorArray in that EnemyRobots are used as targets instead // of goal points. public void update(Engine.Environment env, List <Robot> robots, CollisionManager cm) { List <float> translatedEnemyAngles = new List <float>(); // Start at 1: Assume all robots after first are enemies for (int i = 1; i < robots.Count; i++) { EnemyRobot er = (EnemyRobot)robots[i]; if (!er.stopped) // Only sense prey robots that are active { Point2D temp = new Point2D((int)er.location.x, (int)er.location.y); temp.rotate((float)-(owner.heading), owner.circle.p); //((float)-(owner.heading * 180.0 / 3.14), owner.circle.p); //translate with respect to location of navigator temp.x -= (float)owner.circle.p.x; temp.y -= (float)owner.circle.p.y; //what angle is the vector between target & navigator float angle = angleValue((float)temp.x, (float)temp.y);// (float)temp.angle(); translatedEnemyAngles.Add(angle); } } //fire the appropriate radar sensor for (int i = 0; i < radarAngles1.Count; i++) { signalsSensors[i].setSignal(0.0); for (int a = 0; a < translatedEnemyAngles.Count; a++) { float angle = translatedEnemyAngles[a]; if (angle >= radarAngles1[i] && angle < radarAngles2[i]) { signalsSensors[i].setSignal(1.0); } if (angle + 360.0 >= radarAngles1[i] && angle + 360.0 < radarAngles2[i]) { signalsSensors[i].setSignal(1.0); } } } }
public void AdapterTesting() { EnemyTank xkf = new EnemyTank(); EnemyRobot robin = new EnemyRobot(); IEnemyAtacker robotAdapter = new EnemyRobotAdapter(robin); Console.WriteLine("The robot"); robin.reactToHuman("Benny"); robin.walkForward(); robin.smashWithHands(); Console.WriteLine("The tank"); xkf.assignDriver("Hood"); xkf.driveForward(); xkf.fireWapon(); Console.WriteLine("The robot with adapter"); robotAdapter.assignDriver("Batman"); robotAdapter.driveForward(); robotAdapter.fireWapon(); Console.ReadLine(); }
public EnemyRobotAdapter(EnemyRobot newRobot) { this.theRobot = newRobot; }
void Awake() { ER = new EnemyRobot(name, MaxHp, MaxMp, MoveSpeed); ER.EC = this; }
public EnemyRobotAttackerAdapter(EnemyRobot newRobot) { theRobot = newRobot; }
public EnemyRobotAdapter(EnemyRobot enemyRobot) { _enemyRobot = enemyRobot; }
public EnemyRobotAdapter(EnemyRobot newRobot) { enemyRobot = newRobot; }
// this contructor method receive the object it'll be Adapted (the Adaptee) public EnemyRobotAdapter(EnemyRobot robot) { this.Robot = robot; }
public int calculateExperienceWorth(EnemyRobot e) { int experienceWorth = 50; return(experienceWorth); }