示例#1
0
    public bool StatisticGreater(string stat_name, string level)
    {
        Enums.Event stat_type = (Enums.Event)Enum.Parse(typeof(Enums.Event), stat_name);
        CJVariable  statistic = this.GetStatistic(stat_type);

        if (statistic == null)
        {
            return(false);
        }
        CJVariable.TYPE variableType = statistic.GetVariableType();
        if (variableType != CJVariable.TYPE.Int)
        {
            if (variableType == CJVariable.TYPE.Float)
            {
                float num = 0f;
                if (float.TryParse(level, out num))
                {
                    return(statistic.FValue > num);
                }
            }
        }
        else
        {
            int num2 = 0;
            if (int.TryParse(level, out num2))
            {
                return(statistic.IValue > num2);
            }
        }
        return(false);
    }
示例#2
0
    public void Save()
    {
        CJVariable cjvariable = null;

        for (int i = 0; i < 18; i++)
        {
            Enums.Event key = (Enums.Event)i;
            if (this.m_Stats.TryGetValue((int)key, out cjvariable))
            {
                switch (cjvariable.GetVariableType())
                {
                case CJVariable.TYPE.String:
                    SaveGame.SaveVal("Stat" + key.ToString(), cjvariable.SValue);
                    break;

                case CJVariable.TYPE.Int:
                    SaveGame.SaveVal("Stat" + key.ToString(), cjvariable.IValue);
                    break;

                case CJVariable.TYPE.Float:
                    SaveGame.SaveVal("Stat" + key.ToString(), cjvariable.FValue);
                    break;

                case CJVariable.TYPE.Bool:
                    SaveGame.SaveVal("Stat" + key.ToString(), cjvariable.BValue);
                    break;
                }
            }
        }
    }
示例#3
0
    public void Load()
    {
        this.Reset();
        int    ivalue = 0;
        float  fvalue = 0f;
        string empty  = string.Empty;
        bool   bvalue = false;

        for (int i = 0; i < 18; i++)
        {
            Enums.Event stat_type = (Enums.Event)i;
            CJVariable  statistic = this.GetStatistic(stat_type);
            if (statistic != null)
            {
                if (SaveGame.LoadVal("Stat" + stat_type.ToString(), out fvalue, false))
                {
                    statistic.FValue = fvalue;
                }
                else if (SaveGame.LoadVal("Stat" + stat_type.ToString(), out ivalue, false))
                {
                    statistic.IValue = ivalue;
                }
                else if (SaveGame.LoadVal("Stat" + stat_type.ToString(), out empty, false))
                {
                    statistic.SValue = empty;
                }
                else if (SaveGame.LoadVal("Stat" + stat_type.ToString(), out bvalue, false))
                {
                    statistic.BValue = bvalue;
                }
            }
        }
        this.m_PrevDayCheck = MainLevel.Instance.m_TODSky.Cycle.Day;
    }
示例#4
0
    public CJVariable GetStatistic(Enums.Event stat_type)
    {
        CJVariable cjvariable = null;

        this.m_Stats.TryGetValue((int)stat_type, out cjvariable);
        DebugUtils.Assert(cjvariable != null, true);
        return(cjvariable);
    }
示例#5
0
    private void Setup()
    {
        this.m_Content.text = string.Empty;
        for (int i = 0; i < 18; i++)
        {
            Enums.Event stat_type = (Enums.Event)i;
            CJVariable  statistic = StatsManager.Get().GetStatistic(stat_type);
            Text        content   = this.m_Content;
            content.text = content.text + stat_type.ToString() + ": ";
            CJVariable.TYPE variableType = statistic.GetVariableType();
            if (variableType == CJVariable.TYPE.Unknown)
            {
                Text content2 = this.m_Content;
                content2.text += "-\n";
            }
            else
            {
                switch (variableType)
                {
                case CJVariable.TYPE.String:
                {
                    Text content3 = this.m_Content;
                    content3.text += statistic.SValue;
                    break;
                }

                case CJVariable.TYPE.Int:
                {
                    Text content4 = this.m_Content;
                    content4.text += statistic.IValue.ToString();
                    break;
                }

                case CJVariable.TYPE.Float:
                {
                    Text content5 = this.m_Content;
                    content5.text += statistic.FValue.ToString("F1");
                    break;
                }

                case CJVariable.TYPE.Bool:
                {
                    Text content6 = this.m_Content;
                    content6.text += statistic.BValue.ToString();
                    break;
                }
                }
                Text content7 = this.m_Content;
                content7.text += "\n";
            }
        }
    }
 public void OnEvent(Enums.Event event_type, int val, int data, int data2)
 {
     if (event_type == Enums.Event.Sleep)
     {
         for (int i = 0; i < this.m_AllTasks.Count; i++)
         {
             PlannerTask plannerTask = this.m_AllTasks[i];
             if (this.m_PlannedTasks.Contains(plannerTask))
             {
                 if (plannerTask.OnSleep(data2 > 0, true))
                 {
                     this.m_AllTasks[i].m_Fullfiled = true;
                 }
             }
             else
             {
                 plannerTask.OnSleep(data2 > 0, false);
             }
         }
     }
 }
示例#7
0
    public void OnEvent(Enums.Event event_type, string val, int data)
    {
        CJVariable statistic = this.GetStatistic(event_type);

        statistic.SValue = val;
    }
示例#8
0
    public void OnEvent(Enums.Event event_type, int val, int data, int data2)
    {
        CJVariable statistic = this.GetStatistic(event_type);

        statistic.IValue += val;
    }
 public void OnEvent(Enums.Event event_type, int val, int data)
 {
     if (event_type == Enums.Event.Build)
     {
         for (int i = 0; i < this.m_AllTasks.Count; i++)
         {
             PlannerTask plannerTask = this.m_AllTasks[i];
             if (this.m_PlannedTasks.Contains(plannerTask))
             {
                 if (plannerTask.OnBuild((ItemID)data, true))
                 {
                     this.m_AllTasks[i].m_Fullfiled = true;
                 }
             }
             else
             {
                 plannerTask.OnBuild((ItemID)data, false);
             }
         }
         return;
     }
     if (event_type == Enums.Event.Eat)
     {
         for (int j = 0; j < this.m_AllTasks.Count; j++)
         {
             PlannerTask plannerTask2 = this.m_AllTasks[j];
             if (this.m_PlannedTasks.Contains(plannerTask2))
             {
                 if (plannerTask2.OnEat((ItemID)data, true))
                 {
                     this.m_AllTasks[j].m_Fullfiled = true;
                 }
             }
             else
             {
                 plannerTask2.OnEat((ItemID)data, false);
             }
         }
         return;
     }
     if (event_type == Enums.Event.IgniteFire)
     {
         for (int k = 0; k < this.m_AllTasks.Count; k++)
         {
             PlannerTask plannerTask3 = this.m_AllTasks[k];
             if (this.m_PlannedTasks.Contains(plannerTask3))
             {
                 if (plannerTask3.OnMakeFire(true))
                 {
                     this.m_AllTasks[k].m_Fullfiled = true;
                 }
             }
             else
             {
                 plannerTask3.OnMakeFire(false);
             }
         }
         return;
     }
     if (event_type == Enums.Event.HealWound)
     {
         for (int l = 0; l < this.m_AllTasks.Count; l++)
         {
             PlannerTask plannerTask4 = this.m_AllTasks[l];
             if (this.m_PlannedTasks.Contains(plannerTask4))
             {
                 if (plannerTask4.OnHealWound(true))
                 {
                     this.m_AllTasks[l].m_Fullfiled = true;
                 }
             }
             else
             {
                 plannerTask4.OnHealWound(false);
             }
         }
     }
 }
 public void OnEvent(Enums.Event event_type, bool val, int data)
 {
 }
 public void OnEvent(Enums.Event event_type, string val, int data)
 {
 }
 public void OnEvent(Enums.Event event_type, float val, int data)
 {
 }
示例#13
0
 public void OnEvent(Enums.Event event_type, string val, int data)
 {
     this.GetStatistic(event_type).SValue = val;
 }
示例#14
0
 public void OnEvent(Enums.Event event_type, bool val, int data)
 {
     this.GetStatistic(event_type).BValue = val;
 }
示例#15
0
 public void OnEvent(Enums.Event event_type, int val, int data, int data2)
 {
     this.GetStatistic(event_type).IValue += val;
 }
示例#16
0
 public void OnEvent(Enums.Event event_type, float val, int data)
 {
     this.GetStatistic(event_type).FValue += val;
 }