private static void HandleLogEntry(Logger.LogEntry entry)
 {
     if (Debugger.IsAttached)
     {
         Debug.WriteLine(entry.ToString());
     }
 }
Exemple #2
0
 private static void HandleLogEntry(Logger.LogEntry entry)
 {
     // we're just going to echo the logs to the debug output pane in the VS IDE, but you could append them to a file or re-route them into whatever log system you use
     if (Debugger.IsAttached)
     {
         Debug.WriteLine(entry.ToString());
     }
 }
Exemple #3
0
 private static void HandleLogEntry(Logger.LogEntry entry)
 {
     // write log message to debug output window in VS
     if (Debugger.IsAttached)
     {
         Debug.WriteLine(entry.ToString());
     }
 }
Exemple #4
0
    private void Update()
    {
        if (logsToPrint == null || logsToPrint.Count == 0)
        {
            return;
        }

        Range indexRange = GetMinMaxIndex();

        if (!resetLogs && prevRange.Equals(indexRange))
        {
            return;
        }

        resetLogs = false;
        prevRange = indexRange;

        int planetObjectIndex = 0;
        int playerObjectIndex = 0;
        int statusObjectIndex = 0;

        for (int i = 0; i < indexRange.max - indexRange.min + 1; i++)
        {
            Logger.LogEntry entry = logsToPrint[indexRange.max - i];
            if (entry.MessageType == Logger.MessageTypes.Planet)
            {
                messageObjects[i] = planetMessageObjects[planetObjectIndex];
                planetObjectIndex++;
            }
            else if (entry.MessageType == Logger.MessageTypes.Status)
            {
                messageObjects[i] = statusMessageObjects[statusObjectIndex];
                statusObjectIndex++;
            }
            else
            {
                messageObjects[i] = playerMessageObjects[playerObjectIndex];
                playerObjectIndex++;
            }

            messageObjects[i].gameObject.SetActive(true);
            messageObjects[i].SetMessage(entry);
            PositionMessageObject(messageObjects[i], logsToPrint.Count - 1 + i - indexRange.max);
        }
        for (int i = planetObjectIndex; i < planetMessageObjects.Length; i++)
        {
            planetMessageObjects[i].gameObject.SetActive(false);
        }
        for (int i = playerObjectIndex; i < playerMessageObjects.Length; i++)
        {
            playerMessageObjects[i].gameObject.SetActive(false);
        }
        for (int i = statusObjectIndex; i < statusMessageObjects.Length; i++)
        {
            statusMessageObjects[i].gameObject.SetActive(false);
        }
    }
Exemple #5
0
    public override void SetMessage(Logger.LogEntry logEntry)
    {
        entry = logEntry;

        if (entry.MessageReceived.Length > 0)
        {
            Symbols[0].sprite = entry.MessageReceived[0].Sprite; Symbols[0].enabled = true;
        }
        else
        {
            Symbols[0].enabled = false;
        }
        if (entry.MessageReceived.Length > 1)
        {
            Symbols[1].sprite = entry.MessageReceived[1].Sprite; Symbols[1].enabled = true;
        }
        else
        {
            Symbols[1].enabled = false;
        }
        if (entry.MessageReceived.Length > 2)
        {
            Symbols[2].sprite = entry.MessageReceived[2].Sprite; Symbols[2].enabled = true;
        }
        else
        {
            Symbols[2].enabled = false;
        }
        if (entry.MessageReceived.Length > 3)
        {
            Symbols[3].sprite = entry.MessageReceived[3].Sprite; Symbols[3].enabled = true;
        }
        else
        {
            Symbols[3].enabled = false;
        }

        float xEdgePadding = 10f;
        float xPadding     = 8f;
        float imageWidth   = Symbols[0].rectTransform.rect.size.x * Symbols[0].rectTransform.localScale.x;
        float width        = xEdgePadding * 2f + entry.MessageReceived.Length * imageWidth + (entry.MessageReceived.Length - 1) * xPadding;

        rt.sizeDelta = new Vector2(width, rt.sizeDelta.y);

        for (int i = 0; i < entry.MessageReceived.Length; i++)
        {
            float xPos = rt.rect.min.x + xEdgePadding + i * xPadding + (i + 0.5f) * imageWidth;
            Symbols[i].rectTransform.localPosition = new Vector2(xPos, 0f);
        }
    }
Exemple #6
0
    public void SetOpinion(int opinion, Logger.LogEntry logEntry)
    {
        States currentState = state;

        this.opinion = opinion;
        if (opinion > FriendsValue)
        {
            if (state != States.Friends)
            {
                GameStats.Instance.AddFriend(GetComponentInParent <Planet>());
            }
            state = States.Friends;
        }
        else if (opinion > HappyValue)
        {
            if (state == States.Friends)
            {
                GameStats.Instance.RemoveFriend(GetComponentInParent <Planet>());
            }
            state = States.Happy;
        }
        else if (opinion > UnhappyValue)
        {
            state = States.Neutral;
        }
        else if (opinion > AngryValue)
        {
            state = States.Unhappy;
        }
        else if (opinion > BlockedValue)
        {
            state = States.Angry;
        }
        else
        {
            GameStats.Instance.AddBlock(GetComponentInParent <Planet>());
            state = States.Blocked;
            SoundBites.Instance.PlayBlockedSound();
        }

        if (state != currentState)
        {
            PlayParticleEffect();
            UpdateOpinionGraphic();
            Logger.AddStatusLog(GetComponentInParent <Planet>(), RelationshipSprite.sprite, logEntry);
        }
    }
    public override void SetMessage(Logger.LogEntry logEntry)
    {
        entry = logEntry;

        PlanetNameText.text = logEntry.Planet.PlanetName;

        if (logEntry.MessageResponse > 0)
        {
            Symbols[0].sprite = PositiveMessage;
        }
        else if (logEntry.MessageResponse < 0)
        {
            Symbols[0].sprite = NegativeMessage;
        }
        else
        {
            Symbols[0].sprite = NeutralMessage;
        }
    }
    public void SendTransmission(List <Symbols> symbols)
    {
        transmissionNumber++;
        Transmission newTransmission = ObjectPooler.Instance.GetPooledObject(ObjectPooler.Pools.Transmission.ToString()).GetComponent <Transmission>();

        newTransmission.Activate(TransmissionSpeed, TransmissionDuration, symbols);
        controller.AddTransmission();

        newTransmission.SetPlanetsToReach(GameManager.Instance.GetUnlockedPlanets());

        GameUI.SetBatteryPercent((float)(GameStats.Instance.NumTransmissionsBeforeEnd - transmissionNumber) / GameStats.Instance.NumTransmissionsBeforeEnd);

        Logger.LogEntry entry = Logger.AddLog(symbols.ToArray());
        newTransmission.SetLogEntry(entry);
        bool endGame = GameStats.Instance.SentTransmission();

        if (endGame)
        {
            newTransmission.EndAfterAllPlanetsReached();
        }
    }
Exemple #9
0
    public void GiveMessage(List <Symbols> symbols, Logger.LogEntry entry)
    {
        if (opinion <= OpinionScript.BlockedValue)
        {
            return;
        }

        int messageOpinion = 0;

        foreach (Symbols symbol in symbols)
        {
            if (symbolDict.ContainsKey(symbol))
            {
                messageOpinion += symbolDict[symbol];
            }
        }
        Logger.AddLog(this, symbols.ToArray(), messageOpinion, entry);
        ResponseScript.SetReponseImage(this, messageOpinion);
        opinion += messageOpinion;
        OpinionScript.SetOpinion(opinion, entry);
    }
        // ============ Logging ============

        private static bool FormatParameters(Logger.LogEntry line)
        {
            if (line == null)
            {
                return(true);
            }
            object[] args = line?.args;
            // Convert Log( data ) to Log( "{0}", data ) so that it can be formatted
            if (!(line.message is string) && args.IsNullOrEmpty() && !(line.message is Exception))
            {
                line.args    = args = new object[] { line.message };
                line.message = "{0}";
            }
            else if (args == null)
            {
                return(true);
            }
            // Format parameters
            for (int i = 0, len = args.Length; i < len; i++)
            {
                args[i] = FormatParameter(args[i]);
            }
            return(true);
        }
Exemple #11
0
 public override void SetMessage(Logger.LogEntry logEntry)
 {
     entry = logEntry;
     PlanetNameText.text = logEntry.Planet.PlanetName;
     Symbols[0].sprite   = logEntry.StatusSprite;
 }
Exemple #12
0
 public void ClearMessage()
 {
     entry = null;
 }
Exemple #13
0
 public virtual void SetMessage(Logger.LogEntry logEntry)
 {
     entry = logEntry;
 }
Exemple #14
0
 public void SetLogEntry(Logger.LogEntry entry)
 {
     logEntry = entry;
 }