package com.cheng.zenofdesignpatterns.patterns.proxy.force;
/**
* 强制代理的游戏者
*/
public class GamePlayerForce implements IGamePlayerForce {
private String name = "";
// 我的代理是谁
private IGamePlayerForce proxy = null;
// 构造函数限制谁能创建对象,并同时传递姓名
public GamePlayerForce(String _name) {
this.name = _name;
}
@Override
public void login(String user, String password) {
// 进游戏之前你肯定要登录吧,这是一个必要条件
if (this.isProxy()) {
System.out.println("登录名为"+user + " 的用户 " + this.name + "登录成功!");
} else {
System.out.println("请使用指定的代理访问");;
}
}
@Override
public void killBoss() {
// 打怪,最期望的就是杀老怪
if (this.isProxy()) {
System.out.println(this.name + "在打怪!");
} else {
System.out.println("请使用指定的代理访问");
}
}
@Override
public void upgrade() {
// 升级,升级有很多方法,花钱买是一种,做任务也是一种
if (this.isProxy()) {
System.out.println(this.name + " 又升了一级!");
} else {
System.out.println("请使用指定的代理访问");
}
}
@Override
public IGamePlayerForce getProxy() {
// 找到自己的代理
this.proxy = new GamePlayerProxyForce(this);
return this.proxy;
}
// 校验是否是代理访问
private boolean isProxy(){
if(this.proxy == null){
return false;
}else{
return true;
}
}
}