📄 attack.java
字号:
package org.su.demo.Creature.Attack;
import java.util.ArrayList;
import org.su.demo.Creature.demage.DemagePacket;
import org.su.demo.util.designmode.Obervice;
import org.su.demo.util.designmode.Subject;
/*
* 实现被观察者(主题)接口
* 攻击方
*/
public class Attack implements Subject {
// 记录观察者
private ArrayList<Obervice> obervices ;
DemagePacket demagePacket;
//初始化
public Attack() {
obervices = new ArrayList<Obervice>();
};
public Attack(DemagePacket demagePacket) {
obervices = new ArrayList<Obervice>();
this.demagePacket = demagePacket;
}
//注册观察者
public void registerObserver(Obervice o) {
obervices.add(o);
}
//删除观察者
public void removeObserver(Obervice o) {
int index = obervices.indexOf(o);
if (index >= 0)
obervices.remove(index);
}
//通知观察者
public void notifyObserver() {
for(int i = 0; i <obervices.size();i++)
{
Defense obervice = (Defense)obervices.get(i);
obervice.update(demagePacket);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -