Size: a a a

Unity Floodилка

2020 August 01

H

Hary Gary in Unity Floodилка
Спосите помогите
источник

H

Hary Gary in Unity Floodилка
Уже больше часа гребусь с мелочью
источник

VK

Vadim Karpievich in Unity Floodилка
Леха (Felix)
using System;
using System.Collections.Generic;
using System.Threading;

namespace InheritanceBuilder
{
   public class Person
   {
       public string Name;

       public string Position;

       public DateTime DateOfBirth;
   
       public class Builder : PersonBirthDateBuilder<Builder>
       {
           internal Builder() {}
       }
   
       public static Builder New => new Builder();

       public override string ToString()
       {
           return $"{nameof(Name)}: {Name}, {nameof(Position)}: {Position}";
       }
   }

   public abstract class PersonBuilder
   {
       protected Person person = new Person();

       public Person Build()
       {
           return person;
       }
   }

   public class PersonInfoBuilder<SELF> : PersonBuilder
       where SELF : PersonInfoBuilder<SELF>
   {
       public SELF Called(string name)
       {
           person.Name = name;
           return (SELF) this;
       }
   }

   public class PersonJobBuilder<SELF> : PersonInfoBuilder</*PersonJobBuilder<SELF>*/SELF>
       where SELF : PersonJobBuilder<SELF>
   {
       public SELF WorksAsA(string position)
       {
           person.Position = position;
           return (SELF) this;
       }
   }

   // here's another inheritance level
   // note there's no PersonInfoBuilder<PersonJobBuilder<PersonBirthDateBuilder<SELF>>>!

   public class PersonBirthDateBuilder<SELF> : PersonJobBuilder<SELF>
       where SELF : PersonBirthDateBuilder<SELF>
   {
       public SELF Born(DateTime dateOfBirth)
       {
           person.DateOfBirth = dateOfBirth;
           return (SELF)this;
       }
   }

   internal class Program
   {

       public static void Main(string[] args)
       {
           var me = Person.New
               .WorksAsA("Quant")
               .Called("Dmitri")
               .Born(DateTime.UtcNow)
               .Build();
           Console.WriteLine(me);
     
     
       }
   }
}
понятней не стало(
вот бы комменты к строчке)
источник

Л(

Леха (Felix) in Unity Floodилка
Hary Gary
Уже больше часа гребусь с мелочью
Шо там?
источник

H

Hary Gary in Unity Floodилка
Нужно сделать что бы объект плавно появлялся слева на право, только в шейдер графе
источник

Л(

Леха (Felix) in Unity Floodилка
А, это не ко мне) Я в шейдерах 0
источник

H

Hary Gary in Unity Floodилка
Сложна
источник

Л(

Леха (Felix) in Unity Floodилка
А функциональный билдер ещё веселее, тут вообще через linq.Aggregate сделано
источник

Л(

Леха (Felix) in Unity Floodилка
using System;
using System.Collections.Generic;
using System.Linq;

namespace DotNetDesignPatternDemos.Creational.Builder
{
   public class Person
   {
       public string Name, Position;
   }

   public abstract class FunctionalBuilder<TSubject, TSelf>
       where TSelf : FunctionalBuilder<TSubject, TSelf>
       where TSubject : new()
   {
       private readonly List<Func<TSubject, TSubject>> actions
           = new List<Func<TSubject, TSubject>>();

       public TSelf Do(Action<TSubject> action)
       {
           return AddAction(action);
       }

       private TSelf AddAction(Action<TSubject> action)
       {
           actions.Add(p =>
           {
               action(p);
               return p;
           });
           return (TSelf) this;
       }

       public TSubject Build()
       {
           return actions.Aggregate(new TSubject(), (p, f) => f(p));
       }
   }

   public sealed class PersonBuilder : FunctionalBuilder<Person, PersonBuilder>
   {
       public PersonBuilder Called(string name)
       {
           return Do(p => p.Name = name);
       }
   }

   public static class PersonBuilderExtensions
   {
       public static PersonBuilder WorksAsA(this PersonBuilder builder, string position)
       {
           builder.Do(p => p.Position = position);
           return builder;
       }
   }

   public static class Program
   {
       public static void Main(string[] args)
       {
           var b = new PersonBuilder();
           var p = b.Called("Dmitri")
               .WorksAsA("Developer")
               .Build();
       }
   }
}
источник

VK

Vadim Karpievich in Unity Floodилка
Hary Gary
Нужно сделать что бы объект плавно появлялся слева на право, только в шейдер графе
источник

VK

Vadim Karpievich in Unity Floodилка
вместо ноды time проперти пилишь свое
источник

VK

Vadim Karpievich in Unity Floodилка
не благодари)
источник

H

Hary Gary in Unity Floodилка
Переслано от Hary Gary
источник

H

Hary Gary in Unity Floodилка
Вот шо вышло
источник

H

Hary Gary in Unity Floodилка
Кайф
источник

H

Hary Gary in Unity Floodилка
Прикольно
источник

VK

Vadim Karpievich in Unity Floodилка
источник

G

Graf in Unity Floodилка
Леха (Felix)
using System;
using System.Collections.Generic;
using System.Linq;

namespace DotNetDesignPatternDemos.Creational.Builder
{
   public class Person
   {
       public string Name, Position;
   }

   public abstract class FunctionalBuilder<TSubject, TSelf>
       where TSelf : FunctionalBuilder<TSubject, TSelf>
       where TSubject : new()
   {
       private readonly List<Func<TSubject, TSubject>> actions
           = new List<Func<TSubject, TSubject>>();

       public TSelf Do(Action<TSubject> action)
       {
           return AddAction(action);
       }

       private TSelf AddAction(Action<TSubject> action)
       {
           actions.Add(p =>
           {
               action(p);
               return p;
           });
           return (TSelf) this;
       }

       public TSubject Build()
       {
           return actions.Aggregate(new TSubject(), (p, f) => f(p));
       }
   }

   public sealed class PersonBuilder : FunctionalBuilder<Person, PersonBuilder>
   {
       public PersonBuilder Called(string name)
       {
           return Do(p => p.Name = name);
       }
   }

   public static class PersonBuilderExtensions
   {
       public static PersonBuilder WorksAsA(this PersonBuilder builder, string position)
       {
           builder.Do(p => p.Position = position);
           return builder;
       }
   }

   public static class Program
   {
       public static void Main(string[] args)
       {
           var b = new PersonBuilder();
           var p = b.Called("Dmitri")
               .WorksAsA("Developer")
               .Build();
       }
   }
}
Зачем ты сюда эти простыни кидаешь
источник

A

Art in Unity Floodилка
Graf
Зачем ты сюда эти простыни кидаешь
пастбин вырубили)
источник

SP

Shura Proger in Unity Floodилка
Хде мой Fucking slave
источник