public GameRuleEvent(GameRuleEventType et, SportsObject s, FieldObject t)
 {
     source = s;
     target = t;
     eventType = et;
     if (et == GameRuleEventType.Bump && t.GetType() == typeof(FieldObject))
         param = t.sportName;
     else
         param = null;
 }
Ejemplo n.º 2
0
    public SportsObject trigger; //this will cause the condition that ends the timer

    #endregion Fields

    #region Constructors

    public GameRuleActionWaitTimer(GameRuleEventHappenedCondition c, SportsObject tr, SportsObject ta,
		GameRuleDurationEffect e)
    {
        condition = c;
        trigger = tr;
        target = ta;
        effect = e;
    }
Ejemplo n.º 3
0
 public override bool checkCondition(SportsObject triggeringObject)
 {
     return triggeringObject.GetType() == selector.targetType() && conditionZone.objectsInZone.Contains(triggeringObject);
 }
 public virtual bool checkCondition(SportsObject triggeringObject)
 {
     return false;
 }
Ejemplo n.º 5
0
 public override SportsObject interceptSelection(SportsObject so)
 {
     lastInterceptionSource = so;
     return ((TeamPlayer)(so)).opponent;
 }
Ejemplo n.º 6
0
 public SportsObject interceptSelection(SportsObject so)
 {
     foreach (GameRule metaRule in metaRulesList) {
         if (metaRule.condition.checkCondition(so))
             return ((GameRuleMetaRuleAction)(metaRule.action)).innerMetaRule.interceptSelection(so);
     }
     return so;
 }
Ejemplo n.º 7
0
 public override SportsObject target(SportsObject source)
 {
     TeamPlayer shooter = ((Ball)(source)).currentPlayer;
     return shooter == null ? null : shooter.opponent;
 }
Ejemplo n.º 8
0
 public abstract SportsObject target(SportsObject source);
Ejemplo n.º 9
0
 public override void takeAction(SportsObject source, SportsObject target)
 {
     target.Duplicate(1);
 }
Ejemplo n.º 10
0
 public override void cancelAction(SportsObject so)
 {
     so.StopBeingDizzy();
 }
Ejemplo n.º 11
0
 public override void cancelAction(SportsObject so)
 {
     so.StopBouncing();
 }
Ejemplo n.º 12
0
    public SportsObject target; //this is the object that the action happened to

    #endregion Fields

    #region Constructors

    public GameRuleActionWaitTimer(GameRuleEventHappenedCondition grehc, SportsObject sos, SportsObject sot,
		GameRuleDurationEffect grde)
    {
        condition = grehc;
        source = sos;
        target = sot;
        effect = grde;
    }
Ejemplo n.º 13
0
 public override float startDuration(SportsObject source, SportsObject target, GameRuleDurationEffect action)
 {
     GameRules.instance.waitTimers.Add(new GameRuleActionWaitTimer(untilCondition, source, target, action));
     return 1000000000.0f;
 }
Ejemplo n.º 14
0
 public override float startDuration(SportsObject source, SportsObject target, GameRuleDurationEffect action)
 {
     return duration;
 }
Ejemplo n.º 15
0
 public virtual void handleSportsCollision(SportsObject sObject)
 {
 }
Ejemplo n.º 16
0
 public override SportsObject target(SportsObject source)
 {
     return ((Ball)(source)).currentPlayer;
 }
Ejemplo n.º 17
0
 public override SportsObject target(SportsObject source)
 {
     return ((TeamPlayer)(source)).opponent;
 }
Ejemplo n.º 18
0
 public abstract void cancelAction(SportsObject so);
Ejemplo n.º 19
0
 public override SportsObject target(SportsObject source)
 {
     return source;
 }
Ejemplo n.º 20
0
 public abstract void takeAction(SportsObject source, SportsObject target);
Ejemplo n.º 21
0
 public void startFlash(SportsObject so)
 {
     flashImage.gameObject.SetActive(true);
     Color targetColor = GameRules.instance.teamColors[so.team];
     flashImage.color = new Color(targetColor.r, targetColor.g, targetColor.b, 1.0f);
 }
Ejemplo n.º 22
0
 //returns the sportsobject that got affected, often the source
 public SportsObject takeAction(SportsObject source)
 {
     SportsObject target = GameRules.instance.interceptSelection(selector.target(source));
     if (target != null)
         innerEffect.takeAction(source, target);
     return target;
 }
Ejemplo n.º 23
0
 public override void handleSportsCollision(SportsObject sObject)
 {
 }
Ejemplo n.º 24
0
 public override void cancelAction(SportsObject so)
 {
     so.Unfreeze();
 }
Ejemplo n.º 25
0
 public abstract SportsObject interceptSelection(SportsObject so);
Ejemplo n.º 26
0
 public override void takeAction(SportsObject source, SportsObject target)
 {
     target.Freeze(duration.startDuration(source, target, this));
 }
Ejemplo n.º 27
0
 public override void handleSportsCollision(SportsObject sObject)
 {
     gameRules.SendEvent(new GameRuleEvent(GameRuleEventType.BallHitSportsObject, bl: this, so: sObject));
 }
Ejemplo n.º 28
0
 public override void takeAction(SportsObject source, SportsObject target)
 {
     ((TeamPlayer)(target)).ScorePoints(pointsGiven);
     GameRules.instance.spawnPointsText(pointsGiven, (TeamPlayer)(target));
 }
Ejemplo n.º 29
0
 public abstract float startDuration(SportsObject source, SportsObject target, GameRuleDurationEffect action);
Ejemplo n.º 30
0
 public override bool checkCondition(SportsObject triggeringObject)
 {
     return GameRules.derivesFrom(triggeringObject.GetType(), selector.targetType()) &&
         conditionZone.objectsInZone.Contains(triggeringObject);
 }