some old local changes

This commit is contained in:
i.korystin
2019-08-04 00:45:18 +03:00
parent 70a767cf09
commit 1c1dd5cab6
48 changed files with 1017 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using UnityEngine;
namespace coa4u
{
public abstract class Calcer
{
}
public abstract class Calcer<T> : Calcer
{
public abstract T value {get;}
}
}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1c50d149e0d2dab4bb3a6114abdeb7e8
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@@ -0,0 +1,44 @@
using System;
using System.Collections.Generic;
using UnityEngine;
namespace coa4u
{
public class CalcerDirection : CalcerVector
{
Actor selfActor;
Actor targetActor;
Transform selfTransform;
Transform targetTransform;
public CalcerDirection(Actor self, Actor target)
: base()
{
selfActor = self;
targetActor = target;
}
public CalcerDirection(Transform self, Transform target)
: base()
{
selfTransform = self;
targetTransform = target;
}
public override Vector3 value
{
get
{
if (targetTransform != null)
{
return Quaternion.LookRotation(targetTransform.position - selfTransform.position).eulerAngles;
}
else
{
return Quaternion.LookRotation(targetActor.transformCached.position - selfActor.transformCached.position).eulerAngles;
}
}
}
}
}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0a0a80ede5ea3dc42a372d76d2004cd0
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@@ -0,0 +1,68 @@
using System;
using System.Collections.Generic;
using UnityEngine;
namespace coa4u
{
public class CalcerFloat : Calcer<float>
{
private float internalValue;
public CalcerFloat()
{
}
public CalcerFloat(float value)
{
internalValue = value;
}
public CalcerFloat(int value)
{
internalValue = (float)value;
}
public CalcerFloat(double value)
{
internalValue = (float)value;
}
public override float value
{
get
{
return internalValue;
}
}
public static implicit operator CalcerFloat(float val)
{
return new CalcerFloat(val);
}
public static implicit operator float(CalcerFloat calc)
{
return calc.value;
}
public static CalcerFloat operator +(CalcerFloat first, CalcerFloat second)
{
return new CalcerFloatCalc(first, second, CalcerFloatCalc.Operation.Add);
}
public static CalcerFloat operator -(CalcerFloat first, CalcerFloat second)
{
return new CalcerFloatCalc(first, second, CalcerFloatCalc.Operation.Sub);
}
public static CalcerFloat operator *(CalcerFloat first, CalcerFloat second)
{
return new CalcerFloatCalc(first, second, CalcerFloatCalc.Operation.Mul);
}
public static CalcerFloat operator /(CalcerFloat first, CalcerFloat second)
{
return new CalcerFloatCalc(first, second, CalcerFloatCalc.Operation.Div);
}
}
}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7e93dc2f49487544fa3a9b1468d66779
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@@ -0,0 +1,48 @@
using System;
using System.Collections.Generic;
using UnityEngine;
namespace coa4u
{
public class CalcerFloatCalc : CalcerFloat
{
public enum Operation
{
Add,
Sub,
Mul,
Div
}
private Operation operation;
private CalcerFloat first;
private CalcerFloat second;
public CalcerFloatCalc(CalcerFloat first, CalcerFloat second, Operation operation = Operation.Add)
{
this.first = first;
this.second = second;
this.operation = operation;
}
public float value
{
get
{
switch (operation)
{
case Operation.Add:
return first.value + second.value;
case Operation.Sub:
return first.value - second.value;
case Operation.Mul:
return first.value * second.value;
case Operation.Div:
return first.value / second.value;
default:
throw new Exception("Operation not found.");
}
}
}
}
}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 45cbf8512a210f942a10b844f2000826
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using UnityEngine;
namespace coa4u
{
public class CalcerPosition : CalcerVector
{
Actor targetActor;
Transform targetTransform;
public CalcerPosition(Actor target)
: base()
{
this.targetActor = target;
}
public CalcerPosition(Transform target)
: base()
{
this.targetTransform = target;
}
public override Vector3 value
{
get
{
if (targetTransform != null)
return (Vector3)targetTransform.position;
else
return (Vector3)targetActor.transformCached.position;
}
}
}
}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6f377903d22e64e409c946c5ec777bb9
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@@ -0,0 +1,46 @@
using System;
using System.Collections.Generic;
using UnityEngine;
namespace coa4u
{
public class CalcerRandomDirection : CalcerVector
{
Axises axises;
public CalcerRandomDirection(Axises axises)
{
this.axises = axises;
}
public override Vector3 value
{
get
{
float x = UnityEngine.Random.Range(-360.0F, 360.0F);
float y = UnityEngine.Random.Range(-360.0F, 360.0F);
float z = UnityEngine.Random.Range(-360.0F, 360.0F);
switch (axises)
{
case Axises.x:
return new Vector3(x, 0, 0);
case Axises.y:
return new Vector3(0, y, 0);
case Axises.z:
return new Vector3(0, 0, z);
case Axises.xy:
return new Vector3(x, y, 0);
case Axises.xz:
return new Vector3(x, 0, z);
case Axises.yz:
return new Vector3(0, y, z);
case Axises.xyz:
return new Vector3(x, y, z);
default:
return Vector3.zero;
}
}
}
}
}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5ad17ef81ba6b9944bf5aa283e4be908
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@@ -0,0 +1,70 @@
using System;
using System.Collections.Generic;
using UnityEngine;
namespace coa4u
{
public class CalcerVector : Calcer<Vector3>
{
private Vector3 internalValue;
private int dimensions;
public CalcerVector()
{
}
public CalcerVector(Vector3 value)
{
internalValue = value;
dimensions = 3;
}
public CalcerVector(Vector2 value)
{
internalValue = value;
dimensions = 2;
}
public override Vector3 value
{
get
{
switch (dimensions)
{
case 3:
return (Vector3)internalValue;
case 2:
return (Vector2)internalValue;
default:
return internalValue;
}
}
}
public static implicit operator CalcerVector(Vector3 val)
{
return new CalcerVector(val);
}
public static implicit operator CalcerVector(Vector2 val)
{
return new CalcerVector(val);
}
public static implicit operator Vector3(CalcerVector calc)
{
return calc.value;
}
public static CalcerVector operator +(CalcerVector first, CalcerVector second)
{
return new CalcerVectorCalc(first, second, CalcerVectorCalc.Operation.Add);
}
public static CalcerVector operator -(CalcerVector first, CalcerVector second)
{
return new CalcerVectorCalc(first, second, CalcerVectorCalc.Operation.Sub);
}
}
}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6c04bfd357341874e8be24608bfd976e
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using UnityEngine;
namespace coa4u
{
public class CalcerVectorCalc : CalcerVector
{
public enum Operation
{
Add,
Sub
}
private Operation operation;
private CalcerVector first;
private CalcerVector second;
public CalcerVectorCalc(CalcerVector first, CalcerVector second, Operation operation = Operation.Add)
{
this.first = first;
this.second = second;
this.operation = operation;
}
public override Vector3 value
{
get
{
switch (operation)
{
case Operation.Add:
return first.value + second.value;
case Operation.Sub:
return first.value - second.value;
default:
throw new Exception("Operation not found.");
}
}
}
}
}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 78a730b682beb8d4180d80db8bdc6537
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData: