Exemple #1
0
 public virtual void InteractWith(InteractiveStatus s, PhysicalInteractionEntity i)
 {
 }
        private static void Reaction(InteractiveEntity main, ChemicalElementEntity element, PhysicalInteractionEntity interaction)
        {
            InteractiveStatus status;

            // Calculate reaction :
            // 1. Result between 'current physical state' and 'possible element'
            // For example : Frozen * Fire = Neutral; Water
            status = main.physical * element;

            // Update entity interactive status
            main.physical = status.state;
            main.chemical = status.element;

            // main manage its new status && the interaction with the unknown entity
            main.InteractWith(status, interaction);
        }