Example #1
0
        public Standing(Entity.User user, Entity.Contest contest)
        {
            UserID  = user.ID;
            Details = new List <StandingCol>();
            var problems = contest.Problems.OrderBy(x => x.Credit);

            foreach (var problem in problems)
            {
                Details.Add(new StandingCol(user, problem));
            }
            Key1     = Details.Sum(x => x.Key1);
            Key2     = Details.Sum(x => x.Key2);
            Key3     = Details.Sum(x => x.Key3);
            Gravatar = Helpers.Gravatar.GetAvatarURL(user.Gravatar, 180);
            Nickname = Helpers.ColorName.GetNicknameHtml(user.Nickname, user.Ratings.Sum(x => x.Credit) + 1500);
            UserID   = user.ID;
            Display1 = Key1.ToString();
            switch (contest.Format)
            {
            case Entity.ContestFormat.OI:
                Display2 = Key2 + " ms";
                break;

            case Entity.ContestFormat.OPJOI:
                Display2 = Key2.ToString();
                break;

            case Entity.ContestFormat.ACM:
                Display2 = new TimeSpan(0, 0, Key2).ToString("c");
                break;

            case Entity.ContestFormat.Codeforces:
            case Entity.ContestFormat.TopCoder:
                if (Key2 == 0 && Key3 == 0)
                {
                    Display2 = "";
                }
                else if (Key2 != 0 && Key3 == 0)
                {
                    Display2 = "+" + Key2;
                }
                else if (Key2 == 0 && Key3 != 0)
                {
                    Display2 = "-" + Key3;
                }
                else
                {
                    Display2 = "+" + Key2 + " : -" + Key3;
                }
                Key1    += Key2 * 100;
                Key1    -= Key3 * 50;
                Display1 = Key1.ToString();
                break;
            }
        }
Example #2
0
        public override bool Equals(object obj)
        {
            KeyPair <TKey1, TKey2> o = obj as KeyPair <TKey1, TKey2>;

            if (o == null)
            {
                return(false);
            }

            return(Key1.Equals(o.Key1) && Key2.Equals(o.Key2));
        }
Example #3
0
            public override bool Equals(object obj)
            {
                if (obj is CompoundKey)
                {
                    var compositeKey = (CompoundKey)obj;

                    return(Key1.Equals(compositeKey.Key1) && Key2.Equals(compositeKey.Key2));
                }

                return(false);
            }
Example #4
0
        public vStanding(User user, Contest contest)
        {
            UserID  = user.ID;
            Details = new List <vStandingCol>();
            var problems = contest.ContestProblems.OrderBy(x => x.Point);

            foreach (var problem in problems)
            {
                Details.Add(new vStandingCol(user, problem.Problem, contest, problem.Point));
            }
            Key1     = Details.Sum(x => x.Key1);
            Key2     = Details.Sum(x => x.Key2);
            Key3     = Details.Sum(x => x.Key3);
            Gravatar = "/Avatar/" + user.ID;
            Nickname = Helpers.ColorName.GetNicknameHtml(user.Username, user.Role);
            UserID   = user.ID;
            Display1 = Key1.ToString();
            switch (contest.Format)
            {
            case ContestFormat.OI:
                Display2 = Key2 + " ms";
                break;

            //case ContestFormat.OPJOI:
            //    Display2 = Key2.ToString();
            //    break;
            case ContestFormat.ACM:
                Display2 = new TimeSpan(0, 0, Key2).ToString("c");
                break;

            case ContestFormat.Codeforces:
                //case ContestFormat.TopCoder:
                if (Key2 == 0 && Key3 == 0)
                {
                    Display2 = "";
                }
                else if (Key2 != 0 && Key3 == 0)
                {
                    Display2 = "+" + Key2;
                }
                else if (Key2 == 0 && Key3 != 0)
                {
                    Display2 = "-" + Key3;
                }
                else
                {
                    Display2 = "+" + Key2 + " : -" + Key3;
                }
                Key1    += Key2 * 100;
                Key1    -= Key3 * 50;
                Display1 = Key1.ToString();
                break;
            }
        }
 /// <summary>
 /// Gets a string representing the key or keys such as R or R & T. Modifiers are not included
 /// </summary>
 /// <returns>
 /// String, if <see cref="HotkeyKeys.IsCombine"/> Or <see cref="HotkeyKeys.IsMainModKey"/> is true then
 /// a combined format such as R & T; Otherwise, a single format such as T
 /// </returns>
 public string ToReeadableKeys()
 {
     if (this.IsCombine == true || this.IsMultiKey == true)
     {
         return(string.Format("{0} {1} {2}", Key1.ToString(), Properties.Resources.KeysCombine, Key2.ToString()));
     }
     else
     {
         return(Key1.ToString());
     }
 }
Example #6
0
 void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
     }
     else
     {
         Debug.Log("Warning: multiple " + this + " in scene!");
     }
 }
Example #7
0
        public YAMLNode ExportYAML(IExportContainer container)
        {
            YAMLMappingNode node   = new YAMLMappingNode();
            GradientLayout  layout = container.ExportLayout.Serialized.Gradient;

            node.AddSerializedVersion(layout.Version);
            if (layout.Version == 1)
            {
                node.Add(layout.Key0Name, Key0_32.ExportYAML(container));
                node.Add(layout.Key1Name, Key1_32.ExportYAML(container));
                node.Add(layout.Key2Name, Key2_32.ExportYAML(container));
                node.Add(layout.Key3Name, Key3_32.ExportYAML(container));
                node.Add(layout.Key4Name, Key4_32.ExportYAML(container));
                node.Add(layout.Key5Name, Key5_32.ExportYAML(container));
                node.Add(layout.Key6Name, Key6_32.ExportYAML(container));
                node.Add(layout.Key7Name, Key7_32.ExportYAML(container));
            }
            else
            {
                node.Add(layout.Key0Name, Key0.ExportYAML(container));
                node.Add(layout.Key1Name, Key1.ExportYAML(container));
                node.Add(layout.Key2Name, Key2.ExportYAML(container));
                node.Add(layout.Key3Name, Key3.ExportYAML(container));
                node.Add(layout.Key4Name, Key4.ExportYAML(container));
                node.Add(layout.Key5Name, Key5.ExportYAML(container));
                node.Add(layout.Key6Name, Key6.ExportYAML(container));
                node.Add(layout.Key7Name, Key7.ExportYAML(container));
            }

            node.Add(layout.Ctime0Name, Ctime0);
            node.Add(layout.Ctime1Name, Ctime1);
            node.Add(layout.Ctime2Name, Ctime2);
            node.Add(layout.Ctime3Name, Ctime3);
            node.Add(layout.Ctime4Name, Ctime4);
            node.Add(layout.Ctime5Name, Ctime5);
            node.Add(layout.Ctime6Name, Ctime6);
            node.Add(layout.Ctime7Name, Ctime7);
            node.Add(layout.Atime0Name, Atime0);
            node.Add(layout.Atime1Name, Atime1);
            node.Add(layout.Atime2Name, Atime2);
            node.Add(layout.Atime3Name, Atime3);
            node.Add(layout.Atime4Name, Atime4);
            node.Add(layout.Atime5Name, Atime5);
            node.Add(layout.Atime6Name, Atime6);
            node.Add(layout.Atime7Name, Atime7);
            if (layout.HasMode)
            {
                node.Add(layout.ModeName, (int)Mode);
            }

            node.Add(layout.NumColorKeysName, NumColorKeys);
            node.Add(layout.NumAlphaKeysName, NumAlphaKeys);
            return(node);
        }
Example #8
0
        public void Write(AssetWriter writer)
        {
            GradientLayout layout = writer.Layout.Serialized.Gradient;

            if (layout.Version == 1)
            {
                Key0_32.Write(writer);
                Key1_32.Write(writer);
                Key2_32.Write(writer);
                Key3_32.Write(writer);
                Key4_32.Write(writer);
                Key5_32.Write(writer);
                Key6_32.Write(writer);
                Key7_32.Write(writer);
            }
            else
            {
                Key0.Write(writer);
                Key1.Write(writer);
                Key2.Write(writer);
                Key3.Write(writer);
                Key4.Write(writer);
                Key5.Write(writer);
                Key6.Write(writer);
                Key7.Write(writer);
            }

            writer.Write(Ctime0);
            writer.Write(Ctime1);
            writer.Write(Ctime2);
            writer.Write(Ctime3);
            writer.Write(Ctime4);
            writer.Write(Ctime5);
            writer.Write(Ctime6);
            writer.Write(Ctime7);
            writer.Write(Atime0);
            writer.Write(Atime1);
            writer.Write(Atime2);
            writer.Write(Atime3);
            writer.Write(Atime4);
            writer.Write(Atime5);
            writer.Write(Atime6);
            writer.Write(Atime7);
            if (layout.HasMode)
            {
                writer.Write((int)Mode);
            }

            writer.Write(NumColorKeys);
            writer.Write(NumAlphaKeys);
            writer.AlignStream();
        }
Example #9
0
        public YAMLNode ExportYAML(IExportContainer container)
        {
            YAMLMappingNode node = new YAMLMappingNode();

            node.AddSerializedVersion(ToSerializedVersion(container.ExportVersion));
            if (IsColor32(container.ExportVersion))
            {
                node.Add(Key0Name, ((ColorRGBA32)Key0).ExportYAML(container));
                node.Add(Key1Name, ((ColorRGBA32)Key1).ExportYAML(container));
                node.Add(Key2Name, ((ColorRGBA32)Key2).ExportYAML(container));
                node.Add(Key3Name, ((ColorRGBA32)Key3).ExportYAML(container));
                node.Add(Key4Name, ((ColorRGBA32)Key4).ExportYAML(container));
                node.Add(Key5Name, ((ColorRGBA32)Key5).ExportYAML(container));
                node.Add(Key6Name, ((ColorRGBA32)Key6).ExportYAML(container));
                node.Add(Key7Name, ((ColorRGBA32)Key7).ExportYAML(container));
            }
            else
            {
                node.Add(Key0Name, Key0.ExportYAML(container));
                node.Add(Key1Name, Key1.ExportYAML(container));
                node.Add(Key2Name, Key2.ExportYAML(container));
                node.Add(Key3Name, Key3.ExportYAML(container));
                node.Add(Key4Name, Key4.ExportYAML(container));
                node.Add(Key5Name, Key5.ExportYAML(container));
                node.Add(Key6Name, Key6.ExportYAML(container));
                node.Add(Key7Name, Key7.ExportYAML(container));
            }
            node.Add(Ctime0Name, Ctime0);
            node.Add(Ctime1Name, Ctime1);
            node.Add(Ctime2Name, Ctime2);
            node.Add(Ctime3Name, Ctime3);
            node.Add(Ctime4Name, Ctime4);
            node.Add(Ctime5Name, Ctime5);
            node.Add(Ctime6Name, Ctime6);
            node.Add(Ctime7Name, Ctime7);
            node.Add(Atime0Name, Atime0);
            node.Add(Atime1Name, Atime1);
            node.Add(Atime2Name, Atime2);
            node.Add(Atime3Name, Atime3);
            node.Add(Atime4Name, Atime4);
            node.Add(Atime5Name, Atime5);
            node.Add(Atime6Name, Atime6);
            node.Add(Atime7Name, Atime7);
            if (HasMode(container.ExportVersion))
            {
                node.Add(ModeName, (int)Mode);
            }

            node.Add(NumColorKeysName, NumColorKeys);
            node.Add(NumAlphaKeysName, NumAlphaKeys);
            return(node);
        }
Example #10
0
        public void Read(AssetReader reader)
        {
            GradientLayout layout = reader.Layout.Serialized.Gradient;

            if (layout.Version == 1)
            {
                Key0_32 = reader.ReadAsset <ColorRGBA32>();
                Key1_32 = reader.ReadAsset <ColorRGBA32>();
                Key2_32 = reader.ReadAsset <ColorRGBA32>();
                Key3_32 = reader.ReadAsset <ColorRGBA32>();
                Key4_32 = reader.ReadAsset <ColorRGBA32>();
                Key5_32 = reader.ReadAsset <ColorRGBA32>();
                Key6_32 = reader.ReadAsset <ColorRGBA32>();
                Key7_32 = reader.ReadAsset <ColorRGBA32>();
            }
            else
            {
                Key0.Read(reader);
                Key1.Read(reader);
                Key2.Read(reader);
                Key3.Read(reader);
                Key4.Read(reader);
                Key5.Read(reader);
                Key6.Read(reader);
                Key7.Read(reader);
            }

            Ctime0 = reader.ReadUInt16();
            Ctime1 = reader.ReadUInt16();
            Ctime2 = reader.ReadUInt16();
            Ctime3 = reader.ReadUInt16();
            Ctime4 = reader.ReadUInt16();
            Ctime5 = reader.ReadUInt16();
            Ctime6 = reader.ReadUInt16();
            Ctime7 = reader.ReadUInt16();
            Atime0 = reader.ReadUInt16();
            Atime1 = reader.ReadUInt16();
            Atime2 = reader.ReadUInt16();
            Atime3 = reader.ReadUInt16();
            Atime4 = reader.ReadUInt16();
            Atime5 = reader.ReadUInt16();
            Atime6 = reader.ReadUInt16();
            Atime7 = reader.ReadUInt16();
            if (layout.HasMode)
            {
                Mode = (GradientMode)reader.ReadInt32();
            }

            NumColorKeys = reader.ReadByte();
            NumAlphaKeys = reader.ReadByte();
            reader.AlignStream();
        }
Example #11
0
        //https://www.loganfranken.com/blog/687/overriding-equals-in-c-part-1/
        public override int GetHashCode()
        {
            unchecked
            {
                const int hashingBase       = (int)2166136261;
                const int hashingMultiplier = 16777619;

                int hash = hashingBase;
                hash = (hash * hashingMultiplier) ^ Key1.GetHashCode();
                hash = (hash * hashingMultiplier) ^ Key2.GetHashCode();
                return(hash);
            }
        }
Example #12
0
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = (Name != null ? Name.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (Key1 != null ? Key1.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (Key2 != null ? Key2.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ HasShiftModifier.GetHashCode();
         hashCode = (hashCode * 397) ^ HasCtrlModifier.GetHashCode();
         hashCode = (hashCode * 397) ^ HasAltModifier.GetHashCode();
         hashCode = (hashCode * 397) ^ IsEnabled.GetHashCode();
         return(hashCode);
     }
 }
Example #13
0
        public void Write(AssetWriter writer)
        {
            if (IsColor32(writer.Version))
            {
                Key0.Write32(writer);
                Key1.Write32(writer);
                Key2.Write32(writer);
                Key3.Write32(writer);
                Key4.Write32(writer);
                Key5.Write32(writer);
                Key6.Write32(writer);
                Key7.Write32(writer);
            }
            else
            {
                Key0.Write(writer);
                Key1.Write(writer);
                Key2.Write(writer);
                Key3.Write(writer);
                Key4.Write(writer);
                Key5.Write(writer);
                Key6.Write(writer);
                Key7.Write(writer);
            }

            writer.Write(Ctime0);
            writer.Write(Ctime1);
            writer.Write(Ctime2);
            writer.Write(Ctime3);
            writer.Write(Ctime4);
            writer.Write(Ctime5);
            writer.Write(Ctime6);
            writer.Write(Ctime7);
            writer.Write(Atime0);
            writer.Write(Atime1);
            writer.Write(Atime2);
            writer.Write(Atime3);
            writer.Write(Atime4);
            writer.Write(Atime5);
            writer.Write(Atime6);
            writer.Write(Atime7);
            if (HasMode(writer.Version))
            {
                writer.Write((int)Mode);
            }

            writer.Write(NumColorKeys);
            writer.Write(NumAlphaKeys);
            writer.AlignStream();
        }
Example #14
0
        public void Read(AssetReader reader)
        {
            if (IsColor32(reader.Version))
            {
                Key0.Read32(reader);
                Key1.Read32(reader);
                Key2.Read32(reader);
                Key3.Read32(reader);
                Key4.Read32(reader);
                Key5.Read32(reader);
                Key6.Read32(reader);
                Key7.Read32(reader);
            }
            else
            {
                Key0.Read(reader);
                Key1.Read(reader);
                Key2.Read(reader);
                Key3.Read(reader);
                Key4.Read(reader);
                Key5.Read(reader);
                Key6.Read(reader);
                Key7.Read(reader);
            }

            Ctime0 = reader.ReadUInt16();
            Ctime1 = reader.ReadUInt16();
            Ctime2 = reader.ReadUInt16();
            Ctime3 = reader.ReadUInt16();
            Ctime4 = reader.ReadUInt16();
            Ctime5 = reader.ReadUInt16();
            Ctime6 = reader.ReadUInt16();
            Ctime7 = reader.ReadUInt16();
            Atime0 = reader.ReadUInt16();
            Atime1 = reader.ReadUInt16();
            Atime2 = reader.ReadUInt16();
            Atime3 = reader.ReadUInt16();
            Atime4 = reader.ReadUInt16();
            Atime5 = reader.ReadUInt16();
            Atime6 = reader.ReadUInt16();
            Atime7 = reader.ReadUInt16();
            if (HasMode(reader.Version))
            {
                Mode = (GradientMode)reader.ReadInt32();
            }

            NumColorKeys = reader.ReadByte();
            NumAlphaKeys = reader.ReadByte();
            reader.AlignStream();
        }
Example #15
0
 public void Read(AssetStream stream)
 {
     if (IsColor32(stream.Version))
     {
         Key32_0.Read(stream);
         Key32_1.Read(stream);
         Key32_2.Read(stream);
         Key32_3.Read(stream);
         Key32_4.Read(stream);
         Key32_5.Read(stream);
         Key32_6.Read(stream);
         Key32_7.Read(stream);
     }
     else
     {
         Key0.Read(stream);
         Key1.Read(stream);
         Key2.Read(stream);
         Key3.Read(stream);
         Key4.Read(stream);
         Key5.Read(stream);
         Key6.Read(stream);
         Key7.Read(stream);
     }
     Ctime0 = stream.ReadUInt16();
     Ctime1 = stream.ReadUInt16();
     Ctime2 = stream.ReadUInt16();
     Ctime3 = stream.ReadUInt16();
     Ctime4 = stream.ReadUInt16();
     Ctime5 = stream.ReadUInt16();
     Ctime6 = stream.ReadUInt16();
     Ctime7 = stream.ReadUInt16();
     Atime0 = stream.ReadUInt16();
     Atime1 = stream.ReadUInt16();
     Atime2 = stream.ReadUInt16();
     Atime3 = stream.ReadUInt16();
     Atime4 = stream.ReadUInt16();
     Atime5 = stream.ReadUInt16();
     Atime6 = stream.ReadUInt16();
     Atime7 = stream.ReadUInt16();
     if (IsReadMode(stream.Version))
     {
         Mode = stream.ReadInt32();
     }
     NumColorKeys = stream.ReadByte();
     NumAlphaKeys = stream.ReadByte();
     stream.AlignStream(AlignType.Align4);
 }
 /// <summary>
 /// オブジェクトが等しいかどうか調べます。
 /// </summary>
 /// <param name="o">
 /// 比較対象のオブジェクトです。
 /// </param>
 /// <returns>
 /// オブジェクトが等しければtrue、そうではないのならfalseです。
 /// </returns>
 public bool Equals(CompositeKey <KEY1_T, KEY2_T> o)
 {
     if (o == null || GetType() != o.GetType())
     {
         return(false);
     }
     if (!Key1.Equals(o.Key1))
     {
         return(false);
     }
     if (!Key2.Equals(o.Key2))
     {
         return(false);
     }
     return(true);
 }
Example #17
0
 public override int GetHashCode()
 {
     if (Key1 == null && Key2 == null)
     {
         return(0);
     }
     if (Key1 == null)
     {
         return(Key2.GetHashCode());
     }
     if (Key2 == null)
     {
         return(Key1.GetHashCode());
     }
     return(Key1.GetHashCode() * Key2.GetHashCode());
 }
Example #18
0
        public override string ToString()
        {
            var s = new System.Text.StringBuilder("");

            s.Append('[');
            if (Key1 != null)
            {
                s.Append(Key1.ToString());
            }
            s.Append(", ");
            if (Key2 != null)
            {
                s.Append(Key2.ToString());
            }
            s.Append(']');
            return(s.ToString());
        }
                public override bool Equals(object obj)
                {
                    if (obj == null)
                    {
                        return(false);
                    }
                    if (ReferenceEquals(this, obj))
                    {
                        return(true);
                    }
                    if (obj.GetType() != typeof(CompositeKey <TW, TX>))
                    {
                        return(false);
                    }
                    var other = (CompositeKey <TW, TX>)obj;

                    return(Key1.Equals(other.Key1) && Key2.Equals(other.Key2));
                }
        /// <summary>
        /// オブジェクトの大小を比較します。
        /// </summary>
        /// <param name="o">
        /// 比較対象のオブジェクトです。
        /// </param>
        /// <returns>
        /// このオブジェクトがoより大きいならば正の値、oと等しいならば0、oより小さいならば負の値を返します。
        /// </returns>
        public int CompareTo(ComparableCompositeKey <KEY1_T, KEY2_T, KEY3_T, KEY4_T, KEY5_T, KEY6_T, KEY7_T> o)
        {
            if (o == null)
            {
                return(1);
            }
            if (GetType() != o.GetType())
            {
                throw (new ArgumentException());
            }
            int c;

            if ((c = Key1.CompareTo(o.Key1)) != 0)
            {
                return(c);
            }
            if ((c = Key2.CompareTo(o.Key2)) != 0)
            {
                return(c);
            }
            if ((c = Key3.CompareTo(o.Key3)) != 0)
            {
                return(c);
            }
            if ((c = Key4.CompareTo(o.Key4)) != 0)
            {
                return(c);
            }
            if ((c = Key5.CompareTo(o.Key5)) != 0)
            {
                return(c);
            }
            if ((c = Key6.CompareTo(o.Key6)) != 0)
            {
                return(c);
            }
            if ((c = Key7.CompareTo(o.Key7)) != 0)
            {
                return(c);
            }
            return(0);
        }
        /// <summary>
        /// オブジェクトの大小を比較します。
        /// </summary>
        /// <param name="o">
        /// 比較対象のオブジェクトです。
        /// </param>
        /// <returns>
        /// このオブジェクトがoより大きいならば正の値、oと等しいならば0、oより小さいならば負の値を返します。
        /// </returns>
        public int CompareTo(ComparableCompositeKey <KEY1_T, KEY2_T> o)
        {
            if (o == null)
            {
                return(1);
            }
            if (GetType() != o.GetType())
            {
                throw (new ArgumentException());
            }
            int c;

            if ((c = Key1.CompareTo(o.Key1)) != 0)
            {
                return(c);
            }
            if ((c = Key2.CompareTo(o.Key2)) != 0)
            {
                return(c);
            }
            return(0);
        }
Example #22
0
 /// <summary>
 /// オブジェクトが等しいかどうか調べます。
 /// </summary>
 /// <param name="o">
 /// 比較対象のオブジェクトです。
 /// </param>
 /// <returns>
 /// オブジェクトが等しければtrue、そうではないのならfalseです。
 /// </returns>
 public bool Equals(CompositeKey <KEY1_T, KEY2_T, KEY3_T, KEY4_T, KEY5_T, KEY6_T, KEY7_T> o)
 {
     if (o == null || GetType() != o.GetType())
     {
         return(false);
     }
     if (!Key1.Equals(o.Key1))
     {
         return(false);
     }
     if (!Key2.Equals(o.Key2))
     {
         return(false);
     }
     if (!Key3.Equals(o.Key3))
     {
         return(false);
     }
     if (!Key4.Equals(o.Key4))
     {
         return(false);
     }
     if (!Key5.Equals(o.Key5))
     {
         return(false);
     }
     if (!Key6.Equals(o.Key6))
     {
         return(false);
     }
     if (!Key7.Equals(o.Key7))
     {
         return(false);
     }
     return(true);
 }
Example #23
0
    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            if (!gameMenuOn)
            {
                gameMenu.SetActive(true);
                Cursor.lockState = CursorLockMode.None;
                Cursor.visible   = true;
                gameMenuOn       = true;
            }
            else
            {
                gameMenu.SetActive(false);
                Cursor.lockState = CursorLockMode.Locked;
                Cursor.visible   = false;
                gameMenuOn       = false;
            }
        }


        if (player.Health <= 0f)
        {
            player.playerDied();
            Cursor.visible   = true;
            Cursor.lockState = CursorLockMode.None;
        }

        if (Input.GetKeyDown(KeyCode.E))
        {
            int x = Screen.width / 2;
            int y = Screen.height / 2;

            Ray        ray = fpsCamera.GetComponent <Camera>().ScreenPointToRay(new Vector3(x, y));
            RaycastHit hit;
            if (Physics.Raycast(ray, out hit))
            {
                Key1 objectKey = hit.collider.GetComponent <Key1>();
                if (objectKey != null)
                {
                    player.SetKey1Active();
                    beep.Play(0);
                }
                Key2 objectKey2 = hit.collider.GetComponent <Key2>();
                if (objectKey2 != null)
                {
                    player.SetKey2Active();
                    beep.Play(0);
                }
            }
        }

        counter = 0;
        for (int i = 0; i < enemies.Count; i++)
        {
            float distance = Vector3.Distance(enemies[i].transform.position, player.transform.position);

            if (distance < damageDistance && player.Health >= 0f)
            {
                damageVisual.SetActive(true);
                player.Health -= damage * Time.deltaTime;
                counter++;
            }
            else if (counter == 0) // Sets visual to false if no ghosts near
            {
                damageVisual.SetActive(false);
            }
        }
    }
        /// <summary>
        /// Gets a string representing the Hotkey in Human Readable format such as Alt + Ctrl + G
        /// </summary>
        /// <returns>
        /// String representing the Hotkey in a human readable format.
        /// </returns>
        /// <remarks>
        /// The return value will represent the Hotkey after internal rules are applied. Some of the properties
        /// of the instance may be ignored if the break AutoHotkey hotkey rules. See the various properties in
        /// <see cref="AhkHotkeys"/> for more information. Also you may want to review AutoHotkey Documentation.
        /// The Internal rules are the same for the <see cref="ToString"/> method. This ensures that both methods
        /// represent the same values.
        /// </remarks>
        public string ToReadableString()
        {
            if (Key1 == HotkeysEnum.None)
            {
                return(string.Empty);
            }
            StringBuilder sb = new StringBuilder();

            if (this.InstallHook == true)
            {
                sb.Append(Properties.Resources.KeysHook);
                sb.Append(" + ");
            }
            if (this.NativeBlock == true)
            {
                sb.Append(Properties.Resources.KeysNativeBlock);
                sb.Append(" + ");
            }
            if (Key1 == HotkeysEnum.CtrlBreak)
            {
                // CtrlBreak is a special case and is not to be combined with any other keys
                // other than InstallHook and NativeBlock
                // IsCombine and IsMultikey takes care of Hey2 being CtrlBreak so no other action
                // is required in this method
                sb.Append(Key1.ToString());
                return(sb.ToString());
            }
            if (this.WildCard == true)
            {
                sb.Append(Properties.Resources.KeysWildcard);
                sb.Append(" + ");
            }
            if (this.Right == true && this.IsMainModKey == true)
            {
                sb.Append(Properties.Resources.KeyRight);
                sb.Append(" + ");
            }
            if (this.Right == false && this.Left == true && this.IsMainModKey == true)
            {
                sb.Append(Properties.Resources.KeyLeft);
                sb.Append(" + ");
            }
            if (this.Ctrl == true)
            {
                sb.Append(Properties.Resources.KeyCtrl);
                sb.Append(" + ");
            }
            if (this.Alt == true)
            {
                sb.Append(Properties.Resources.KeyAlt);
                sb.Append(" + ");
            }
            if (this.Shift == true)
            {
                sb.Append(Properties.Resources.KeyShift);
                sb.Append(" + ");
            }
            if (this.Win == true)
            {
                sb.Append(Properties.Resources.KeyWin);
                sb.Append(" + ");
            }
            //sb.Length -= 3; // remove the last +

            sb.Append(Key1.ToString());
            if (this.IsCombine == true || this.IsMultiKey == true)
            {
                sb.Append(' ');
                sb.Append(Properties.Resources.KeysCombine);
                sb.Append(' ');
                sb.Append(Key2.ToString());
            }
            if (this.UP == true)
            {
                sb.Append(' ');
                sb.Append(Properties.Resources.KeyUP);
            }
            return(sb.ToString());
        }
 public override string ToString()
 {
     return(Key1.ToString() + " - " + Key2.ToString() + " - " + Value.ToString());
 }
Example #26
0
 public override int GetHashCode()
 {
     return(Key1.GetHashCode() ^ Key2.GetHashCode());
 }
 public bool Equals(ComplexKey other)
 {
     return(Key1.Equals(other.Key1) && Key2.Equals(other.Key2));
 }
Example #28
0
 public Key3(Key1 key1, Key2 key2)
 {
     firstKey  = key1;
     secondKey = key2;
 }
Example #29
0
 public override string ToString()
 {
     return(Key1.ToString() + ", " + Key2.ToString());
 }
Example #30
0
 /// <summary>
 /// オブジェクトのハッシュ値を計算します。
 /// </summary>
 /// <returns>
 /// 計算されたハッシュ値です。
 /// </returns>
 public override int GetHashCode()
 {
     return(Key1.GetHashCode() ^ Key2.GetHashCode() ^ Key3.GetHashCode() ^ Key4.GetHashCode() ^ Key5.GetHashCode() ^ Key6.GetHashCode() ^ Key7.GetHashCode());
 }