Пример #1
0
    /// <summary>
    /// 极坐标取点
    /// </summary>
    public PosData func_PosPolar(SceneTriggerExecutor e, TriggerArg a, PosData pos, float distance, DirData dir)
    {
        PosData re = new PosData();

        e.getScene().pos.polar2D(re, distance, dir);
        e.getScene().pos.addPos(re, pos);
        return(re);
    }
Пример #2
0
    /// <summary>
    /// 点相加
    /// </summary>
    public PosData func_AddPos(SceneTriggerExecutor e, TriggerArg a, PosData pos0, PosData pos1)
    {
        PosData re = new PosData();

        re.copyPos(pos0);
        e.getScene().pos.addPos(re, pos1);
        return(re);
    }
Пример #3
0
    /// <summary>
    /// 朝向 相加
    /// </summary>
    public DirData func_AddDirFloat(SceneTriggerExecutor e, TriggerArg a, DirData dir, float value)
    {
        DirData re = new DirData();

        re.copyDir(dir);
        re.direction = MathUtils.directionCut(re.direction + value);
        return(re);
    }
Пример #4
0
    /// <summary>
    /// 朝向 相加
    /// </summary>
    public DirData func_AddDir(SceneTriggerExecutor e, TriggerArg a, DirData dir, DirData value)
    {
        DirData re = new DirData();

        re.copyDir(dir);
        re.direction = MathUtils.directionCut(re.direction + value.direction);
        //re.directionX+=dir2.directionX;
        return(re);
    }
Пример #5
0
    /// <summary>
    /// 获取场景排放配置位置
    /// </summary>
    public PosData func_GetScenePlacePos(SceneTriggerExecutor e, TriggerArg a, int instanceID)
    {
        ScenePlaceElementConfig eConfig = e.getScene().getPlaceConfig().getElement(instanceID);

        if (eConfig == null)
        {
            Ctrl.errorLog("未找到场景摆放配置", instanceID);
            return(null);
        }
        PosData re = new PosData();

        re.setByFArr(eConfig.pos);

        return(re);
    }
Пример #6
0
 /// <summary>
 /// 单位添加属性
 /// </summary>
 public void func_UnitAddAttribute(SceneTriggerExecutor e, TriggerArg a, Unit unit, int type, int value)
 {
     unit.fight.getAttributeLogic().addOneAttribute(type, value);
 }
Пример #7
0
 /// <summary>
 /// 移动到目标单位
 /// </summary>
 public void func_MoveToUnit(SceneTriggerExecutor e, TriggerArg a, Unit unit, Unit target, float radius)
 {
     unit.aiCommand.moveTo(target, radius, null);
 }
Пример #8
0
 /// <summary>
 /// 移除单位
 /// </summary>
 public void func_RemoveUnit(SceneTriggerExecutor e, TriggerArg a, Unit unit)
 {
     unit.removeLater();
 }
Пример #9
0
 /// <summary>
 /// 强制击杀单位
 /// </summary>
 public void func_KillUnit(SceneTriggerExecutor e, TriggerArg a, Unit unit)
 {
     e.getScene().fight.killUnit(unit);
 }
Пример #10
0
 /// <summary>
 /// 对于某单位来说,点是否可走
 /// </summary>
 public bool func_IsPosEnabled(SceneTriggerExecutor e, TriggerArg a, Unit unit, PosData pos)
 {
     Ctrl.warnLog("function func_IsPosEnabled,need implement");
     return(false);
 }
Пример #11
0
 /// <summary>
 /// 强制类型转化为点
 /// </summary>
 public PosData func_AsPos(SceneTriggerExecutor e, TriggerArg a, object obj)
 {
     return((PosData)obj);
 }
Пример #12
0
 /// <summary>
 /// 单位治疗生命千分比
 /// </summary>
 public void func_UnitAddHpPercent(SceneTriggerExecutor e, TriggerArg a, Unit unit, int percent)
 {
     unit.fight.getAttributeLogic().addHPPercent(percent);
 }
Пример #13
0
 /// <summary>
 /// 获取单位位置
 /// </summary>
 public PosData func_GetUnitPos(SceneTriggerExecutor e, TriggerArg a, Unit unit)
 {
     return(unit.pos.getPos());
 }
Пример #14
0
 /// <summary>
 /// 创建并添加傀儡
 /// </summary>
 public Unit func_CreateAddPuppet(SceneTriggerExecutor e, TriggerArg a, int id, int level, PosData pos, Unit master, int lastTime)
 {
     return(e.getScene().unitFactory.createAddPuppet(id, level, pos, master, lastTime));
 }
Пример #15
0
 /// <summary>
 /// 通过实例id获取单位
 /// </summary>
 public Unit func_GetUnit(SceneTriggerExecutor e, TriggerArg a, int instanceID)
 {
     return(e.getScene().getUnit(instanceID));
 }
Пример #16
0
 /// <summary>
 /// 获取单位的战斗单位id
 /// </summary>
 public int func_GetUnitFightUnitID(SceneTriggerExecutor e, TriggerArg a, Unit unit)
 {
     return(unit.fight.getFightUnitConfig().id);
 }
Пример #17
0
 /// <summary>
 /// 计算点距离
 /// </summary>
 public float func_PosDistance(SceneTriggerExecutor e, TriggerArg a, PosData pos0, PosData pos1)
 {
     return(e.getScene().pos.calculatePosDistance2D(pos0, pos1));
 }
Пример #18
0
 /// <summary>
 /// 当前触发单位
 /// </summary>
 public Unit func_TriggerUnit(SceneTriggerExecutor e, TriggerArg a)
 {
     return(((SceneTriggerEvent)a.evt).triggerUnit);
 }
Пример #19
0
 /// <summary>
 /// 强制类型转化为单位
 /// </summary>
 public Unit func_AsUnit(SceneTriggerExecutor e, TriggerArg a, object obj)
 {
     return((Unit)obj);
 }
Пример #20
0
 /// <summary>
 /// 获取单位朝向
 /// </summary>
 public DirData func_GetUnitDir(SceneTriggerExecutor e, TriggerArg a, Unit unit)
 {
     return(unit.pos.getDir());
 }
Пример #21
0
 /// <summary>
 /// 强制类型转化为朝向
 /// </summary>
 public DirData func_AsDir(SceneTriggerExecutor e, TriggerArg a, object obj)
 {
     return((DirData)obj);
 }
Пример #22
0
 /// <summary>
 /// c单位是否存活
 /// </summary>
 public bool func_UnitIsAlive(SceneTriggerExecutor e, TriggerArg a, Unit unit)
 {
     return(unit.fight.isAlive());
 }