private Effect getEffectForAspect(Aspects.Secondary aspect) { switch (aspect) { case Aspects.Secondary.NONE: return(EffectNone); case Aspects.Secondary.VOID: return(EffectVoid); case Aspects.Secondary.SEDUCTIVE: return(EffectSeductive); case Aspects.Secondary.FIRE: return(EffectFire); case Aspects.Secondary.WATER: return(EffectWater); case Aspects.Secondary.SLIME: return(EffectSlime); case Aspects.Secondary.DECAY: return(EffectDecay); case Aspects.Secondary.BEAST: return(EffectBeastly); case Aspects.Secondary.UNKNOWN: return(null); default: throw new ArgumentException("Unrecognized Secondary aspect enum value: " + aspect); } }
public void setBodyParts(BodyPart[] parts, Aspects.Secondary type) { foreach (BodyPart part in parts) { setBodyPart(part, type); } }
public void showInfo(Vector3 location, Aspects.Primary primary, Aspects.Secondary secondary) { panel.transform.position = new Vector3(location.x, location.y, panel.transform.position.z); this.primary.sprite = Aspects.instance().getNormalSprite(primary); this.secondary.sprite = Aspects.instance().getNormalSprite(secondary); panel.SetActive(true); }
public IngredientData(IngredientType type, Aspects.Primary primary, Aspects.Secondary secondary) { this.type = type; this.primary = primary; this.secondary = secondary; primaryGuesses = new Dictionary<Aspects.Primary, GuessState>(); secondaryGuesses = new Dictionary<Aspects.Secondary, GuessState>(); }
public IngredientData(IngredientType type, Aspects.Primary primary, Aspects.Secondary secondary) { this.type = type; this.primary = primary; this.secondary = secondary; primaryGuesses = new Dictionary <Aspects.Primary, GuessState>(); secondaryGuesses = new Dictionary <Aspects.Secondary, GuessState>(); }
public AudioClip[] getClips(Aspects.Secondary type) { if (clips.ContainsKey(type)) { return(clips[type]); } else { return(new AudioClip[0]); } }
public GuessState getGuessState(Aspects.Secondary aspect) { if (secondaryGuesses.ContainsKey(aspect)) { return(secondaryGuesses[aspect]); } else { return(GuessState.UNKNOWN); } }
public Sprite getSprite(Aspects.Secondary type, BodyPart bodyPart) { if (sprites.ContainsKey(type)) { return(sprites[type][bodyPart]); } else { Debug.Log("No sprites for player type " + type); return(sprites[Aspects.Secondary.NONE][bodyPart]); } }
public Potion(Aspects.Primary primary1, Aspects.Primary primary2, Aspects.Primary primary3, MultiSet <Aspects.Secondary> secondaries, PotionSlot slot, Aspects.Secondary type, Effect effect) { primaries = new MultiSet <Aspects.Primary>(); primaries.Add(primary1); primaries.Add(primary2); primaries.Add(primary3); this.secondaries = new MultiSet <Aspects.Secondary>(secondaries); _slot = slot; _type = type; _effect = effect; }
public Potion(Aspects.Primary primary1, Aspects.Primary primary2, Aspects.Primary primary3, MultiSet<Aspects.Secondary> secondaries, PotionSlot slot, Aspects.Secondary type, Effect effect) { primaries = new MultiSet<Aspects.Primary>(); primaries.Add(primary1); primaries.Add(primary2); primaries.Add(primary3); this.secondaries = new MultiSet<Aspects.Secondary>(secondaries); _slot = slot; _type = type; _effect = effect; }
public bool hasMultipleSecondaryGuesses() { Aspects.Secondary guess = Aspects.Secondary.UNKNOWN; foreach (Aspects.Secondary aspect in secondaryGuesses.Keys) { if (secondaryGuesses[aspect] == GuessState.HAS) { if (guess == Aspects.Secondary.UNKNOWN) { guess = aspect; } else { // Multiple aspects guessed return(true); } } } return(false); }
public Aspects.Secondary getSecondaryGuess() { Aspects.Secondary guess = Aspects.Secondary.UNKNOWN; foreach (Aspects.Secondary aspect in secondaryGuesses.Keys) { if (secondaryGuesses[aspect] == GuessState.HAS) { if (guess == Aspects.Secondary.UNKNOWN) { guess = aspect; } else { // Multiple aspects guessed; invalid return(Aspects.Secondary.UNKNOWN); } } } return(guess); }
public void playSound(Aspects.Secondary type) { AudioClip[] sounds = PlayerSoundEffects.instance().getClips(type); player.playSound(sounds); }
private void initAspect(IngredientType ingredient, GameObject lineItemInstance, String childName, Aspects.Secondary aspect) { GameObject iconButton = lineItemInstance.transform.Find(childName).gameObject; iconButton.GetComponent <Image>().sprite = Aspects.instance().getGreyedSprite(aspect); IngredientData.GuessState currentGuess = Ingredients.instance().getIngredient(ingredient).getGuessState(aspect); switch (currentGuess) { case IngredientData.GuessState.UNKNOWN: iconButton.GetComponent <Image>().sprite = Aspects.instance().getGreyedSprite(aspect); break; case IngredientData.GuessState.HAS: iconButton.GetComponent <Image>().sprite = Aspects.instance().getNormalSprite(aspect); break; case IngredientData.GuessState.NOT_HAS: iconButton.GetComponent <Image>().sprite = Aspects.instance().getDisabledSprite(aspect); break; } iconButton.GetComponent <Button>().onClick.AddListener(() => { IngredientData data = Ingredients.instance().getIngredient(ingredient); IngredientData.GuessState guess = data.getGuessState(aspect); IngredientData.GuessState next = IngredientData.GuessState.UNKNOWN; Image icon = iconButton.GetComponent <Image>(); switch (guess) { case IngredientData.GuessState.UNKNOWN: next = IngredientData.GuessState.HAS; icon.sprite = Aspects.instance().getNormalSprite(aspect); break; case IngredientData.GuessState.HAS: next = IngredientData.GuessState.NOT_HAS; icon.sprite = Aspects.instance().getDisabledSprite(aspect); break; case IngredientData.GuessState.NOT_HAS: next = IngredientData.GuessState.UNKNOWN; icon.sprite = Aspects.instance().getGreyedSprite(aspect); break; } data.setGuessState(aspect, next); updateWarningIcon(data, lineItemInstance); }); }
private void add(IngredientType type, Aspects.Primary primary, Aspects.Secondary secondary) { ingredients.Add(type, new IngredientData(type, primary, secondary)); }
public void add(Aspects.Primary primary1, Aspects.Primary primary2, Aspects.Primary primary3, MultiSet <Aspects.Secondary> secondaries, PotionSlot slot, Aspects.Secondary type, Effect effect) { Potion potion = new Potion(primary1, primary2, primary3, secondaries, slot, type, effect); MultiSet <Aspects.Primary> primaries = new MultiSet <Aspects.Primary>(); primaries.Add(primary1); primaries.Add(primary2); primaries.Add(primary3); if (!potions.ContainsKey(primaries)) { potions.Add(primaries, new List <Potion>()); } potions[primaries].Add(potion); }
public void setGuessState(Aspects.Secondary aspect, GuessState state) { secondaryGuesses[aspect] = state; }
public IngredientData(IngredientType type, Aspects.Primary primary, Aspects.Secondary secondary) { this.type = type; this.primary = primary; this.secondary = secondary; }
public void setBodyPart(BodyPart part, Aspects.Secondary type) { Transform partTransform = bodyPartToTransform(part); partTransform.GetComponent <SpriteRenderer>().sprite = PlayerSprites.instance().getSprite(type, part); }