Exemple #1
0
    private void setFaceExpression(Nurture.ECondition condition)
    {
        int looksId = _mainCharacter.Age - Def.INIT_AGE;

        if (false == ExtMainCharacterLooks.IsValid(looksId))
        {
            Log.Error(string.Format("invalid main character's looks id: {0}", looksId));
            return;
        }

        MainCharacterLooks looks = Manager.Instance.DT.MainCharacterLooks[looksId];

        Sprite faceExpression = null;

        switch (condition)
        {
        case Nurture.ECondition.Healthy:
            faceExpression = looks.faceExpressionDefault;
            break;

        case Nurture.ECondition.Sick:
        case Nurture.ECondition.Die:
            faceExpression = looks.faceExpressionSick;
            break;

        default:
            return;
        }

        setFaceExpression(faceExpression);
    }
Exemple #2
0
    public MainCharacter(string name, EZodiac zodiac, int age, Nurture.ECondition condition, int[] actionCount,
                         EConstitution constitution, int money, Wardrobe wardrobe, int wearingCostumeId)
        : base(name, zodiac, age, condition, actionCount)
    {
        _constitution     = constitution;
        _money            = money;
        _wardrobe         = wardrobe;
        _wearingCostumeId = wearingCostumeId;

        // events
        _moneyChangeEvent = new MoneyChangeEvent();
        _buyCostumeEvent  = new BuyCostumeEvent();
        _wearCostumeEvent = new WearCostumeEvent();
    }
Exemple #3
0
 private void onConditionChanged(Nurture.ECondition condition)
 {
     setFaceExpression(condition);
 }
Exemple #4
0
    private MainCharacter loadMainCharacter(Nurture.Calendar calendar)
    {
        if (null == calendar)
        {
            Log.Error("not found calendar");
            return(null);
        }

        string name = CustomPlayerPrefs.GetString(PlayerPrefsKey.NAME, null);

        if (null == name)
        {
            Log.Error(string.Format("not found Player's '{0}'", PlayerPrefsKey.NAME));
            return(null);
        }

        int zodiac = CustomPlayerPrefs.GetInt(PlayerPrefsKey.ZODIAC, -1);

        if (false == Enum.IsDefined(typeof(EZodiac), zodiac))
        {
            Log.Error(string.Format("not found '{0}'", PlayerPrefsKey.ZODIAC));
            return(null);
        }

        int age = Def.INIT_AGE + (calendar.Year - Def.INIT_YEAR);

        int condition = CustomPlayerPrefs.GetInt(PlayerPrefsKey.CONDITION, -1);

        if (false == Enum.IsDefined(typeof(Nurture.ECondition), condition))
        {
            Log.Error(string.Format("not found '{0}'", PlayerPrefsKey.CONDITION));
            return(null);
        }

        int[] actionCount = new int[Manager.Instance.DT.Action.Count];
        int   numAction   = actionCount.Length;

        for (int id = 0; id < numAction; ++id)
        {
            string key   = PlayerPrefsKey.GetKey(PlayerPrefsKey.ACTION_COUNT, id);
            int    value = CustomPlayerPrefs.GetInt(key, -1);
            if (value < 0)
            {
                Log.Error(string.Format("not found '{0}'", key));
                return(null);
            }

            actionCount[id] = value;
        }

        int constitution = CustomPlayerPrefs.GetInt(PlayerPrefsKey.CONSTITUTION, -1);

        if (false == Enum.IsDefined(typeof(EConstitution), constitution))
        {
            Log.Error(string.Format("not found '{0}'", PlayerPrefsKey.CONSTITUTION));
            return(null);
        }

        int money = CustomPlayerPrefs.GetInt(PlayerPrefsKey.MONEY, -1);

        if (money < Def.MIN_MONEY)
        {
            Log.Error(string.Format("not found '{0}'", PlayerPrefsKey.MONEY));
            return(null);
        }

        int wearingCostumeId = CustomPlayerPrefs.GetInt(PlayerPrefsKey.WEARING_COSTUME, -1);

        if (false == ExtMainCharacterCostume.IsValid(wearingCostumeId))
        {
            Log.Error(string.Format("not found '{0}'", PlayerPrefsKey.WEARING_COSTUME));
            return(null);
        }

        Wardrobe wardrobe     = new Wardrobe();
        int      costumeCount = Manager.Instance.DT.MainCharacterCostume.Count;

        for (int id = 0; id < costumeCount; ++id)
        {
            string key   = PlayerPrefsKey.GetKey(PlayerPrefsKey.ISBUY_COSTUME, id);
            int    value = CustomPlayerPrefs.GetInt(key, -1);
            if (-1 == value)
            {
                Log.Error(string.Format("not found '{0}'", key));
                return(null);
            }

            bool isBuy = PlayerPrefsKey.GetIntToBool(value);
            CostumeController costume = new CostumeController(id, isBuy);
            wardrobe.CostumeList.Add(costume);
        }

        EZodiac z = (EZodiac)zodiac;

        Nurture.ECondition c  = (Nurture.ECondition)condition;
        EConstitution      cs = (EConstitution)constitution;

        MainCharacter mc = new MainCharacter(name, z, age, c, actionCount, cs, money, wardrobe, wearingCostumeId);

        return(mc);
    }