public void Notify(Message m) { switch (m.messageType) { case GoalScoredMessage.classMessageType: GoalScoredMessage goalM = m as GoalScoredMessage; //goal side is the side that was scored on, and is the side that isn't getting a point if (goalM.side != puck.side) { if (puck.lastBumpedPlayer != null) //if null, don't count it as a valid goal. No-one from the scoring team touched it { playerScores[puck.lastBumpedPlayer] += 1; } } else { if (puck.lastBumpedPlayerOpposingSide != null) //if null, don't count it as a valid goal. No-one from the scoring team touched it { playerScores[puck.lastBumpedPlayerOpposingSide] += 1; } } UpdateScore(goalM.side); animateBackgroundTexture(); break; case GameEndMessage.classMessageType: GameEndScripting endData = (m as GameEndMessage).endData; endData.leftScore = this.leftScore; endData.rightScore = this.rightScore; endData.playerScores = playerScores; float baseImageStrength = background.GetFloat(Tags.ShaderParams.imageStrength); float baseAlpha = background.GetFloat(Tags.ShaderParams.alpha); CanvasGroup group = GetComponent <CanvasGroup>(); Callback.DoLerp((float l) => { background.SetFloat(Tags.ShaderParams.imageStrength, baseImageStrength * l); background.SetFloat(Tags.ShaderParams.alpha, baseAlpha * l); group.alpha = l; }, (m as GameEndMessage).time, this, reverse: true, mode: Callback.Mode.REALTIME); Observers.Unsubscribe(this, GoalScoredMessage.classMessageType, GameEndMessage.classMessageType); break; } }
public GameEndMessage(GameEndScripting endData, float time) : base(classMessageType) { this.endData = endData; this.time = time; }
public GameEndMessage(GameEndScripting endData, float time) : base(classMessageType) { this.endData = endData; this.time = time; }