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); }
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(); }
private void onConditionChanged(Nurture.ECondition condition) { setFaceExpression(condition); }
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); }