private KnifeDef GetKnifeFullDef(string knife, KnifeMode mode) { RawNode node = null; string modeKey = KnifeUtils.GetKnifeModeKey(mode); var knifeNode = m_knivesSettings.GetNode(knife); var modesNode = knifeNode.GetNode("modes"); if (modesNode.CheckKey(modeKey)) { var modeNode = modesNode.GetNode(modeKey); node = modeNode.WithFallback(knifeNode); } else { throw new InvalidOperationException("Knife " + knife + " not support " + mode + " mode"); } var modesSettings = m_settings.GetNode("modes"); if (modesSettings.CheckKey(modeKey)) { node = node.WithFallback(modesSettings.GetNode(modeKey)); } if (modesSettings.CheckKey("default")) { node = node.WithFallback(modesSettings.GetNode("default")); } return(new KnifeDef(knife, mode, node)); }
public KnifeDef(string key, KnifeMode mode, RawNode config) { this.key = key; this.mode = mode; name = config.GetString("name"); rarity = KnifeUtils.GetRarity(config.GetString("rarity", "common")); modes = KnifeUtils.GetSupportedModes(config); timeScale = config.GetFloat("time_scale"); minForce = config.GetFloat("knife_min_force"); maxForce = config.GetFloat("knife_max_force"); gravity = config.GetFloat("gravity"); bounceMultiplier = config.GetFloat("knife_bounce_multiplier"); heightMultiplier = config.GetFloat("height_multiplier"); rotationSpeed = config.GetFloat("rotation_speed"); rotationDecrease = config.GetFloat("rotation_decrease"); rotationMinSpeed = config.GetFloat("rotation_min_speed"); prefab = config.GetString("prefab"); scale = config.GetFloat("scale"); sides = config.GetInt("sides", 1); size = config.GetFloat("size"); price = config.CheckKey("price") ? new PriceDef(config.GetNode("price")) : PriceDef.NewNone(); visibleInCollection = config.GetBool("collection_visible", true); visibleInRoulette = config.GetBool("roulette_visible", true); droppableFromRoulette = config.GetBool("roulette_drop", true); ReadDeflection(config, "success_deflection", out successDeflectionLeft, out successDeflectionRight); ReadDeflection(config, "perfect_success_deflection", out perfectDeflectionLeft, out perfectDeflectionRight); hasSkillSuccessDeflection = HasDeflection(config, "skill_success_deflection"); if (hasSkillSuccessDeflection) { ReadDeflection(config, "skill_success_deflection", out skillSuccessDeflectionLeft, out skillSuccessDeflectionRight); } hasSkillPerfectDeflection = HasDeflection(config, "skill_perfect_deflection"); if (hasSkillPerfectDeflection) { ReadDeflection(config, "skill_perfect_deflection", out skillPerfectDeflectionLeft, out skillPerfectDeflectionRight); } if (config.CheckKey("skill_pefect_flip_gold_probability")) { skillPefectFlipGoldProbability = config.GetFloat("skill_pefect_flip_gold_probability"); skillPefectFlipGoldMin = config.GetInt("skill_pefect_flip_gold_min", 0); skillPefectFlipGoldMax = config.GetInt("skill_pefect_flip_gold_max", 0); } if (config.CheckKey("skill_ads_multiplier")) { skillAdsMultiplier = config.GetFloat("skill_ads_multiplier", 1); } skillTooltip = config.GetString("skill_tooltip", null); skillIcon = config.GetString("skill_icon", null); skillAdsIcon = config.GetString("skill_ads_icon", null); }
public void SendFightCreated(string enemyName, string enemyKnifeName, KnifeMode enemyKnifeMode) { _waitForReady = true; var msg = new FightCteatedMessage(_knifeIndex, enemyName, enemyKnifeName, enemyKnifeMode); _user.SendMsg(msg); }
public void WriteChangeMode(float time, KnifeMode knifeMode) { EnsureBufferSize(m_position + 4 + 1 + 1); WriteSingle(m_data, ref m_position, time); m_data[m_position++] = (byte)ReplayCommandCode.ChangeMode; m_data[m_position++] = (byte)knifeMode; }
public FightQueueMessage(string knifeName, KnifeMode knifeMode, string repliedMessageId = null) : base(repliedMessageId) { if (string.IsNullOrEmpty(knifeName)) { throw new ArgumentException("message", nameof(knifeName)); } KnifeName = knifeName; KnifeMode = knifeMode; }
public bool ReadChangeMode(out KnifeMode knifeMode) { if (m_position + 1 > m_data.Length) { knifeMode = KnifeMode.Medium; return(false); } knifeMode = (KnifeMode)m_data[m_position++]; return(true); }
private void OnKnifeModeChanged(KnifeMode obj) { for (int i = 0; i < m_behaviours.Length; i++) { m_behaviours[i].PostKnifeModeChnaged(this, obj); } if (modeChanged != null) { modeChanged(obj); } }
public void SetKnifeMode(KnifeMode knifeMode) { for (int i = 0; i < m_behaviours.Length; i++) { if (!m_behaviours[i].PreChangeKnifeMode(this, knifeMode)) { return; } } m_game.SetKnifeMode(m_knife, knifeMode); }
public void SetKnifeMode(string knife, KnifeMode mode) { m_log.DebugFormat("SetKnifeMode: {0}", mode); m_knifeMode = mode; m_knife.def = GetKnifeFullDef(knife, m_knifeMode); #if PHYSICS_DEBUG test = new TestKnifePhysicsModel(m_knife.def); #endif if (knifeModeChanged != null) { knifeModeChanged(mode); } }
public FightCteatedMessage(int knifeIndex, string userName, string knifeName, KnifeMode knifeMode, string repliedMessageId = null) : base(repliedMessageId) { if (string.IsNullOrEmpty(userName)) { throw new ArgumentException("message", nameof(userName)); } if (string.IsNullOrEmpty(knifeName)) { throw new ArgumentException("message", nameof(knifeName)); } KnifeIndex = knifeIndex; EnemyUserName = userName; EnemyKnifeName = knifeName; EnemyKnifeMode = knifeMode; }
public Game(RawNode knivesSettings, RawNode settings) { m_rnd = new Random(); m_settings = settings; m_knivesSettings = knivesSettings; m_knife = new Knife(); m_knife.throwSuccess += OnKnifeThrowSuccess; m_score = 0; m_perfectFlipCounter = 0; m_knifeMode = KnifeMode.Medium; m_stepAwardCalculator = new StepAwardCalculator( requiredScore: m_settings.GetIntArray("flips_bonus_flips"), awards: m_settings.GetIntArray("flips_bonus_gold") ); }
public static KnifeMode[] GetSupportedModes(RawNode knifeNode) { var modesNode = knifeNode.GetNode("modes"); var supportedModes = new KnifeMode[AllKnifeModes.Length]; int count = 0; foreach (var mode in AllKnifeModes) { var key = GetKnifeModeKey(mode); if (modesNode.CheckKey(key)) { supportedModes[count++] = mode; } } Array.Resize(ref supportedModes, count); return(supportedModes); }
public static string GetKnifeModeKey(KnifeMode knifeMode) { switch (knifeMode) { case KnifeMode.Slow: return("slow"); case KnifeMode.Medium: return("medium"); case KnifeMode.Fast: return("fast"); case KnifeMode.VeryFast: return("veryfast"); default: throw new ArgumentException("Undefined KnifeMode " + knifeMode, "knifeMode"); } }
public virtual bool PreChangeKnifeMode(ILocalGame game, KnifeMode knifeMode) { return(true); }
public virtual void PostKnifeModeChnaged(ILocalGame game, KnifeMode knifeMode) { }
public override bool PreChangeKnifeMode(ILocalGame game, KnifeMode knifeMode) { m_writer.WriteChangeMode(game.time, knifeMode); return(base.PreChangeKnifeMode(game, knifeMode)); }
public void SendFightCreated(string enemyName, string enemyKnifeName, KnifeMode enemyKnifeMode) { _fight.SetOneKnifeReady(_knifeIndex); }
public Entry(IControllersFactory controllersFactory, string knifeName, KnifeMode knifeMode) { this.controllersFactory = controllersFactory ?? throw new ArgumentNullException(nameof(controllersFactory)); this.knifeName = knifeName ?? throw new ArgumentNullException(nameof(knifeName)); this.knifeMode = knifeMode; }
public void GoToFightQueue(string knifeName, KnifeMode knifeMode) { FightQueueMessage fightQueueMessage = new FightQueueMessage(knifeName, knifeMode); _client.Messenger.SendMessage(fightQueueMessage); }
public KnifeInfo(string knifeName, KnifeMode knifeMode) { this.knifeName = knifeName ?? throw new ArgumentNullException(nameof(knifeName)); this.knifeMode = knifeMode; }
public EnemyDef(string enemyUserName, string enemyKnifeName, KnifeMode enemyKnifeMode) { EnemyUserName = enemyUserName ?? throw new ArgumentNullException(nameof(enemyUserName)); EnemyKnifeName = enemyKnifeName ?? throw new ArgumentNullException(nameof(enemyKnifeName)); EnemyKnifeMode = enemyKnifeMode; }